[all-commits] [llvm/llvm-project] c3acbf: [test] Make two sanitize-coverage tests pass with ...

agozillon via All-commits all-commits at lists.llvm.org
Fri Mar 15 11:26:35 PDT 2024


  Branch: refs/heads/users/agozillon/flangopenmp-derived-type-member-map-fortran-offload-runtime-tests
  Home:   https://github.com/llvm/llvm-project
  Commit: c3acbf6bb06f9039f9850e18e0ae2f2adef63905
      https://github.com/llvm/llvm-project/commit/c3acbf6bb06f9039f9850e18e0ae2f2adef63905
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter_default_impl.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp

  Log Message:
  -----------
  [test] Make two sanitize-coverage tests pass with glibc 2.39+

glibc 2.39 added `nonnull` attribute to most libio functions accepting a
`FILE*` parameter, including fprintf[1]. The -fsanitize=undefined mode
checks the argument to fprintf and has extra counters, not expected by
two tests. Specify -fno-sanitize=nonnull-attribute to make the two tests
pass.

Fix #82883

[1]: https://sourceware.org/git/?p=glibc.git;a=commit;h=64b1a44183a3094672ed304532bedb9acc707554

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


  Commit: 1ed15cd5de69bc9347b0750281f5f711018c6506
      https://github.com/llvm/llvm-project/commit/1ed15cd5de69bc9347b0750281f5f711018c6506
  Author: mmilanifard <m.milanifard at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

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

  Log Message:
  -----------
  Adding missing dependencies to BUILD.bazel (#84235)

Build fix after (#84007).


  Commit: 351a82b8369732dbd95a85ceb499c92f22103c61
      https://github.com/llvm/llvm-project/commit/351a82b8369732dbd95a85ceb499c92f22103c61
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn

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


  Commit: f0eb0c5689b25153067e66647590a8300b997740
      https://github.com/llvm/llvm-project/commit/f0eb0c5689b25153067e66647590a8300b997740
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

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

  Log Message:
  -----------
  Don't require a UUID in a .dwp file. (#83935)

DWP files don't usually have a GNU build ID built into them. When
searching for a .dwp file, don't require a UUID to be in the .dwp file.
The debug info search information was checking for a UUID in the .dwp
file when debug info search paths were being used. This is now fixed by
not specifying the UUID in the ModuleSpec being used for the .dwp file
search.


  Commit: 47bc565ca7990a2de20af4030baf08ac62739aca
      https://github.com/llvm/llvm-project/commit/47bc565ca7990a2de20af4030baf08ac62739aca
  Author: lhunloh <8047408+lhunloh at users.noreply.github.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/test/Interfaces/TilingInterface/lower-to-loops-using-interface.mlir

  Log Message:
  -----------
  [MLIR] [Transforms] Let `transform.structured.convert_to_loops` return handles to loops (#83984)

This lets `transform.structured.convert_to_loops` return handles to the
generated loops, making this transformation more useful to use for
(transformation-)nesting purposes. This is modelled after SCFs
`transform.loop.forall_to_for` which returns handles to loops.

Introduced in commit aa2a96a24ae3a8cc04635ab6ede474c5f2665053, with a
note that they might move out of the `Linalg`-Dialect, but no reason
given for the non-return of handles. As far as I can see, this transform
always returns loops.


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

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/trip-count.ll

  Log Message:
  -----------
  [SCEV] Precommit test for widened signed induction variables

These tests highlight that we have missed oppurtunities proving
trip count bounds when our start/end values are sign extended
from smaller types and we have either a loop guard to relate our
start vs end, or a nsw/nuw fact to bound end.


  Commit: f8c5a68365fb82d9ffc64511f4b50b9c1e68144f
      https://github.com/llvm/llvm-project/commit/f8c5a68365fb82d9ffc64511f4b50b9c1e68144f
  Author: Duo Wang <duow1 at uci.edu>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp

  Log Message:
  -----------
  [clang][test] Add test for incompatible cv-qualified reference types in conversion function template (#81950)

We currently lack test coverage for
[SemaTemplateDeduction.cpp#L1619-L1620](https://github.com/llvm/llvm-project/blob/fe20a75/clang/lib/Sema/SemaTemplateDeduction.cpp#L1619-L1620),
which handles the case where both the P type and the A type are
reference types but A is more cv-qualified than P. This is deemed
non-deduced unless both A and P are possibly cv-qualified forms of the
template parameter T. This PR adds tests for that logic.


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

  Changed paths:
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/high_precision_decimal_test.cpp
    A libc/test/src/__support/str_to_integer_test.cpp

  Log Message:
  -----------
  [libc] Add max length argument to decimal to float (#84091)

The implementation for from_chars in libcxx is possibly going to use our
decimal to float utilities, but to do that we need to support limiting
the length of the string to be parsed. This patch adds support for that
length limiting to decimal_exp_to_float, as well as the functions it
calls (high precision decimal, str to integer).


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

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

  Log Message:
  -----------
  [mlir][bazel] Don't set MLIR_ENABLE_NVPTXCOMPILER on if_cuda_available. (#84238)

was available. However, it turns out that the NVPTX compiler is not part
of every CUDA distribution, so `if_cuda_available` may evaluate to true
without that compiler being present, which breaks the build. This PR
thus sets the macro to 0 always (which was the behavior before #84007).


  Commit: 96813de52d09d983d14a30ef5e2b4b8658f8e952
      https://github.com/llvm/llvm-project/commit/96813de52d09d983d14a30ef5e2b4b8658f8e952
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/TargetParser/TargetParser.cpp

  Log Message:
  -----------
  AMDGPU: Define a feature for v_dot4_f32_* instructions (#84248)

FeatureDot11Insts (dot11-insts) for:
  v_dot4_f32_fp8_fp8, v_dot4_f32_fp8_bf8,
  v_dot4_f32_bf8_fp8, v_dot4_f32_bf8_bf8


  Commit: ee1bcf74ea68d76b01ae2b58050f8f33bb684cac
      https://github.com/llvm/llvm-project/commit/ee1bcf74ea68d76b01ae2b58050f8f33bb684cac
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/EXPInstructions.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SOPInstructions.td

  Log Message:
  -----------
  AMDGPI: Rename HasExpOrExportInsts to HasExportInsts. NFC (#84252)


  Commit: ad33fe12812a07c80d5b988e99bea11d5f73414b
      https://github.com/llvm/llvm-project/commit/ad33fe12812a07c80d5b988e99bea11d5f73414b
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M libc/config/baremetal/api.td
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/stdfix.rst
    M libc/spec/llvm_libc_ext.td
    M libc/spec/stdc_ext.td
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/src/__support/fixed_point/sqrt.h
    M libc/src/stdfix/CMakeLists.txt
    A libc/src/stdfix/uhksqrtus.cpp
    A libc/src/stdfix/uhksqrtus.h
    A libc/src/stdfix/uksqrtui.cpp
    A libc/src/stdfix/uksqrtui.h
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/ISqrtTest.h
    A libc/test/src/stdfix/uhksqrtus_test.cpp
    A libc/test/src/stdfix/uksqrtui_test.cpp

  Log Message:
  -----------
  [libc][stdfix] Add integer square root with fixed point output functions. (#83959)

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


  Commit: 7daa36ae7fe66c7cb0b6cb4311dcb50f120f24f6
      https://github.com/llvm/llvm-project/commit/7daa36ae7fe66c7cb0b6cb4311dcb50f120f24f6
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Make ds_bvh_stack_rtn_b32 depend on HasImageInsts, NFC (#84256)

For GFX11.


  Commit: e3faae96e76c31c163973854cfe6689f28acc4ff
      https://github.com/llvm/llvm-project/commit/e3faae96e76c31c163973854cfe6689f28acc4ff
  Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/Expr.h

  Log Message:
  -----------
  [Clang] [AST] Resolve FIXME: Assign E to nullptr (#84229)

We do not support GCC 4.8 anymore.


  Commit: 8acef12030617e7e160eee38d92bc91007c7fd94
      https://github.com/llvm/llvm-project/commit/8acef12030617e7e160eee38d92bc91007c7fd94
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [scudo] remove DCHECK (#84255)

this gets checked in StackDepot::init anyway


  Commit: 6fc5dc3ebb724965662e1242b1a5e2be840ced13
      https://github.com/llvm/llvm-project/commit/6fc5dc3ebb724965662e1242b1a5e2be840ced13
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M libc/spec/llvm_libc_ext.td

  Log Message:
  -----------
  [libc] Fix a typo in llvm_libc_ext.td. (#84259)


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

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/trip-count.ll

  Log Message:
  -----------
  [SCEV] Match both (-1)b + a and a + (-1)b as a - b (#84247)

In our analysis of guarding conditions, we were converting a-b == 0 into
a == b alternate form, but we were only checking for one of the two
forms for the sub. There's no requirement that the multiply only be on
the LHS of the add.


  Commit: 6a39a714423ba5675b9e211a80c1dae1ff0e6eac
      https://github.com/llvm/llvm-project/commit/6a39a714423ba5675b9e211a80c1dae1ff0e6eac
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    R clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp

  Log Message:
  -----------
  Revert "[clang-repl] Pass triple to IncrementalCompilerBuilder as explicit argument" (#84261)

Reverts llvm/llvm-project#84174 due too sanitizer memory leak detection


  Commit: b84f3ea9963058cdd910f5106ca2a70c1bb9e460
      https://github.com/llvm/llvm-project/commit/b84f3ea9963058cdd910f5106ca2a70c1bb9e460
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 6a39a714423b


  Commit: 4258b0e13ff8eced081f3344677f02373ea88127
      https://github.com/llvm/llvm-project/commit/4258b0e13ff8eced081f3344677f02373ea88127
  Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out-no-ps.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll

  Log Message:
  -----------
  [HWASAN] Follow up for #83503 implement selective instrumentation (#83942)

1. Change tests to use IR instead of -stats to avoid depending on Debug
mode
2. Add SkipInstrumentationRandomRate 
3. Remove HWASAN from stat strings


  Commit: 0497c77e9e02f0dcccd42a6afd65d0356a5dbb57
      https://github.com/llvm/llvm-project/commit/0497c77e9e02f0dcccd42a6afd65d0356a5dbb57
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py

  Log Message:
  -----------
  [lldb] Print mangled names with verbose break list (#84071)

When debugging LLDB itself, it can often be useful to know the mangled
name of the function where a breakpoint is set. Since the `--verbose`
setting of `break --list` is aimed at debugging LLDB, this patch makes
it so that the mangled name is also printed in that mode.

Note about testing: since mangling is not the same on Windows and Linux,
the test refrains from hardcoding mangled names.


  Commit: 318bff6811e7a7e0d3295ed85aa3ad01d475cc8c
      https://github.com/llvm/llvm-project/commit/318bff6811e7a7e0d3295ed85aa3ad01d475cc8c
  Author: Pranav Kant <prka at google.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/SemaCUDA/float128.cu

  Log Message:
  -----------
  [clang][CUDA] Disable float128 diagnostics for device compilation (#83918)


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

  Changed paths:
    M lld/ELF/ScriptParser.cpp
    M lld/test/ELF/linkerscript/wildcards.s

  Log Message:
  -----------
  [ELF] Reject error-prone meta characters in input section description

The lexer is overly permissive. When parsing file patterns in an input
section description and there is a missing `)`, we would accept many
non-sensible tokens (e.g. `}`) as patterns, leading to confusion, e.g.
`*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.text*)) } PROVIDE_HIDDEN(__code_end = .)`
(#81804).

Ideally, the lexer should be stateful to report more errors like GNU ld
and get rid of hacks like `ScriptLexer::maybeSplitExpr`, but that would
require a large rewrite of the lexer. For now, just reject certain
non-wildcard meta characters to detect common mistakes.

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


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

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
    M mlir/lib/IR/PatternMatch.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][IR] Make `replaceOp` / `replaceAllUsesWith` API consistent (#82629)

* `replaceOp` replaces all uses of the original op and erases the old
op.
* `replaceAllUsesWith` replaces all uses of the original op/value/block.
It does not erase any IR.

This commit renames `replaceOpWithIf` to `replaceUsesWithIf`.
`replaceOpWithIf` was a misnomer because the function never erases the
original op. Similarly, `replaceOpWithinBlock` is renamed to
`replaceUsesWithinBlock`. (No "operation replaced" is sent because the
op is not erased.)

Also improve comments.


  Commit: 84842f4b3ba175d744c03d40baa8e371522615e8
      https://github.com/llvm/llvm-project/commit/84842f4b3ba175d744c03d40baa8e371522615e8
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp

  Log Message:
  -----------
  [clang-tidy] bugprone-assert-side-effect can detect side effect from non-const reference parameters (#84095)

Fixes: #84092


  Commit: 9fe5aa31eccff49632e40bcdad6e64fc00190889
      https://github.com/llvm/llvm-project/commit/9fe5aa31eccff49632e40bcdad6e64fc00190889
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaTemplate/concepts-lambda.cpp

  Log Message:
  -----------
  [clang][Sema] Skip the RequiresExprBodyDecls for lambda dependencies (#83997)

The dependency of a lambda inside of a `RequiresExprBodyDecl` was
previously affected by its parent, e.g.,
`ClassTemplateSpecializationDecl`. This made the lambda always dependent
regardless of the template arguments we had, which caused some crashes
on the constraint evaluation later.

This fixes https://github.com/llvm/llvm-project/issues/56556, fixes
https://github.com/llvm/llvm-project/issues/82849 and a case
demonstrated by
https://github.com/llvm/llvm-project/issues/49570#issuecomment-1664966972.


  Commit: 4f1258fd913a65338c8fbf5cf38163b4e026964a
      https://github.com/llvm/llvm-project/commit/4f1258fd913a65338c8fbf5cf38163b4e026964a
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [X86] Change tuning of Sierraforest and Grandridge to more latest target (#84179)


  Commit: 416debf79b90256b794efb583696dbc085f3f050
      https://github.com/llvm/llvm-project/commit/416debf79b90256b794efb583696dbc085f3f050
  Author: Cameron McInally <cameron.mcinally at nyu.edu>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
    R llvm/test/Transforms/LoopVectorize/pr73894.ll

  Log Message:
  -----------
  [test] Move pr73894.ll to AArch64 directory and update the target triple (#84269)

pr73894.ll is failing on a number of non-AArch64 buildbots. I'm not
certain that this is a proper fix, but I think it's best to move the
test to the test/Transforms/LoopVectorize/AArch64/ directory and replace
the triple with one commonly used in that directory.

llvm#73894


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

  Changed paths:
    M lldb/test/API/functionalities/fork/concurrent_vfork/main.cpp

  Log Message:
  -----------
  [lldb][test] iwyu for vfork test


  Commit: 51e23545e79957af43be9be0e6c31b77a4665279
      https://github.com/llvm/llvm-project/commit/51e23545e79957af43be9be0e6c31b77a4665279
  Author: mmilanifard <m.milanifard at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

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

  Log Message:
  -----------
  Revert "Adding missing dependencies to BUILD.bazel" (#84251)

Reverts llvm/llvm-project#84235
With changes in #84238 these dependencies are not required.


  Commit: 0083c3eb83bb984fcc9bfbf1b670df8ea3f1fe97
      https://github.com/llvm/llvm-project/commit/0083c3eb83bb984fcc9bfbf1b670df8ea3f1fe97
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
    R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
    R llvm/test/MC/AMDGPU/mcexpr_amd.s
    R llvm/test/MC/AMDGPU/mcexpr_amd_err.s

  Log Message:
  -----------
  Revert "[AMDGPU] Add AMDGPU specific variadic operation MCExprs" (#84273)

Reverts llvm/llvm-project#82022

Fails on hwasan build bot:
https://lab.llvm.org/buildbot/#/builders/236/builds/9874/steps/10/logs/stdio


  Commit: 38a73fb1575f7d71f481177595ef66723d1ca0b3
      https://github.com/llvm/llvm-project/commit/38a73fb1575f7d71f481177595ef66723d1ca0b3
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 0083c3eb83bb


  Commit: c7fbbec86c483019e9340ee4573d6d8b4f878f72
      https://github.com/llvm/llvm-project/commit/c7fbbec86c483019e9340ee4573d6d8b4f878f72
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp

  Log Message:
  -----------
  [lldb] Remove unused #includes in ClangModulesDeclVendor.cpp (#84262)


  Commit: ca7492fae42c5a21db96eccaca7a5e827ab1bf65
      https://github.com/llvm/llvm-project/commit/ca7492fae42c5a21db96eccaca7a5e827ab1bf65
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

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

  Log Message:
  -----------
  [lldb] Extract getter function for experimental target properties (NFC) (#83504)

In Swift's downstream lldb, there are a number of experimental properties. This change 
extracts a getter function containing the common logic for getting a boolean valued 
experimental property.

This also deletes `SetInjectLocalVariables` which isn't used anywhere.


  Commit: 2fcf248ec2614dd966f31d471a1a97989a76fd9d
      https://github.com/llvm/llvm-project/commit/2fcf248ec2614dd966f31d471a1a97989a76fd9d
  Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Support/Program.h
    M llvm/lib/Support/Program.cpp
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/Windows/Program.inc
    M llvm/unittests/Support/ProgramTest.cpp

  Log Message:
  -----------
  Reland "[llvm][Support] Add support for executing a detached process (#81708)" (#83367)

Relands #81708, which was reverted by
f410f74cd5b26319b5796e0404c6a0f3b5cc00a5, now with a corrected unit
test. Origionally the test failed on Windows when run with lit as
`GetConsoleWindow` could not retrieve a window handle regardless of
whether `DetachProcess` was `true` or `false`. The test now uses
`GetStdHandle(STD_OUTPUT_HANDLE)` which does not rely on a console
window existing. Original commit message below.

Adds a new parameter, `bool DetachProcess` with a default option of
`false`, to `llvm::sys::ExecuteNoWait`, which, when set to `true`,
executes the specified program without a controlling terminal.

Functionality added so that the module build daemon can be run without a
controlling terminal.


  Commit: 248468097faa9739ae66ff6fe1836e529d58455a
      https://github.com/llvm/llvm-project/commit/248468097faa9739ae66ff6fe1836e529d58455a
  Author: Martin Wehking <martin.wehking at codeplay.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  Add non-null check before accessing pointer (#83459)

Add a check if RC is not null to ensure that a consecutive access is
safe.

A static analyzer flagged this issue since hasVectorRegisters
potentially dereferences RC.


  Commit: 40671156757cc3f2304085a6642a24efc8165df7
      https://github.com/llvm/llvm-project/commit/40671156757cc3f2304085a6642a24efc8165df7
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp

  Log Message:
  -----------
  [lldb] Log module build remarks to types log too (#84260)


  Commit: 95bde4b9d6fe258ff7fea6da5024b2a8813c1e0c
      https://github.com/llvm/llvm-project/commit/95bde4b9d6fe258ff7fea6da5024b2a8813c1e0c
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M compiler-rt/lib/msan/tests/CMakeLists.txt

  Log Message:
  -----------
  [MSan] Pass -fsanitize-ignorelist to the instrumented libcxxabi

This ensures that the MSan unit tests are able to pass with an
uninstrumented libunwind. We need to avoid instrumentation for
__gxx_personality_v0, which is part of the default msan_ignorelist.txt
that is installed into the resource directory. However, if we are trying
to test the just-built libraries, this global ignore list may not be
present yet, so we still instrument the function.

Arguably this function should not be on the default ignore list since it
is only a problem when building libcxxabi with MSan instrumentation and
without an instrumented libunwind, so maybe the logic should really be
part of the libcxxabi build. However, that could be done as a follow-up.

See 2f856a36e0b270b184051d10a18d4b4238b4c033 for more context.

Reviewed By: vitalybuka

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


  Commit: 2e25926b50183cb3d819e85ef7bdf00001027859
      https://github.com/llvm/llvm-project/commit/2e25926b50183cb3d819e85ef7bdf00001027859
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/orc/lit.cfg.py

  Log Message:
  -----------
  [compiler-rt] Only query llvm-config in the orc tests

This check for assertions is only used inside the test/orc directory, but
doing it in the top level lit config means all testsuites depend on
llvm-config being present. This is not necessarily needed e.g. when
testing just the builtins. While touching this code, simplify it a bit
by using subprocess.check_output() instead of Popen() and use a string
comparison instead of a regex match.

Reviewed By: lhames

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


  Commit: 68d07bf34f6b044193c429d9f8cf07500a4775ea
      https://github.com/llvm/llvm-project/commit/68d07bf34f6b044193c429d9f8cf07500a4775ea
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Add helpers for RVV register classes

There are two places in tree that use these helpers and there will
be more future usages.

Reviewers: asb, BeMg, lukel97

Reviewed By: BeMg, lukel97

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


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

  Changed paths:
    M bolt/test/X86/gotpcrelx.s
    M bolt/test/X86/pt_gnu_relro.s

  Log Message:
  -----------
  [BOLT,test] Remove -relax-relocations

The option is always true (see
2aedfdd9b82e6c72a28576d0e8ea854f1300ff4e).


  Commit: 00efb343529cce025055ca8284a61b22b48924c9
      https://github.com/llvm/llvm-project/commit/00efb343529cce025055ca8284a61b22b48924c9
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Fix crash during G_SHUFFLE_VECTOR legalization.

A new widening rule was running before the shuffle was canonicalized into a
homogenous form. Moving the rules around to ensure it's done before the
widening fixes the crash, although this particular test still falls back.


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

  Changed paths:
    M lld/test/ELF/amdgpu-duplicate-sym.s
    M lld/test/ELF/i386-relax-reloc.s
    M lld/test/ELF/systemz-gotent-relax-align.s
    M lld/test/ELF/systemz-gotent-relax-und-dso.s
    M lld/test/ELF/systemz-gotent-relax.s
    M lld/test/ELF/x86-64-gotpc-relax-nopic.s
    M lld/test/ELF/x86-64-gotpc-relax-und-dso.s
    M lld/test/ELF/x86-64-gotpc-relax.s
    M lld/test/ELF/x86-64-relax-got-abs.s
    M lld/test/ELF/x86-64-relax-offset.s

  Log Message:
  -----------
  [ELF,test] Remove unneeded -relax-relocations from llvm-mc

This is option is x86-64 specific and should not be used by
AMDGPU/SystemZ. On x86-64, the option defaults to true and is
unnecessary.


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

  Changed paths:
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/test/CodeGen/X86/tailjmp_gotpcrel_relax_relocation.ll
    M llvm/test/CodeGen/X86/tls-no-plt.ll
    M llvm/test/ThinLTO/X86/cache-config.ll

  Log Message:
  -----------
  [CommandFlags] Rename option -relax-elf-relocations to -x86-relax-relocations

relax-elf-relocations is misleading and there were AMDGPU/SystemZ tests
misusing this x86-specific option.


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

  Changed paths:
    M mlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp
    M mlir/lib/Target/LLVM/ROCDL/Target.cpp

  Log Message:
  -----------
  [mlir] Remove setRelaxELFRelocations. NFC

The option is always true (see 2aedfdd9b82e6c72a28576d0e8ea854f1300ff4e)
and the MCAsmInfo option is going away in favor of MCTargetOptions.


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

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/tools/driver/cc1as_main.cpp
    M lld/test/ELF/weak-undef-got-pie.s
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/MC/MCContext.h
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/LLVMTargetMachine.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_minimal.s
    M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_small_pic_relocations.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_common_var.s
    M llvm/test/MC/ELF/got-relaxed-i386.s
    M llvm/test/MC/ELF/relocation-386.s
    M llvm/test/MC/X86/gotpcrelx.s
    M llvm/tools/gold/gold-plugin.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp

  Log Message:
  -----------
  [MC] Move CompressDebugSections/RelaxELFRelocations from TargetOptions/MCAsmInfo to MCTargetOptions

The convention is for such MC-specific options to reside in
MCTargetOptions. However, CompressDebugSections/RelaxELFRelocations do
not follow the convention: `CompressDebugSections` is defined in both
TargetOptions and MCAsmInfo and there is forwarding complexity.

Move the option to MCTargetOptions and hereby simplify the code. Rename
the misleading RelaxELFRelocations to X86RelaxRelocations. llvm-mc
-relax-relocations and llc -x86-relax-relocations can now be unified.


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/phi-gep.ll

  Log Message:
  -----------
  [SROA] Fix phi gep unfolding with an alloca not in entry block

Fixes a crash reported in #83494.


  Commit: 02629793a4581e79cda342eaae007704b4daa8ce
      https://github.com/llvm/llvm-project/commit/02629793a4581e79cda342eaae007704b4daa8ce
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

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

  Log Message:
  -----------
  [BOLT] Add reading support for Linux kernel __bug_table section (#84082)

Read __bug_table section and annotate ud2 instructions with a
corresponding bug entry ID.


  Commit: 7c63431cc22c68742a6a42d3304fdb68431247c3
      https://github.com/llvm/llvm-project/commit/7c63431cc22c68742a6a42d3304fdb68431247c3
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    A mlir/include/mlir/Dialect/EmitC/IR/EmitCTraits.h
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
    M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp

  Log Message:
  -----------
  [mlir][EmitC] Introduce a `CExpression` trait (#84177)

This adds a `CExpression` trait and replaces the `isCExpression()`
function.


  Commit: 7524ad9aa7b1b5003fe554a6ac8e434d50027dfb
      https://github.com/llvm/llvm-project/commit/7524ad9aa7b1b5003fe554a6ac8e434d50027dfb
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-atomic-load-store.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Fix incorrect selection of monotonic s32->s64 anyext load.

This load isn't selected by tablegen due to the anyext, but wasn't generating
a subreg_to_reg. Maybe it shouldn't be formed at all during the combiner but to stop
crashes later in codegen select it manually for now.


  Commit: 7a0e222a17058a311b69153d0b6f1b4459414778
      https://github.com/llvm/llvm-project/commit/7a0e222a17058a311b69153d0b6f1b4459414778
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZShortenInst.cpp
    M llvm/lib/Target/X86/X86FloatingPoint.cpp
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir
    M llvm/test/CodeGen/Thumb/PR35481.ll

  Log Message:
  -----------
  Revert "Convert many LivePhysRegs uses to LiveRegUnits (#83905)"

This reverts commit 2a13422b8bcee449405e3ebff957b4020805f91c.

It was causing test failures on the expensive check builders.


  Commit: 91808c845fd6f0624525b6d6348b2c284628ce58
      https://github.com/llvm/llvm-project/commit/91808c845fd6f0624525b6d6348b2c284628ce58
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  [docs] Change SPIR-V backend meeting day (#84286)

Changing SPIR-V backend meeting day and removing my office hours


  Commit: 99500e8c08a4d941acb8a7eb00523296fb2acf7a
      https://github.com/llvm/llvm-project/commit/99500e8c08a4d941acb8a7eb00523296fb2acf7a
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p3.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/dtor.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3-2b.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp
    M clang/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp
    M clang/test/CXX/drs/dr13xx.cpp
    M clang/test/CXX/drs/dr14xx.cpp
    M clang/test/CXX/drs/dr15xx.cpp
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/drs/dr6xx.cpp
    M clang/test/CXX/expr/expr.const/p5-26.cpp
    M clang/test/CXX/special/class.copy/p13-0x.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constant-expression-cxx2b.cpp
    A clang/test/SemaCXX/cxx23-invalid-constexpr.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaOpenCLCXX/addrspace-constructors.clcpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (#77753)

Per
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2448r2.html
function/constructor/destructor can be marked `constexpr` even though it
never produces a constant expression.
Non-literal types as return types and parameter types of functions
marked `constexpr` are also allowed.
Since this is not a DR, the diagnostic messages are still preserved for
C++ standards older than C++23.


  Commit: c59129a7c79448837d665de8f2743ad4b14666f6
      https://github.com/llvm/llvm-project/commit/c59129a7c79448837d665de8f2743ad4b14666f6
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-07 (Thu, 07 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 (#83035)

This is the concat_vector equivalent of #81312, in that we recursively
split concat_vectors with more than two operands into smaller
concat_vectors.

This allows us to break up the chain of vslideups, as well as perform
the vslideups at a smaller LMUL, which in turn reduces register pressure
as the previous lowering performed N vslideups at the highest result
LMUL. For now, it stops splitting past MF2.

This is done as a DAG combine so that any undef operands are combined
away: If we do this during lowering then we end up with unnecessary
vslideups of undefs.


  Commit: 7ce1cfed9a11735f0f4ee8a3a8bebfa87ee76d07
      https://github.com/llvm/llvm-project/commit/7ce1cfed9a11735f0f4ee8a3a8bebfa87ee76d07
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedLocalVarsChecker] Allow uncounted object references within trivial statements (#82229)

This PR makes alpha.webkit.UncountedLocalVarsChecker ignore raw
references and pointers to a ref counted type which appears within
"trival" statements. To do this, this PR extends TrivialFunctionAnalysis
so that it can also analyze "triviality" of statements as well as that
of functions Each Visit* function is now augmented with
withCachedResult, which is responsible for looking up and updating the
cache for each Visit* functions.

As this PR dramatically improves the false positive rate of the checker,
it also deletes the code to ignore raw pointers and references within if
and for statements.


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

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

  Log Message:
  -----------
  AMDGPU: Refactor mfma hazard handling [NFC] (#84276)

Try to make this editable by using functions for the number of wait
states as a function of the number of passes. I'm assuming the current
hazard test coverage is comprehensive.

This could probably use another round to further simplify it.
Alternatively, I believe this could all be expressed in a constant table
indexed by an instruction classify function and number of passes.


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

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp

  Log Message:
  -----------
  [RemoveDIs][wasm] Apply current debug mode to new function protos (#84292)

This trips the verifier changes added in #83251

Stimulated by llvm/test/MC/WebAssembly/extern-functype-intrinsic.ll


  Commit: 503c55e17037436dcd45ac69dea8967e67e3f5e8
      https://github.com/llvm/llvm-project/commit/503c55e17037436dcd45ac69dea8967e67e3f5e8
  Author: ostannard <oliver.stannard at arm.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll
    A llvm/test/CodeGen/AArch64/sls-crash.ll
    M llvm/test/CodeGen/AArch64/sls-stackprotector-outliner.ll

  Log Message:
  -----------
  [AArch64] Move SLS later in pass pipeline (#84210)

Currently, the SLS hardening pass is run before the machine outliner,
which means that the outliner creates new functions and calls which do
not have the SLS hardening applied.

The fix for this is to move the SLS passes to after the outliner, as has
recently been done for the return address signing pass.

This also avoids a bug where the SLS outliner emits code with
instructions after a return, which the outliner doesn't correctly
handle.


  Commit: 6e79f77adbbd338848ea770f2f2b110bc57a3990
      https://github.com/llvm/llvm-project/commit/6e79f77adbbd338848ea770f2f2b110bc57a3990
  Author: Vincent Lee <thevinster at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp

  Log Message:
  -----------
  [dataflow][nfc] Fix u8 string usage with c++20 (#84291)

Clang returns an error when compiling this file with c++20
```
error: ISO C++20 does not permit initialization of char array with UTF-8 string literal
```
It seems like c++20 treats u8strings differently than strings (probably
needs char8_t).
Make this a string to fix the error.


  Commit: 84f483dbeeba5ecadbf3e4a75bfb71525a3fa332
      https://github.com/llvm/llvm-project/commit/84f483dbeeba5ecadbf3e4a75bfb71525a3fa332
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/UInt.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/integer_to_string.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  [libc] Remove UB specializations of type traits for `BigInt` (#84035)

The standard specifies that it it UB to specialize the following traits:
 - `std::is_integral`
 - `std::is_unsigned`
 - `std::make_unsigned`
 - `std::make_signed`

This patch:
 - Removes specializations for `BigInt`
 - Transforms SFINAE for `bit.h` functions from template parameter to
   return type (This makes specialization easier).
 - Adds `BigInt` specialization for `bit.h` functions.
 - Fixes code depending on previous specializations.


  Commit: 27844cb2fa2a66fe90f12240809b260709fb2cc9
      https://github.com/llvm/llvm-project/commit/27844cb2fa2a66fe90f12240809b260709fb2cc9
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/UInt.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/integer_to_string.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  Revert "[libc] Remove UB specializations of type traits for `BigInt`" (#84297)

Reverts llvm/llvm-project#84035

Several bots are failing:
 - https://lab.llvm.org/buildbot/#/builders/223/builds/37522
 - https://lab.llvm.org/buildbot/#/builders/162/builds/51978
 - https://lab.llvm.org/buildbot/#/builders/163/builds/52560
 - https://lab.llvm.org/buildbot/#/builders/250/builds/19619


  Commit: bf7f62ab92241298ccd7af008b3b26daac9c220b
      https://github.com/llvm/llvm-project/commit/bf7f62ab92241298ccd7af008b3b26daac9c220b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Make use of Mnem_gfx11_gfx12. NFC.


  Commit: 469c5e3da46115b9625e2d4771bd19d4968e3fa9
      https://github.com/llvm/llvm-project/commit/469c5e3da46115b9625e2d4771bd19d4968e3fa9
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Simplify definition of renamed DS instructions. NFC.

Following the pattern used for SOP instructions, we can use the same
multiclass with a default argument to define renamed and non-renamed
instructions.


  Commit: afac64cef40c77320cc49808be30f3e5ef7f7357
      https://github.com/llvm/llvm-project/commit/afac64cef40c77320cc49808be30f3e5ef7f7357
  Author: Matthias Gehre <93204396+mgehre-amd at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp

  Log Message:
  -----------
  [MLIR] BufferResultsToOutParams: Allow to configure memCpyFn

This allows us to configure the pass to emit
linalg.copy instead of memref.copy.

This is consistent with one-shot-bufferize, which also allows to configure the `memCpyFn`,
see https://discord.com/channels/636084430946959380/642426447167881246/1211698722438783087


  Commit: 6f54a54c6f5f644b4f4c79882154fd9737568c8e
      https://github.com/llvm/llvm-project/commit/6f54a54c6f5f644b4f4c79882154fd9737568c8e
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/attr-target-version.c

  Log Message:
  -----------
  [FMV] Remove duplicate features from mangled name. (#84165)

ACLE suggests: https://github.com/ARM-software/acle/pull/308. GCC emits
diagnostics for attribute strings which contain duplicate features, but
for now let's follow the SPEC in regards to mangling rules and we can
change the semantic behavior of the compiler later if there's value to
it.


  Commit: c40146c214a705a232848144d9412c8a7c73f0fe
      https://github.com/llvm/llvm-project/commit/c40146c214a705a232848144d9412c8a7c73f0fe
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    A mlir/include/mlir/Conversion/ArithToEmitC/ArithToEmitC.h
    A mlir/include/mlir/Conversion/ArithToEmitC/ArithToEmitCPass.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    A mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    A mlir/lib/Conversion/ArithToEmitC/ArithToEmitCPass.cpp
    A mlir/lib/Conversion/ArithToEmitC/CMakeLists.txt
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][EmitC] Add Arith to EmitC conversions (#84151)

This adds patterns and a pass to convert the Arith dialect to EmitC. For
now, this covers arithemtic binary ops operating on floating point
types.

It is not checked within the patterns whether the types, such as the
Tensor type, are supported in the respective EmitC operations. If
unsupported types should be converted, the conversion will fail anyway
because no legal EmitC operation can be created. This can clearly be
improved in a follow up, also resulting in better error messages.
Functions for such checks should not solely be used in the conversions
and should also be (re)used in the verifier.


  Commit: 245d669f1d1c3f66d0d3d8aa7cffa5ef0d7747ff
      https://github.com/llvm/llvm-project/commit/245d669f1d1c3f66d0d3d8aa7cffa5ef0d7747ff
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/UInt.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/integer_to_string.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  [reland][libc] Remove UB specializations of type traits for `BigInt` (#84299)

Note: This is a reland of #84035.

The standard specifies that it it UB to specialize the following traits:
 - `std::is_integral`
 - `std::is_unsigned`
 - `std::make_unsigned`
 - `std::make_signed`

This patch:
 - Removes specializations for `BigInt`
 - Transforms SFINAE for `bit.h` functions from template parameter to
   return type (This makes specialization easier).
 - Adds `BigInt` specialization for `bit.h` functions.
 - Fixes code depending on previous specializations.


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-interleave.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll

  Log Message:
  -----------
  [CostModel] getInstructionCost - improve estimation of costs for length changing shuffles (#84156)

Fix gap in the cost estimation for length changing shuffles, by adjusting the shuffle mask and either widening the shuffle inputs or extracting the lower elements of the result.

A small step towards moving some of this implementation inside improveShuffleKindFromMask and/or target getShuffleCost handlers (and reduce the diffs in cost estimation depending on whether coming from a ShuffleVectorInst or the raw operands / mask components)


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

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp

  Log Message:
  -----------
  Revert "[dataflow][nfc] Fix u8 string usage with c++20" (#84301)

Reverts llvm/llvm-project#84291

The patch broke Windows builds.


  Commit: 4119042d76c79667b374ad85b3b92ef56cfd96e8
      https://github.com/llvm/llvm-project/commit/4119042d76c79667b374ad85b3b92ef56cfd96e8
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Simplify EXP Real instruction definitions. NFC.

Pass the Pseudo (instead of its name) into EXP_Real_Row and
EXP_Real_ComprVM since it is already available in all subclasses.


  Commit: 937a5396cf3e524ae40106a943a5c1f2c565fa00
      https://github.com/llvm/llvm-project/commit/937a5396cf3e524ae40106a943a5c1f2c565fa00
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M libcxx/include/__type_traits/is_convertible.h

  Log Message:
  -----------
  [libc++] Remove unused includes from __type_traits/is_convertible.h (#83747)


  Commit: 0086cc95b3b3ac4088d3d782cd490d0c08108b59
      https://github.com/llvm/llvm-project/commit/0086cc95b3b3ac4088d3d782cd490d0c08108b59
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h

  Log Message:
  -----------
  [AMDGPU] Rename getNumVGPRBlocks. NFC (#84161)

Rename getNumVGPRBlocks to getEncodedNumVGPRBlocks, to clarify that it's
using the encoding granule. This is used to program the hardware. In
practice, the hardware will use the alloc granule instead, so this patch
also adds a new helper, getAllocatedNumVGPRBlocks, which can be useful
when driving heuristics.


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

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp

  Log Message:
  -----------
  [clang][dataflow] Fix u8 string error with C++20. (#84302)

See also discussion on https://github.com/llvm/llvm-project/pull/84291.


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

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp

  Log Message:
  -----------
  [clang][nullability] Don't discard expression state before end of full-expression. (#82611)

In https://github.com/llvm/llvm-project/pull/72985, I made a change to
discard
expression state (`ExprToLoc` and `ExprToVal`) at the beginning of each
basic
block. I did so with the claim that "we never need to access entries
from these
maps outside of the current basic block", noting that there are
exceptions to
this claim when control flow happens inside a full-expression (the
operands of
`&&`, `||`, and the conditional operator live in different basic blocks
than the
operator itself) but that we already have a mechanism for retrieving the
values
of these operands from the environment for the block they are computed
in.

It turns out, however, that the operands of these operators aren't the
only
expressions whose values can be accessed from a different basic block;
when
control flow happens within a full-expression, that control flow can be
"interposed" between an expression and its parent. Here is an example:

```cxx
void f(int*, int);
bool cond();

void target() {
  int i = 0;
  f(&i, cond() ? 1 : 0);
}
```

([godbolt](https://godbolt.org/z/hrbj1Mj3o))

In the CFG[^1] , note how the expression for `&i` is computed in block
B4,
but the parent of this expression (the `CallExpr`) is located in block
B1.
The the argument expression `&i` and the `CallExpr` are essentially
"torn apart"
into different basic blocks by the conditional operator in the second
argument.
In other words, the edge between the `CallExpr` and its argument `&i`
straddles
the boundary between two blocks.

I used to think that this scenario -- where an edge between an
expression and
one of its children straddles a block boundary -- could only happen
between the
expression that triggers the control flow (`&&`, `||`, or the
conditional
operator) and its children, but the example above shows that other
expressions
can be affected as well; the control flow is still triggered by `&&`,
`||` or
the conditional operator, but the expressions affected lie outside these
operators.

Discarding expression state too soon is harmful. For example, an
analysis that
checks the arguments of the `CallExpr` above would not be able to
retrieve a
value for the `&i` argument.

This patch therefore ensures that we don't discard expression state
before the
end of a full-expression. In other cases -- when the evaluation of a
full-expression is complete -- we still want to discard expression state
for the
reasons explained in https://github.com/llvm/llvm-project/pull/72985
(avoid
performing joins on boolean values that are no longer needed, which
unnecessarily extends the flow condition; improve debuggability by
removing
clutter from the expression state).

The impact on performance from this change is about a 1% slowdown in the
Crubit nullability check benchmarks:

```
name                              old cpu/op   new cpu/op   delta
BM_PointerAnalysisCopyPointer     71.9µs ± 1%  71.9µs ± 2%    ~     (p=0.987 n=15+20)
BM_PointerAnalysisIntLoop          190µs ± 1%   192µs ± 2%  +1.06%  (p=0.000 n=14+16)
BM_PointerAnalysisPointerLoop      325µs ± 5%   324µs ± 4%    ~     (p=0.496 n=18+20)
BM_PointerAnalysisBranch           193µs ± 0%   192µs ± 4%    ~     (p=0.488 n=14+18)
BM_PointerAnalysisLoopAndBranch    521µs ± 1%   525µs ± 3%  +0.94%  (p=0.017 n=18+19)
BM_PointerAnalysisTwoLoops         337µs ± 1%   341µs ± 3%  +1.19%  (p=0.004 n=17+19)
BM_PointerAnalysisJoinFilePath    1.62ms ± 2%  1.64ms ± 3%  +0.92%  (p=0.021 n=20+20)
BM_PointerAnalysisCallInLoop      1.14ms ± 1%  1.15ms ± 4%    ~     (p=0.135 n=16+18)
```

[^1]:
```
 [B5 (ENTRY)]
   Succs (1): B4

 [B1]
   1: [B4.9] ? [B2.1] : [B3.1]
   2: [B4.4]([B4.6], [B1.1])
   Preds (2): B2 B3
   Succs (1): B0

 [B2]
   1: 1
   Preds (1): B4
   Succs (1): B1

 [B3]
   1: 0
   Preds (1): B4
   Succs (1): B1

 [B4]
   1: 0
   2: int i = 0;
   3: f
   4: [B4.3] (ImplicitCastExpr, FunctionToPointerDecay, void (*)(int *, int))
   5: i
   6: &[B4.5]
   7: cond
   8: [B4.7] (ImplicitCastExpr, FunctionToPointerDecay, _Bool (*)(void))
   9: [B4.8]()
   T: [B4.9] ? ... : ...
   Preds (1): B5
   Succs (2): B2 B3

 [B0 (EXIT)]
   Preds (1): B1
```


  Commit: 59e405b39416c8a5e2af93b2bfaa97a8c9d67f06
      https://github.com/llvm/llvm-project/commit/59e405b39416c8a5e2af93b2bfaa97a8c9d67f06
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
    M flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
    M flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
    M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
    M flang/test/Lower/OpenMP/delayed-privatization-private.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90

  Log Message:
  -----------
  [flang][OpenMP] Add `%flang_fc1` `RUN` to delayed privatization tests (#84296)

I did not know how `-mmlir` flag works and was deferring the addition of
`--openm-enabled-delayed-privatization` until later because I thought
some work needs to be done to do that. This commit just adds some extra
`RUN` lines to delayed privatization tests to run them from `flang` as
well.


  Commit: 464d9d96b3565ead06396ffb8d02b4dcf9cb9556
      https://github.com/llvm/llvm-project/commit/464d9d96b3565ead06396ffb8d02b4dcf9cb9556
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Assembler/dbg-record-invalid-0.ll
    A llvm/test/Assembler/dbg-record-invalid-1.ll
    A llvm/test/Assembler/dbg-record-invalid-2.ll
    A llvm/test/Assembler/dbg-record-invalid-3.ll
    A llvm/test/Assembler/dbg-record-invalid-4.ll
    A llvm/test/Assembler/dbg-record-invalid-5.ll
    A llvm/test/Assembler/dbg-record-invalid-6.ll
    A llvm/test/Assembler/dbg-record-invalid-7.ll
    A llvm/test/Assembler/dbg-record-invalid-8.ll
    A llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
    A llvm/test/Verifier/RemoveDI/blockbyref.ll
    A llvm/test/Verifier/RemoveDI/dbg-invalid-vector.ll
    A llvm/test/Verifier/RemoveDI/di-subroutine-localvar.ll
    A llvm/test/Verifier/RemoveDI/diexpression-entry-value-llvm-ir.ll
    A llvm/test/Verifier/RemoveDI/fnarg-debuginfo.ll
    A llvm/test/Verifier/RemoveDI/fnarg-nodebug.ll
    A llvm/test/Verifier/RemoveDI/invalid-disubrange-count-node.ll
    A llvm/test/Verifier/RemoveDI/llvm.dbg.declare-address.ll
    A llvm/test/Verifier/RemoveDI/llvm.dbg.declare-expression.ll
    A llvm/test/Verifier/RemoveDI/llvm.dbg.declare-variable.ll
    A llvm/test/Verifier/RemoveDI/llvm.dbg.intrinsic-dbg-attachment.ll
    A llvm/test/Verifier/RemoveDI/llvm.dbg.value-expression.ll
    A llvm/test/Verifier/RemoveDI/llvm.dbg.value-value.ll
    A llvm/test/Verifier/RemoveDI/llvm.dbg.value-variable.ll
    A llvm/test/Verifier/RemoveDI/set1.ll

  Log Message:
  -----------
  [RemoveDIs][DebugInfo][IR] Add parsing for non-intrinsic debug values (#79818)

This patch adds support for parsing the proposed non-instruction debug
info ("RemoveDIs") from textual IR, and adds a test for the parser as well
as a set of verifier tests that are dependent on parsing to fire.

An important detail of this patch is the fact that although we can now
parse in the RemoveDIs (new) and Intrinsic (old) debug info formats, we
will always convert back to the old format at the end of parsing - this
is done for two reasons: firstly to ensure that every tool is able to
process IR printed in the new format, regardless of whether that tool
has had RemoveDIs support added, and secondly to maintain the effect of
the existing flags: for the tools where support for the new format has
been added, we will run LLVM passes in the new format iff
`--try-experimental-debuginfo-iterators=true`, and we will print in the
new format iff `--write-experimental-debuginfo-iterators=true`; the
format of the textual IR input should have no effect on either of these
features.


  Commit: 4b70d17bcffaffd75a5d8c420396f8dc755b4652
      https://github.com/llvm/llvm-project/commit/4b70d17bcffaffd75a5d8c420396f8dc755b4652
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/Interpreter/execute-stmts.cpp

  Log Message:
  -----------
  [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (#84150)

Make TopLevelStmtDecl a DeclContext so that variables defined in statements
are attached to the TopLevelDeclContext. This fixes redefinition errors
from variables declared in if conditions and for-init statements. These
must be local to the inner context (C++ 3.3.2p4), but they had generated
definitions on global scope instead.

This PR makes the TopLevelStmtDecl looking more like a FunctionDecl and
that's fine because the FunctionDecl is very close in terms of semantics.

Additionally, ActOnForStmt() requires a CompoundScope when processing a
NullStmt body.

---------

Co-authored-by: Vassil Vassilev <v.g.vassilev at gmail.com>


  Commit: 2acccf6717996bea8ade96dafdfc3343e9604694
      https://github.com/llvm/llvm-project/commit/2acccf6717996bea8ade96dafdfc3343e9604694
  Author: aniplcc <157880614+aniplcc at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/SemaCXX/cxx2b-p2266-disable-with-msvc-compat.cpp

  Log Message:
  -----------
  [Clang] Update value for __cpp_implicit_move (#84216) (#84228)

Fixes #84216


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h

  Log Message:
  -----------
  [TTI] SK_ExtractSubvector - Ensure we use the src / subvector types in the correct order

Fixes typo in #84156, fixes buildbot assertion (most targets don't seem to care so tricky to create a testcase).


  Commit: 48dd118f56e007a173b30019e860f0bd373a8ff8
      https://github.com/llvm/llvm-project/commit/48dd118f56e007a173b30019e860f0bd373a8ff8
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Fix approved revision of P2266


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/linker-wrapper-libs.c
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/openmp-offload-infer.c
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td

  Log Message:
  -----------
  [Clang][NFC] Remove '--' separator in the linker wrapper usage (#84253)

Summary:
The very first version of the `clang-linker-wrapper` used `--` as a
separator for the host and device arguments. I moved away from this
towards a commandline parsing implementation years ago but never got
around to officially removing this.


  Commit: 4cfd4a7896b5fd50274ec8573c259d7ad41741de
      https://github.com/llvm/llvm-project/commit/4cfd4a7896b5fd50274ec8573c259d7ad41741de
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/underlying-object-loop-varying-phi.ll

  Log Message:
  -----------
  [LAA] Add test case for #82665.

Test case for https://github.com/llvm/llvm-project/issues/82665.


  Commit: 61b13e0dfe1b476d9bf0fe477983be8471cfd26b
      https://github.com/llvm/llvm-project/commit/61b13e0dfe1b476d9bf0fe477983be8471cfd26b
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/test/Driver/clang-offload-bundler.c

  Log Message:
  -----------
  [ClangOffloadBundler] fix unbundling archive (#84195)

When unbundling an archive, need to save the content of each object file
to a temporary file before passing it to llvm-objcopy, instead of
passing the original input archive file to llvm-objcopy.

Also allows extracting host bundles for archives.

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


  Commit: e4d4cfa5a0111372dff2b01126545cf3139ee40b
      https://github.com/llvm/llvm-project/commit/e4d4cfa5a0111372dff2b01126545cf3139ee40b
  Author: Lei Huang <lei at ca.ibm.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp

  Log Message:
  -----------
  [libc++] Fixes time formatter test output for Linux on PowerPC (#75526)

Fix output to match actual.


  Commit: f355cd6f6c51580316e1e88ef5534bd2f8cfa498
      https://github.com/llvm/llvm-project/commit/f355cd6f6c51580316e1e88ef5534bd2f8cfa498
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp

  Log Message:
  -----------
  [mlir][EmitC] Allow further ops within expressions (#84284)

This adds the `CExpression` trait to additional ops to allow to use
these ops within the expression operation. Furthermore, the operator
precedence is defined for those ops.


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

  Changed paths:
    M libc/config/gpu/api.td

  Log Message:
  -----------
  [libc] Fix missing standard definitions in the GPU config

Summary:
Some dependencies on the standard C extensions are added transitively.
This patch adds the new values.


  Commit: 2b8aaef09e2fd0b2a5581e198a73579c6939c717
      https://github.com/llvm/llvm-project/commit/2b8aaef09e2fd0b2a5581e198a73579c6939c717
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/shufflevector.ll
    A llvm/test/MachineVerifier/test_g_splat_vector.mir
    M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  [GISEL] Add IRTranslation for shufflevector on scalable vector types (#80378)

This patch is stacked on
https://github.com/llvm/llvm-project/pull/80372,
https://github.com/llvm/llvm-project/pull/80307, and
https://github.com/llvm/llvm-project/pull/80306.

ShuffleVector on scalable vector types gets IRTranslate'd to
G_SPLAT_VECTOR since a ShuffleVector that has operates on scalable
vectors is a splat vector where the value of the splat vector is the 0th
element of the first operand, because the index mask operand is the
zeroinitializer (undef and poison are treated as zeroinitializer here).
This is analogous to what happens in SelectionDAG for ShuffleVector.

`buildSplatVector` is renamed to`buildBuildVectorSplatVector`. I did not
make this a separate patch because it would cause problems to revert
that change without reverting this change too.


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

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/test/CMakeLists.txt

  Log Message:
  -----------
  [lldb][test] Enforce `pexpect` system availability by default (#84270)

This switches the default of `LLDB_TEST_USE_VENDOR_PACKAGES` from `ON`
to `OFF` in preparation for eventually deleting it. All known LLDB
buildbots have this package installed, so flipping the default will
uncover any other users.

If this breaks anything, the preferred fix is to install `pexpect` on
the host system. The second fix is to build with cmake option
`-DLLDB_TEST_USE_VENDOR_PACKAGES=ON` as a temporary measure until
`pexpect` can be installed. If neither of those work, reverting this
patch is OK.


  Commit: 03588a27261f7ebea15af49268d2ec901fe1979e
      https://github.com/llvm/llvm-project/commit/03588a27261f7ebea15af49268d2ec901fe1979e
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/test/API/commands/platform/connect/TestPlatformConnect.py

  Log Message:
  -----------
  [lldb][test][FreeBSD] xfail TestPlatformConnect on AArch64

Details in the linked issue. Might fail on other architectures
but I can't confirm, they can add to this if it does.


  Commit: 9e0f5909d0af3911b19bb1f97fb400c3ce431f63
      https://github.com/llvm/llvm-project/commit/9e0f5909d0af3911b19bb1f97fb400c3ce431f63
  Author: SahilPatidar <patidarsahil2001 at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
    M llvm/test/CodeGen/X86/combine-smin.ll
    M llvm/test/CodeGen/X86/combine-umax.ll
    M llvm/test/CodeGen/X86/combine-umin.ll

  Log Message:
  -----------
  [DAG] Fix Failure to reassociate SMAX/SMIN/UMAX/UMIN (#82175)

Resolve #58110


  Commit: 552da2484390bb002522fc18124ac9fc19ab4b59
      https://github.com/llvm/llvm-project/commit/552da2484390bb002522fc18124ac9fc19ab4b59
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/shufflevector.ll
    R llvm/test/MachineVerifier/test_g_splat_vector.mir
    M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  Revert "[GISEL] Add IRTranslation for shufflevector on scalable vector types" (#84330)

Reverts llvm/llvm-project#80378

causing Buildbot failures that did not show up with check-llvm or CI.


  Commit: 4ce52e2d576937fe930294cae883a0daa17eeced
      https://github.com/llvm/llvm-project/commit/4ce52e2d576937fe930294cae883a0daa17eeced
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll

  Log Message:
  -----------
  [SLP]Improve minbitwidth analysis.

This improves overall analysis for minbitwidth in SLP. It allows to
analyze the trees with store/insertelement root nodes. Also, instead of
using single minbitwidth, detected from the very first analysis stage,
it tries to detect the best one for each trunc/ext subtree in the graph
and use it for the subtree.
Results in better code and less vector register pressure.

Metric: size..text

Program                                                                                                                                                size..text
                                                                                                                                                       results     results0    diff
                                                                      test-suite :: SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant.test    92549.00    92609.00  0.1%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   663381.00   663493.00  0.0%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   663381.00   663493.00  0.0%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   307182.00   307214.00  0.0%
                                                                             test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1394420.00  1394484.00  0.0%
                                                                              test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1394420.00  1394484.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2040257.00  2040273.00  0.0%

                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12396098.00 12395858.00 -0.0%
                                                                                         test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test   909944.00   909768.00 -0.0%

SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant - 4 scalar
instructions remain scalar (good).
Spec2017/x264 - the whole function idct4x4dc is vectorized using <16
x i16> instead of <16 x i32>, also zext/trunc are removed. In other
places last vector zext/sext removed and replaced by
extractelement + scalar zext/sext pair.
MultiSource/Benchmarks/Bullet/bullet - reduce or <4 x i32> replaced by
reduce or <4 x i8>
Spec2017/imagick - Removed extra zext from 2 packs of the operations.
Spec2017/parest - Removed extra zext, replaced by extractelement+scalar
zext
Spec2017/blender - the whole bunch of vector zext/sext replaced by
extractelement+scalar zext/sext, some extra code vectorized in smaller
types.
Spec2006/gobmk - fixed cost estimation, some small code remains scalar.

Reviewers: RKSimon

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


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

  Changed paths:
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [LinkerWrapper] Use the correct empty file on Windows (#84322)

Summary:
The clang-offload-bundler uses an empty file to control the bundles made
for embedding. Previously this still used `/dev/null` by mistake even on
Windows.


  Commit: d6b3be375ffed14fefc93c2031cd56e680afd0c1
      https://github.com/llvm/llvm-project/commit/d6b3be375ffed14fefc93c2031cd56e680afd0c1
  Author: sylvain-audi <62035306+sylvain-audi at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [NFC][Asan] Prepare AddressSanitizer to detect inserted runtime calls (#84223)

This is in preparation for an upcoming commit that will add "funclet"
OpBundle to the inserted runtime calls where the function's EH
personality requires it.

See PR https://github.com/llvm/llvm-project/pull/82533


  Commit: 8aed911fe91bb6cbfb95789683dadf3e77ea713a
      https://github.com/llvm/llvm-project/commit/8aed911fe91bb6cbfb95789683dadf3e77ea713a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Implement complex comparisons


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

  Changed paths:
    M mlir/python/mlir/dialects/arith.py
    M mlir/test/python/dialects/arith_dialect.py

  Log Message:
  -----------
  Reapply "[mlir][py] better support for arith.constant construction" (#84142)

Arithmetic constants for vector types can be constructed from objects
implementing Python buffer protocol such as `array.array`. Note that
until Python 3.12, there is no typing support for buffer protocol
implementers, so the annotations use array explicitly.

Reverts llvm/llvm-project#84103


  Commit: c03fd37d9b61bc6063e4d6e983846f877e83ac67
      https://github.com/llvm/llvm-project/commit/c03fd37d9b61bc6063e4d6e983846f877e83ac67
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
    R openmp/libomptarget/test/offloading/fortran/declare-target-array-in-target-region.f90
    A openmp/libomptarget/test/offloading/fortran/declare-target-vars-in-target-region.f90

  Log Message:
  -----------
  [flang] Changes to  map variables in link clause of declare target (#83643)

As per the OpenMP standard, "If a variable appears in a link clause on a
declare target directive that does not have a device_type clause with
the nohost device-type-description then it is treated as if it had
appeared in a map clause with a map-type of tofrom" is an implicit
mapping rule. Before this change, such variables were mapped as to by
default.


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

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

  Log Message:
  -----------
  [SLP][NFC]Add lshr version of the test with casting, NFC.


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

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/bit.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_bit_floor_uc.cpp
    A libc/src/stdbit/stdc_bit_floor_uc.h
    A libc/src/stdbit/stdc_bit_floor_ui.cpp
    A libc/src/stdbit/stdc_bit_floor_ui.h
    A libc/src/stdbit/stdc_bit_floor_ul.cpp
    A libc/src/stdbit/stdc_bit_floor_ul.h
    A libc/src/stdbit/stdc_bit_floor_ull.cpp
    A libc/src/stdbit/stdc_bit_floor_ull.h
    A libc/src/stdbit/stdc_bit_floor_us.cpp
    A libc/src/stdbit/stdc_bit_floor_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_bit_floor_uc_test.cpp
    A libc/test/src/stdbit/stdc_bit_floor_ui_test.cpp
    A libc/test/src/stdbit/stdc_bit_floor_ul_test.cpp
    A libc/test/src/stdbit/stdc_bit_floor_ull_test.cpp
    A libc/test/src/stdbit/stdc_bit_floor_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_bit_floor (C23) (#84233)


  Commit: b1f2e19dc27d339cbeb3373066e73a4c91d133dd
      https://github.com/llvm/llvm-project/commit/b1f2e19dc27d339cbeb3373066e73a4c91d133dd
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Use ArrayElem{,Pop} ops more often

Instead of the longer ArrayElemPtr + Load.


  Commit: 5c752df1e10b7af0684e549601f0a8dccffcfcf0
      https://github.com/llvm/llvm-project/commit/5c752df1e10b7af0684e549601f0a8dccffcfcf0
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  [libomptarget][nextgen-plugin][NFC] Clean-up InputSignal checks (#83458)

Clean-up InputSignal checks.


  Commit: d1fc59c3b5c5ce292a6060d7a5545094cdf1b5fc
      https://github.com/llvm/llvm-project/commit/d1fc59c3b5c5ce292a6060d7a5545094cdf1b5fc
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/test/Dialect/ArmSME/vector-legalization.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Rewrite illegal `shape_casts` to `vector.transpose` ops (#82985)

This adds a rewrite that converts illegal 2D unit-dim `shape_casts` into
`vector.transpose` ops.

E.g.

```mlir
// Case 1:
%a = vector.shape_cast %0 : vector<[4]x1xf32> to vector<1x[4]xf32>
// Case 2:
%b = vector.shape_cast %1 : vector<[4]x1xf32> to vector<[4]xf32>
```

Becomes:

```mlir
// Case 1:
%a = vector.transpose %0 : [1, 0] vector<[4]x1xf32> to vector<1x[4]xf32>
// Case 2:
%t = vector.transpose %1 : [1, 0] vector<[4]x1xf32> to vector<1x[4]xf32>
%b = vector.shape_cast %t : vector<1x[4]xf32> to vector<[4]xf32>
```

Various lowerings and drop unit-dims patterns add such shape_casts,
however, if they do not cancel out (which they likely won't if we've
reached the vector-legalization pass) they will prevent lowering the IR.

Rewriting them as a transpose gives `LiftIllegalVectorTransposeToMemory`
a chance to eliminate the illegal types.


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

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

  Log Message:
  -----------
  [HIP] Do not include the CUID module hash with the new driver (#84332)

Summary:
The new driver does not need this hash and it can lead to redefined
symbol errors when the CUID hash isn't set.


  Commit: 8f79cdd8da97c131ae7d8a3210bb69cb6654903d
      https://github.com/llvm/llvm-project/commit/8f79cdd8da97c131ae7d8a3210bb69cb6654903d
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir

  Log Message:
  -----------
  [AArch64] Add -verify-machineinstrs to a test

This would have helped identify problems with #83905 which only showed
up in an LLVM_ENABLE_EXPENSIVE_CHECKS build.


  Commit: 96049fcf4e5f2eb0271bdfa89e113eef9c5fa9f6
      https://github.com/llvm/llvm-project/commit/96049fcf4e5f2eb0271bdfa89e113eef9c5fa9f6
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/shufflevector.ll
    A llvm/test/MachineVerifier/test_g_splat_vector.mir
    M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  [GISEL] Add IRTranslation for shufflevector on scalable vector types (#80378)

Recommits llvm/llvm-project#80378 which was reverted in
llvm/llvm-project#84330. The problem was that the change in
llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir used
217 as an opcode instead of a regex.


  Commit: 3714f937b835c06c8c32ca4f3f61ba2317db2296
      https://github.com/llvm/llvm-project/commit/3714f937b835c06c8c32ca4f3f61ba2317db2296
  Author: Edgar <git at edgarluque.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M mlir/include/mlir-c/BuiltinAttributes.h
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
    M mlir/test/CAPI/ir.c
    M mlir/test/CAPI/llvm.c

  Log Message:
  -----------
  [MLIR] Add llvm (debug) attributes to CAPI (#83992)

This PR adds the following to the mlir c api:

- The disctinct mlir builtin attribute.
- LLVM attributes (mostly debug related ones)


  Commit: 6157538d9e4eea135fb863b972c577f648c21641
      https://github.com/llvm/llvm-project/commit/6157538d9e4eea135fb863b972c577f648c21641
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/ptrmask.ll

  Log Message:
  -----------
  [InstCombine] ptrmask of gep for dynamic pointer aligment (#80002)

Targets the dynamic realignment pattern of `(Ptr + Align - 1) & -Align;`
as implemented by gep then ptrmask.

Specifically, when the pointer already has alignment information,
dynamically realigning it to less than is already known should be a
no-op. Discovered while writing test cases for another patch.

For the zero low bits of a known aligned pointer, adding the gep index
then removing it with a mask is a no-op. Folding the ptrmask effect
entirely into the gep is the ideal result as that unblocks other
optimisations that are not aware of ptrmask.

In some other cases the gep is known to be dead and is removed without
changing the ptrmask.

In the least effective case, this transform creates a new gep with a
rounded-down index and still leaves the ptrmask unchanged. That
simplified gep is still a minor improvement, geps are cheap and ptrmask
occurs in address calculation contexts so I don't think it's worth
special casing to avoid the extra instruction.


  Commit: 36f866c6ec3f6671fd4178ed4e49fd632a335cc2
      https://github.com/llvm/llvm-project/commit/36f866c6ec3f6671fd4178ed4e49fd632a335cc2
  Author: jeffreytan81 <jeffreytan at meta.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/test/API/functionalities/fork/concurrent_vfork/main.cpp

  Log Message:
  -----------
  Fix vfork test strcmp buildbot failure (#84224)

The buildbot seems to complain about `strcmp` function not available in
the vfork patch (https://github.com/llvm/llvm-project/pull/81564):

https://lab.llvm.org/buildbot/#/builders/68/builds/70093/steps/6/logs/stdio

Unfortunately, I can't reproduce the failure on my linux machine so this
is a guessing fix. If anyone has a way to reproduce and very this fix,
please feel free to merge this change.

Co-authored-by: jeffreytan81 <jeffreytan at fb.com>


  Commit: ee24409c40ff35c3221892d9723331c233ca9f0e
      https://github.com/llvm/llvm-project/commit/ee24409c40ff35c3221892d9723331c233ca9f0e
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-atomic-load-store.mir

  Log Message:
  -----------
  Revert "[AArch64][GlobalISel] Fix incorrect selection of monotonic s32->s64 anyext load."

This reverts commit 7524ad9aa7b1b5003fe554a6ac8e434d50027dfb.

Broke sanitizer build bots, e.g. https://lab.llvm.org/buildbot/#/builders/5/builds/41588/steps/9/logs/stdio


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td

  Log Message:
  -----------
  [LinkerWrapper] Accept compression arguments for HIP fatbins (#84337)

Summary:
The HIP toolchain has support for compressing the final output. We
should respect that when we create the executable.


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

  Changed paths:
    M lldb/include/lldb/Core/Progress.h
    M lldb/source/Core/Progress.cpp
    M lldb/unittests/Core/ProgressReportTest.cpp

  Log Message:
  -----------
  [lldb] Don't report all progress event as completed. (#84281)

Currently, progress events reported by the ProgressManager and broadcast
to eBroadcastBitProgressCategory always specify they're complete. The
problem is that the ProgressManager reports kNonDeterministicTotal for
both the total and the completed number of (sub)events. Because the
values are the same, the event reports itself as complete.

This patch fixes the issue by reporting 0 as the completed value for the
start event and kNonDeterministicTotal for the end event.


  Commit: cfdfeb440cb2e25d1537616118a6c5509d96f2ba
      https://github.com/llvm/llvm-project/commit/cfdfeb440cb2e25d1537616118a6c5509d96f2ba
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/Program.h

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unneeded forward declaration

We already import Record.h.


  Commit: a435e1f63bbd8c6d0ff140ccc890c25787091490
      https://github.com/llvm/llvm-project/commit/a435e1f63bbd8c6d0ff140ccc890c25787091490
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [acc] Add attribute for combined constructs (#80319)

Combined constructs are decomposed into separate operations. However,
this does not adhere to `acc` dialect's goal to be able to regenerate
semantically equivalent clauses as user's intent. Thus, add an attribute
to keep track of the combined constructs.


  Commit: 6515930b0cc4aa2e11e75728ef6cbeecbe5caec2
      https://github.com/llvm/llvm-project/commit/6515930b0cc4aa2e11e75728ef6cbeecbe5caec2
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp

  Log Message:
  -----------
  [lldb] Minor cleanup in StoringDiagnosticConsumer (#84263)

Removes an unused field. Retypes unshared smart pointers to `unique_ptr`.


  Commit: 9e4f289bd6c905a2a436b3311ca49ad2d6328060
      https://github.com/llvm/llvm-project/commit/9e4f289bd6c905a2a436b3311ca49ad2d6328060
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Add [[nodiscard]] attribute to emit functions


  Commit: 41572177d129bf19f13f077a30b582fd3b8f790c
      https://github.com/llvm/llvm-project/commit/41572177d129bf19f13f077a30b582fd3b8f790c
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    A clang/test/CXX/drs/dr519.cpp
    A clang/test/CXX/drs/dr571.cpp
    M clang/test/CXX/drs/dr5xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add CodeGen tests for CWG 5xx issues (#84303)

This patch covers
[CWG519](https://cplusplus.github.io/CWG/issues/519.html) "Null pointer
preservation in `void*` conversions",
[CWG571](https://cplusplus.github.io/CWG/issues/571.html) "References
declared const".


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

  Changed paths:
    A llvm/include/llvm/Transforms/Instrumentation/RemoveTrapsPass.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    A llvm/lib/Transforms/Instrumentation/RemoveTrapsPass.cpp
    A llvm/test/Transforms/RemoveTraps/remove-traps.ll

  Log Message:
  -----------
  [ubsan][pgo] Pass to remove ubsan checks based on profile data (#83471)

UBSAN checks can be too expensive to be used
in release binaries. However not all code affect
performace in the same way. Removing small
number of checks in hot code we can performance
loss, preserving most of the checks.


  Commit: 54c955b828bbdcf46586556339cbd3cf8f205b4f
      https://github.com/llvm/llvm-project/commit/54c955b828bbdcf46586556339cbd3cf8f205b4f
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/include/lldb/Core/ValueObjectCast.h
    M lldb/include/lldb/Core/ValueObjectChild.h
    M lldb/include/lldb/Core/ValueObjectConstResult.h
    M lldb/include/lldb/Core/ValueObjectDynamicValue.h
    M lldb/include/lldb/Core/ValueObjectMemory.h
    M lldb/include/lldb/Core/ValueObjectRegister.h
    M lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
    M lldb/include/lldb/Core/ValueObjectVTable.h
    M lldb/include/lldb/Core/ValueObjectVariable.h
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    M lldb/source/Core/ValueObjectCast.cpp
    M lldb/source/Core/ValueObjectChild.cpp
    M lldb/source/Core/ValueObjectConstResult.cpp
    M lldb/source/Core/ValueObjectDynamicValue.cpp
    M lldb/source/Core/ValueObjectMemory.cpp
    M lldb/source/Core/ValueObjectRegister.cpp
    M lldb/source/Core/ValueObjectSyntheticFilter.cpp
    M lldb/source/Core/ValueObjectVTable.cpp
    M lldb/source/Core/ValueObjectVariable.cpp

  Log Message:
  -----------
  Change the return type of ValueObject::CalculateNumChildren to uint32_t.

In the end this value comes from TypeSystem::GetNumChildren which
returns a uint32_t, so ValueObject should be consistent with that.


  Commit: 3d7c5b80e38b01223811eb557a5e9953cfa2154d
      https://github.com/llvm/llvm-project/commit/3d7c5b80e38b01223811eb557a5e9953cfa2154d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/include/lldb/DataFormatters/TypeSynthetic.h
    M lldb/include/lldb/DataFormatters/VectorIterator.h
    M lldb/source/Core/ValueObjectSyntheticFilter.cpp
    M lldb/source/DataFormatters/TypeSynthetic.cpp
    M lldb/source/DataFormatters/VectorType.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
    M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
    M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/Language/ObjC/NSArray.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/source/Plugins/Language/ObjC/NSException.cpp
    M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
    M lldb/source/Plugins/Language/ObjC/NSSet.cpp

  Log Message:
  -----------
  Change the return type of SyntheticFrontend::CalculateNumChildren to int32_t

This way it is consistent with ValueObject and TypeSystem.


  Commit: e710523e408ce64c15fddf9f7dbe1248795c20d7
      https://github.com/llvm/llvm-project/commit/e710523e408ce64c15fddf9f7dbe1248795c20d7
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
    M lldb/include/lldb/DataFormatters/TypeSynthetic.h
    M lldb/include/lldb/DataFormatters/VectorIterator.h
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectSyntheticFilter.cpp
    M lldb/source/DataFormatters/TypeSynthetic.cpp
    M lldb/source/DataFormatters/VectorType.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
    M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
    M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/Language/ObjC/NSArray.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/source/Plugins/Language/ObjC/NSException.cpp
    M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
    M lldb/source/Plugins/Language/ObjC/NSSet.cpp

  Log Message:
  -----------
  Change GetChildAtIndex to take a uint32_t


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

  Changed paths:
    M clang/test/CodeGen/tbaa-struct.cpp

  Log Message:
  -----------
  [TBAA] Add extra tests to copy structs with union members.

Adds extra test coverage for TBAA generation for copies of structs with
union members.


  Commit: 7fc583c9a5ddf447b2b53007778cb034a186d4b5
      https://github.com/llvm/llvm-project/commit/7fc583c9a5ddf447b2b53007778cb034a186d4b5
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/source/Core/ValueObject.cpp

  Log Message:
  -----------
  Change Get|SetNumChildren to use unint32_t


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

  Changed paths:
    M libc/src/__support/UInt.h
    M libc/src/__support/math_extras.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/StringUtils.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/math_extras_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  [libc] Fix forward missing `BigInt` specialization of `mask_leading_ones` / `mask_trailing_ones` (#84325)

#84299 broke the arm32 build, this patch fixes it forward.


  Commit: 6e692e726a5bc4385ab64635e9c06b7574332e4d
      https://github.com/llvm/llvm-project/commit/6e692e726a5bc4385ab64635e9c06b7574332e4d
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_mult_elt.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_sum.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_min.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_prod.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reshape.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_push_back.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_sort_coo.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir

  Log Message:
  -----------
  [mlir][sparse] Migrate to sparse_tensor.print (#83946)

Continuous efforts following #83506.


  Commit: 4cb5a96af646e18f9fc8c1b337299d5465f0a4d6
      https://github.com/llvm/llvm-project/commit/4cb5a96af646e18f9fc8c1b337299d5465f0a4d6
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scale.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sign.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sorted_coo.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_storage.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_strided_conv_2d_nhwc_hwcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_c32.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_f16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_ops.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose_coo.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir

  Log Message:
  -----------
  [mlir][sparse] Migrate more tests to sparse_tensor.print (#84249)

Continuous efforts following #83946.


  Commit: fc837f7a2dbdfca472bd1275362052facfe331a0
      https://github.com/llvm/llvm-project/commit/fc837f7a2dbdfca472bd1275362052facfe331a0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

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


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

  Changed paths:
    A llvm/test/CodeGen/X86/eq-or-eq-range-of-2.ll

  Log Message:
  -----------
  [X86] Add tests for folding `(icmp ult (add x,-C),2)` -> `(or (icmp eq X,C), (icmp eq X,C+1))`; NFC


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/eq-or-eq-range-of-2.ll

  Log Message:
  -----------
  [X86] Fold `(icmp ult (add x,-C),2)` -> `(or (icmp eq X,C), (icmp eq X,C+1))` for Vectors

This is undoing a middle-end transform which does the opposite. Since
X86 doesn't have unsigned vector comparison instructions pre-AVX512,
the simplified form gets worse codegen.

Fixes #66479

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

Closes #84104
Closes #66479


  Commit: 00f412168cf6aee234615a11d1424fc58221eb78
      https://github.com/llvm/llvm-project/commit/00f412168cf6aee234615a11d1424fc58221eb78
  Author: Hongyu Chen <hongyuchen.dev at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    A llvm/include/llvm/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.h
    A llvm/include/llvm/ExecutionEngine/Orc/Shared/VTuneSharedStructs.h
    A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
    M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
    A llvm/test/ExecutionEngine/JITLink/x86-64/ELF_vtune.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/lit.local.cfg
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [ORC][JITLink] Add Intel VTune support to JITLink (#83957)

[ORC] Re-land https://github.com/llvm/llvm-project/pull/81826

This patch adds two plugins: VTuneSupportPlugin.cpp and
JITLoaderVTune.cpp. The testing is done in a manner similar to
llvm-jitlistener. Currently, we only support the old version of Intel
VTune API.


  Commit: d64632becd159a4b816af2d5a01fd3531bd45f65
      https://github.com/llvm/llvm-project/commit/d64632becd159a4b816af2d5a01fd3531bd45f65
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 00f412168cf6


  Commit: 4d31fbbb5af6528387fd5efd90363a408713108b
      https://github.com/llvm/llvm-project/commit/4d31fbbb5af6528387fd5efd90363a408713108b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Propagate defineMaterializing failure when resource tracker is defunct.

Remove an overly aggressive cantFail: This call to defineMaterializing should
never fail with a duplicate symbols error (since all new symbols shoul be
weak), but may fail if the tracker has become defunct in the mean time. In that
case we need to propagate the error.


  Commit: 9286665f7667a00062ef7bb8d1eec0fa02d2602c
      https://github.com/llvm/llvm-project/commit/9286665f7667a00062ef7bb8d1eec0fa02d2602c
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  AMDGPU: Use OtherPredicates for v_dot2_bf16_bf16(f16_f16) pseudo (#84354)

This is because SubtargetPredicate is not copied from pseudo to dpp16
and dpp8 real. Actually this is the common issue for insts with
_Realtriple_ --- We should avoid using SubtargetPredicate to define
pseudo: the predicate will be lost in real.


  Commit: b8b434b3e150f1c79b114893e36f8e447e560b80
      https://github.com/llvm/llvm-project/commit/b8b434b3e150f1c79b114893e36f8e447e560b80
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [GISEL] Silence unused variable warning. NFC


  Commit: 4f85f620b6a92e657dc9f719158dbdcae561ead7
      https://github.com/llvm/llvm-project/commit/4f85f620b6a92e657dc9f719158dbdcae561ead7
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Port 3714f937b835c06c8c32ca4f3f61ba2317db2296


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

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/spec/stdc.td
    M libc/src/string/CMakeLists.txt
    A libc/src/string/memset_explicit.cpp
    A libc/src/string/memset_explicit.h
    M libc/test/src/string/CMakeLists.txt
    A libc/test/src/string/memset_explicit_test.cpp

  Log Message:
  -----------
  [libc][c23] add memset_explicit (#83577)


  Commit: 308a2360725948fd6c77d005110c169ab1a8322c
      https://github.com/llvm/llvm-project/commit/308a2360725948fd6c77d005110c169ab1a8322c
  Author: Clement Courbet <courbet at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/unittests/clang-tidy/DeclRefExprUtilsTest.cpp

  Log Message:
  -----------
  [clang-tidy] `isOnlyUsedAsConst`: Handle static method calls. (#84005)

... using method syntax:

```
struct S {
  static void f()
};

void DoIt(S& s) {
  s.f();  // Does not mutate `s` through the `this` parameter.
}
```


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

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/udiv-expansion.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/urem-expansion.ll

  Log Message:
  -----------
  [CVP] Add test coverage for an upcoming generalization of expandUDivOrURem


  Commit: 292a28df6c55679fad0589dea35278a8c66b2ae1
      https://github.com/llvm/llvm-project/commit/292a28df6c55679fad0589dea35278a8c66b2ae1
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M libcxx/include/__availability
    A libcxx/test/libcxx/vendor/apple/availability-with-pedantic-errors.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Enable availability based on the compiler instead of __has_extension (#84065)

__has_extension(...) doesn't work as intended when -pedantic-errors is
used with Clang. With that flag, __has_extension(...) is equivalent to
__has_feature(...), which means that checks like

    __has_extension(pragma_clang_attribute_external_declaration)

will return 0. In turn, this has the effect of disabling availability
markup in libc++, which is undesirable.

rdar://124078119


  Commit: d0b702279819fe2fd3b3d2bfa274c895ac49f23b
      https://github.com/llvm/llvm-project/commit/d0b702279819fe2fd3b3d2bfa274c895ac49f23b
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M libc/config/baremetal/api.td
    M libc/config/linux/api.td
    M libc/spec/llvm_libc_ext.td
    A libc/spec/llvm_libc_stdfix_ext.td

  Log Message:
  -----------
  [libc] Refactor stdfix extension from llvm_libc_ext.td to llvm_libc_stdfix_ext.td. (#84365)

This fixes runtime build for armv6 baremetal targets:
https://github.com/llvm/llvm-project/pull/83959#issuecomment-1984221249


  Commit: a41226b05510a6f40d99fc622d78853460dc5599
      https://github.com/llvm/llvm-project/commit/a41226b05510a6f40d99fc622d78853460dc5599
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [ValueTracking] Fix KnownBits conflict for calls (range vs returned) (#84353)

If a function only exits for certain input values we can still derive
that an argument is "returned". We can also derive range metadata that
describe the possible value range returned by the function. However, it
turns out that those two analyses can result in conflicting information.

Example:
  declare i16 @foo(i16 returned)
  ...
  %A = call i16 @foo(i16 4095), !range !{i16 32, i16 33}

To avoid "Bits known to be one AND zero?" assertion failures we know
make sure to discard the known bits for this kind of scenario.


  Commit: 458636690afdd223ffa72f49164f30449b588892
      https://github.com/llvm/llvm-project/commit/458636690afdd223ffa72f49164f30449b588892
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/unittests/Core/ProgressReportTest.cpp

  Log Message:
  -----------
  [lldb] Do some gardening in ProgressReportTest (NFC) (#84278)

- Factor our common setup code.
- Split the ProgressManager test into separate tests as they test
separate things.
- Fix usage of EXPECT (which continues on failure) and ASSERT (which
halts on failure). We must use the latter when calling GetEvent as
otherwise we'll try to dereference a null EventSP.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll

  Log Message:
  -----------
  Revert "[SLP]Improve minbitwidth analysis."

This reverts commit 4ce52e2d576937fe930294cae883a0daa17eeced to fix
issues detected by https://lab.llvm.org/buildbot/#/builders/74/builds/26470/steps/12/logs/stdio.


  Commit: ecf7db8b52d7061ef8f14c1f7b6fcc370072d087
      https://github.com/llvm/llvm-project/commit/ecf7db8b52d7061ef8f14c1f7b6fcc370072d087
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/test/Shell/Unwind/eh-frame-dwarf-unwind.test
    M lldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test
    M lldb/test/Shell/lit.cfg.py

  Log Message:
  -----------
  [lldb] Disable shell tests affected by ld_new bug (#84246)

Equivalent to the changes made in https://github.com/llvm/llvm-project/pull/83941, 
except to support shell tests.


  Commit: 641b98a0d1e20da9500aa012ced41e53967a423f
      https://github.com/llvm/llvm-project/commit/641b98a0d1e20da9500aa012ced41e53967a423f
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir

  Log Message:
  -----------
  [GlobalISel] Fix crash in tryFoldAndOrOrICmpsUsingRanges() with pointer types.


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

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    A bolt/test/X86/linux-alt-instruction.s

  Log Message:
  -----------
  [BOLT] Add reading support for Linux kernel .altinstructions section (#84283)

Read .altinstructions and annotate instructions that have alternative
sequences with "AltInst" annotation. Note that some instructions may
have more than one alternatives, in which case they will have multiple
annotations in the form "AltInst", "AltInst2", "AltInst3", etc.


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

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DarwinSDKInfo.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    A clang/test/CodeGen/attr-availability-visionos.c
    A clang/test/Sema/attr-availability-visionos.c
    M clang/unittests/Basic/DarwinSDKInfoTest.cpp

  Log Message:
  -----------
  [clang] Upstream visionOS Availability & DarwinSDKInfo APIs (#84279)

Admittedly a bit awkward, `visionos` is the correct and accepted
spelling for annotating availability for xrOS target triples. This patch
detects errors and handles cases when `xros` is mistakenly passed.
In addition, add APIs for introduced/deprecated/obsoleted versioning in
DarwinSDKInfo mappings.


  Commit: ced1fac8a32e35b63733bda27c7f5b9a2b635403
      https://github.com/llvm/llvm-project/commit/ced1fac8a32e35b63733bda27c7f5b9a2b635403
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [mlir][sparse] Move n:m printing into toMLIRString (#84264)


  Commit: 167b90d0401d0fe488195c7e3d6fc1edc8fc5d94
      https://github.com/llvm/llvm-project/commit/167b90d0401d0fe488195c7e3d6fc1edc8fc5d94
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    A clang/test/CodeGen/tbaa-struct-relaxed-aliasing-with-tsan.cpp

  Log Message:
  -----------
  [TBAA] Add test showing tbaa.struct being generated with relaxed-alias.

Add test showing that tbaa.struct is generated when using TSan with
relaxed-aliasing.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoM.td
    M llvm/lib/Target/RISCV/RISCVSchedRocket.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td
    M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td

  Log Message:
  -----------
  [RISCV] Split div vs rem scheduling information [nfc] (#84385)

Allows a processor to define different latencies for the two operations.


  Commit: f78129e2bbafdd04a71bc09fc44e0797dd08db05
      https://github.com/llvm/llvm-project/commit/f78129e2bbafdd04a71bc09fc44e0797dd08db05
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h

  Log Message:
  -----------
  [Orc] Add NotifyCreated callback for LLJITBuilder (#84175)

This is useful to attach generators to JITDylibs or inject initial
symbol definitions.


  Commit: 2a4a852a67eab2f8d0533c23719b1bd08d6edea9
      https://github.com/llvm/llvm-project/commit/2a4a852a67eab2f8d0533c23719b1bd08d6edea9
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    A clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp

  Log Message:
  -----------
  Reland [clang-repl] Expose setter for triple in IncrementalCompilerBuilder (#84174)

With out-of-process execution the target triple can be different from
the one on the host. We need an interface to configure it.

Relanding this with cleanup-fixes in the unittest.


  Commit: 23d2c388303982e4341f248120915328a6444b51
      https://github.com/llvm/llvm-project/commit/23d2c388303982e4341f248120915328a6444b51
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 2a4a852a67ea


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/urem-expansion.ll

  Log Message:
  -----------
  [CVP] Freeze Y when expanding urem x, y with X < 2Y (#84390)

We're going from a single use to two independent uses, we need these two
to see consistent values for undef. As an example, consider x = 0x2 when
y = 0b00u1. If the sub use picks 0b0001 and the cmp use picks 0b0011,
that would be incorrect.


  Commit: 48673825f47cbac9cd7c61299ca8d01579314ae0
      https://github.com/llvm/llvm-project/commit/48673825f47cbac9cd7c61299ca8d01579314ae0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Deallocate FinalizedAllocs on error paths in notifyEmitted.

If notifyEmitted encounters a failure (either because some plugin returned one,
or because the ResourceTracker was defunct) then we need to deallocate the
FinalizedAlloc manually.

No testcase yet: This requires a concurrent setup -- we'll need to build some
infrastructure to coordinate links and deliberately injected failures in order
to reliably test this.


  Commit: 69b8bc71110aca64c74a14800e800f4b151d5d6f
      https://github.com/llvm/llvm-project/commit/69b8bc71110aca64c74a14800e800f4b151d5d6f
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member-2.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member.cpp

  Log Message:
  -----------
  [Dexter] Extend XFAIL of Dexter tests to all MacOS architectures. (#83936)

I am trying to bring up a MacOS buildbot targeting x86 and noticed that
two Dexter tests were failing,
cross-project-tests/debuginfo-tests/llgdb-tests/static-member.cpp and
cross-project-tests/debuginfo-tests/llgdb-tests/static-member-2.cpp.
Looking in the history for these tests, they were XFAILed for Apple
Silicon in 9c46606 and are failing similar on x86 for me, so we should extend
the XFAIL to all MacOS architectures.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/cuda-phases.cu

  Log Message:
  -----------
  [CUDA] Include PTX in non-RDC mode using the new driver (#84367)

Summary:
The old driver embed PTX in rdc-mode and so does the `nvcc` compiler.
The new drivers currently does not do this, so we should keep it
consistent in this case. This simply requires adding the assembler
output as an input to the offloading action that gets fed to fatbin.


  Commit: 14171b87a3b5a403f39d78da964595175636a0ae
      https://github.com/llvm/llvm-project/commit/14171b87a3b5a403f39d78da964595175636a0ae
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/stdfix.rst
    M libc/spec/llvm_libc_stdfix_ext.td
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/src/stdfix/CMakeLists.txt
    A libc/src/stdfix/exphk.cpp
    A libc/src/stdfix/exphk.h
    A libc/src/stdfix/expk.cpp
    A libc/src/stdfix/expk.h
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/ExpTest.h
    A libc/test/src/stdfix/exphk_test.cpp
    A libc/test/src/stdfix/expk_test.cpp

  Log Message:
  -----------
  [libc][stdfix] Add exp function for short _Accum and _Accum types. (#84391)


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    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/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    A llvm/test/CodeGen/RISCV/pr84200.ll
    M llvm/test/CodeGen/RISCV/rv32zbb-zbkb.ll
    M llvm/test/CodeGen/RISCV/rv32zbs.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/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
    M llvm/test/CodeGen/RISCV/signed-truncation-check.ll

  Log Message:
  -----------
  [RISCV] Insert a freeze before converting select to AND/OR. (#84232)

Select blocks poison, but AND/OR do not. We need to insert a freeze
to block poison propagation.

This creates suboptimal codegen which I will try to fix with other
patches. I'm prioritizing the correctness fix since we have 2 bug reports.

Fixes #84200 and #84350


  Commit: d93a126090b6e772d3b96f201cdd44ea0d6360ef
      https://github.com/llvm/llvm-project/commit/d93a126090b6e772d3b96f201cdd44ea0d6360ef
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
    M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py

  Log Message:
  -----------
  [lldb] Add ability to detect darwin host linker version to xfail tests (#83941)

When Apple released its new linker, it had a subtle bug that caused
LLDB's TLS tests to fail. Unfortunately this means that TLS tests are
not going to work on machines that have affected versions of the linker,
so we should annotate the tests so that they only work when we are
confident the linker has the required fix.

I'm not completely satisfied with this implementation. That being said,
I believe that adding suport for linker versions in general is a
non-trivial change that would require far more thought. There are a few
challenges involved:
- LLDB's testing infra takes an argument to change the compiler, but
there's no way to switch out the linker.
- There's no standard way to ask a compiler what linker it will use.
- There's no standard way to ask a linker what its version is. Many
platforms have the same name for their linker (ld).
- Some platforms automatically switch out the linker underneath you. We
do this for Windows tests (where we use LLD no matter what).

Given that this is affecting the tests on our CI, I think this is an
acceptable solution in the interim.


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

  Changed paths:
    M libc/docs/index.rst
    A libc/docs/talks.rst

  Log Message:
  -----------
  [libc][docs] add page linking to talks (#84393)


  Commit: 10edabbcf331fdd53d27c5195de1b692a0063721
      https://github.com/llvm/llvm-project/commit/10edabbcf331fdd53d27c5195de1b692a0063721
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    A llvm/test/CodeGen/X86/GlobalISel/legalize-sdiv.mir
    A llvm/test/CodeGen/X86/GlobalISel/legalize-srem.mir
    A llvm/test/CodeGen/X86/GlobalISel/legalize-udiv.mir
    A llvm/test/CodeGen/X86/GlobalISel/legalize-urem.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86-legalize-sdiv.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86-legalize-srem.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86-legalize-udiv.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86-legalize-urem.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86-select-sdiv.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86-select-srem.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86-select-udiv.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86-select-urem.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86_64-legalize-sdiv.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86_64-legalize-srem.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86_64-legalize-udiv.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86_64-legalize-urem.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86_64-select-sdiv.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86_64-select-srem.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86_64-select-udiv.mir
    R llvm/test/CodeGen/X86/GlobalISel/x86_64-select-urem.mir
    A llvm/test/CodeGen/X86/isel-sdiv.ll
    A llvm/test/CodeGen/X86/isel-srem.ll
    A llvm/test/CodeGen/X86/isel-udiv.ll
    A llvm/test/CodeGen/X86/isel-urem.ll

  Log Message:
  -----------
  [X86][GlobalISel] Enable G_SDIV/G_UDIV/G_SREM/G_UREM (#81615)

* Create a libcall for s64 type for 32 bit targets.
* Fix a bug in REM selection: SUBREG_TO_REG is not intended to produce a
value from super registers.
* Replace selector tests by end-to-end tests. Other passes
check the selected MIR better.


  Commit: 5d33f7176b002da244823ca0e6b524777890dd9d
      https://github.com/llvm/llvm-project/commit/5d33f7176b002da244823ca0e6b524777890dd9d
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h

  Log Message:
  -----------
  Fix build: llvm::Error needs to be moved for implicit conversion to Expected.

I don't know why the premerge setup didn't fail on this, but many
builbots are broken right now.


  Commit: 5669660f37ef1800f4a7852577364b024d75e3d8
      https://github.com/llvm/llvm-project/commit/5669660f37ef1800f4a7852577364b024d75e3d8
  Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/CMakeLists.txt
    A mlir/include/mlir/Dialect/XeGPU/CMakeLists.txt
    A mlir/include/mlir/Dialect/XeGPU/IR/CMakeLists.txt
    A mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
    A mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.td
    A mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    A mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
    A mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    A mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/CMakeLists.txt
    A mlir/lib/Dialect/XeGPU/CMakeLists.txt
    A mlir/lib/Dialect/XeGPU/IR/CMakeLists.txt
    A mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    A mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp

  Log Message:
  -----------
  [MLIR] XeGPU dialect for Intel GPU - core definitions and base classes (#78483)

This PR follows our previous [RFC
](https://discourse.llvm.org/t/rfc-add-xegpu-dialect-for-intel-gpus/75723)
to add XeGPU dialect definition for Intel GPUs. It contains dialect,
type, attributes and operators definitions, as well as testcases for
semantic checks. The lowering and optimization passes will be issued
with separated passes.

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


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

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

  Log Message:
  -----------
  [BOLT] Properly propagate Cursor errors (#84378)

Handle out-of-bounds reading errors correctly in LinuxKernelRewriter.


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

  Changed paths:
    M clang/include/clang/InstallAPI/Frontend.h
    M clang/include/clang/InstallAPI/Visitor.h
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    A clang/test/InstallAPI/functions.test
    M clang/tools/clang-installapi/Options.cpp
    M llvm/include/llvm/TextAPI/Record.h
    M llvm/include/llvm/TextAPI/RecordsSlice.h
    M llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/unittests/TextAPI/RecordTests.cpp

  Log Message:
  -----------
  [InstallAPI] Collect global functions (#83952)

* Include whether functions are inlinable as they impact whether to add
them into the tbd file and for future verification.
* Fix how clang arguments got passed along, previously spacing was
passed along to CC1 causing search path inputs to look non-existent.


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

  Changed paths:
    M libc/docs/c23.rst

  Log Message:
  -----------
  [libc] finish documenting c23 additions (#84383)

- [libc] finish documenting c23 additions
- sort according to appearance in Annex B and section 7


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

  Changed paths:
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/UInt.h
    M libc/src/stdbit/stdc_count_ones_uc.cpp
    M libc/src/stdbit/stdc_count_ones_ui.cpp
    M libc/src/stdbit/stdc_count_ones_ul.cpp
    M libc/src/stdbit/stdc_count_ones_ull.cpp
    M libc/src/stdbit/stdc_count_ones_us.cpp
    M libc/test/src/__support/CPP/bit_test.cpp

  Log Message:
  -----------
  [libc] rename cpp::count_ones to cpp::popcount to better mirror std:: (#84388)

libc/src/__support/CPP/bit.h and cpp:: is meant to mirror std::. Fix the
TODO.


  Commit: f862265733d65efbfd819408b594b3b2854491d2
      https://github.com/llvm/llvm-project/commit/f862265733d65efbfd819408b594b3b2854491d2
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  AMDGPU: Use True16Predicate for UseRealTrue16Insts in VOP2 Reals (#84394)

We can not use OtherPredicates or SubtargetPredicate because they
should be copied from pseudo to real, and we should not override them.


  Commit: a01e9ce86f4c1bc9af819902db9f287b6d23f54f
      https://github.com/llvm/llvm-project/commit/a01e9ce86f4c1bc9af819902db9f287b6d23f54f
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir

  Log Message:
  -----------
  [AArc64][GlobalISel] Fix legalizer assert for G_INSERT_VECTOR_ELT

We should moreElements <3 x s1> to <4 x s1> before we try to widen the element,
otherwise we end up with a <3 x s21> nonsense type.


  Commit: 3e5afba8ef9319956d288ff755df3c442433eb88
      https://github.com/llvm/llvm-project/commit/3e5afba8ef9319956d288ff755df3c442433eb88
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [hwasan] be consistent about how to get integer types (#84396)


  Commit: ddf79deb42d901fbb732e56464efbf93bc444070
      https://github.com/llvm/llvm-project/commit/ddf79deb42d901fbb732e56464efbf93bc444070
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [Asan] Fix -Wunused-private-field in non-assertion builds (NFC)

llvm-project/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:650:13:
error: private field 'OwnerFn' is not used [-Werror,-Wunused-private-field]
  Function *OwnerFn = nullptr;
            ^
1 error generated.


  Commit: 8bf8d36f8e82a1e2d32f33dbe7369d9cecd57f46
      https://github.com/llvm/llvm-project/commit/8bf8d36f8e82a1e2d32f33dbe7369d9cecd57f46
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [compiler-rt][fuzzer] Reland "SetThreadName windows implementation" (#83562)

Following-up on GH-76761.


  Commit: 26fa4409572ad81c5522165ba2a831845f4d0635
      https://github.com/llvm/llvm-project/commit/26fa4409572ad81c5522165ba2a831845f4d0635
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalISel] Fix yet another pointer type invalid combining issue, this time in tryFoldSelectOfConstants()


  Commit: b408241d0ad9ce009b49018fe1e9838887abf3c1
      https://github.com/llvm/llvm-project/commit/b408241d0ad9ce009b49018fe1e9838887abf3c1
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [compiler-rt] adding fchmodat2 syscall introduced in Linux 6.6. (#82275)


  Commit: 487cfbe494413e12123b55dead5ef8742ef49fb2
      https://github.com/llvm/llvm-project/commit/487cfbe494413e12123b55dead5ef8742ef49fb2
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-08 (Fri, 08 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_popcountg` (#84318)


  Commit: e932fe880b69a6cd13b4f29678c7f143540f1999
      https://github.com/llvm/llvm-project/commit/e932fe880b69a6cd13b4f29678c7f143540f1999
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [compiler-rt][Fuzzer] fix windows typo (#84407)


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll

  Log Message:
  -----------
  [RISCV] Update some tests I missed in 909ab0e0d1903ad2329ca9fdf248d21330f9437f. NFC


  Commit: fcd2d483251605f1b6cdace0ce5baf5dfd31b880
      https://github.com/llvm/llvm-project/commit/fcd2d483251605f1b6cdace0ce5baf5dfd31b880
  Author: vadikp-intel <vadim.paretsky at intel.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_collapse.cpp
    M openmp/runtime/src/kmp_collapse.h
    A openmp/runtime/test/worksharing/for/omp_for_collapse_LowerTriangularLess.c
    A openmp/runtime/test/worksharing/for/omp_for_collapse_LowerTriangularLessEqual.c
    A openmp/runtime/test/worksharing/for/omp_for_collapse_UpperTriangular.c

  Log Message:
  -----------
  [OpenMP] runtime support for efficient partitioning of collapsed triangular loops (#83939)

This PR adds OMP runtime support for more efficient partitioning of
certain types of collapsed loops that can be used by compilers that
support loop collapsing (i.e. MSVC) to achieve more optimal thread load
balancing.

In particular, this PR addresses double nested upper and lower isosceles
triangular loops of the following types

1. lower triangular 'less_than'
   for (int i=0; i<N; i++)
     for (int j=0; j<i; j++)
2. lower triangular 'less_than_equal'
   for (int i=0; i<N; j++)
     for (int j=0; j<=i; j++)
3. upper triangular
   for (int i=0; i<N; i++)
     for (int j=i; j<N; j++)

Includes tests for the three supported loop types.

---------

Co-authored-by: Vadim Paretsky <b-vadipa at microsoft.com>


  Commit: 0cd7942c7f7a6f0c8a749c5f0d6d758e0a6fd9d9
      https://github.com/llvm/llvm-project/commit/0cd7942c7f7a6f0c8a749c5f0d6d758e0a6fd9d9
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
    M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll

  Log Message:
  -----------
  [llvm-dwarfdump] Fix parsing DW_CFA_AARCH64_negate_ra_state (#84128)

The saved state of the AARCH64_DWARF_PAUTH_RA_STATE register was not
updated, so `llvm-dwarfdump` continued to dump it as `reg34=1` even if
the correct value is `0`:

```
> llvm-dwarfdump -v test.o
...
0000002c 00000024 00000030 FDE cie=00000000 pc=00000030...00000064
  Format:       DWARF32
  DW_CFA_advance_loc: 4
  DW_CFA_AARCH64_negate_ra_state:
  DW_CFA_advance_loc: 4
  DW_CFA_def_cfa_offset: +16
  DW_CFA_offset: W30 -16
  DW_CFA_remember_state:
  DW_CFA_advance_loc: 16
  DW_CFA_def_cfa_offset: +0
  DW_CFA_advance_loc: 4
  DW_CFA_AARCH64_negate_ra_state:
  DW_CFA_restore: W30
  DW_CFA_advance_loc: 4
  DW_CFA_restore_state:
  DW_CFA_advance_loc: 12
  DW_CFA_def_cfa_offset: +0
  DW_CFA_advance_loc: 4
  DW_CFA_AARCH64_negate_ra_state:
  DW_CFA_restore: W30
  DW_CFA_nop:

  0x30: CFA=WSP
  0x34: CFA=WSP: reg34=1
  0x38: CFA=WSP+16: W30=[CFA-16], reg34=1
  0x48: CFA=WSP: W30=[CFA-16], reg34=1
  0x4c: CFA=WSP: reg34=1               <--- should be '=0'
  0x50: CFA=WSP+16: W30=[CFA-16], reg34=1
  0x5c: CFA=WSP: W30=[CFA-16], reg34=1
  0x60: CFA=WSP: reg34=1               <--- should be '=0'
```


  Commit: fe8476472467acd15a4d3771313e5532d1eb032f
      https://github.com/llvm/llvm-project/commit/fe8476472467acd15a4d3771313e5532d1eb032f
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
    M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
    M llvm/test/DebugInfo/dwarfdump-debug-frame-simple.test
    M llvm/test/tools/llvm-readobj/ELF/unwind.test
    M llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h

  Log Message:
  -----------
  [DWARF] Dump an updated location for DW_CFA_advance_loc* (#84274)

When dumping FDEs, `readelf` prints new location values after
`DW_CFA_advance_loc(*)` instructions, which looks quite convenient:

```
> readelf -wf test.o
...
... FDE ... pc=0000000000000030..0000000000000064
  DW_CFA_advance_loc: 4 to 0000000000000034
  ...
  DW_CFA_advance_loc: 4 to 0000000000000038
...
```

This patch makes `llvm-dwarfdump` and `llvm-readobj` do the same.


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

  Changed paths:
    M llvm/test/Object/Inputs/small.ll
    M llvm/test/Object/Inputs/trivial.ll
    M llvm/test/Object/X86/irsymtab-bad-alias.ll
    M llvm/test/Object/X86/nm-ir.ll
    M llvm/test/Object/dllimport-globalref.ll
    M llvm/test/Object/dllimport.ll
    M llvm/test/Object/mangle-ir.ll
    M llvm/test/Object/objc-swift-mixed-imageinfo-macho.ll

  Log Message:
  -----------
  [Object] Convert tests to opaque pointers (NFC)

Link: https://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322


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

  Changed paths:
    M llvm/test/Instrumentation/AddressSanitizer/aarch64be.ll
    M llvm/test/Instrumentation/AddressSanitizer/program-addrspace.ll
    M llvm/test/Instrumentation/InstrProfiling/before-value-profile-lowering.ll
    M llvm/test/Instrumentation/InstrProfiling/timestamp-coverage.ll
    M llvm/test/Instrumentation/InstrProfiling/timestamp.ll

  Log Message:
  -----------
  [Instrumentation] Convert tests to opaque pointers (NFC)

Link: https://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322


  Commit: 9d3bf9b639eafeded82c6be295031262735d1dac
      https://github.com/llvm/llvm-project/commit/9d3bf9b639eafeded82c6be295031262735d1dac
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [hwasan] consistent naming for cl::opt


  Commit: fb582b6ace781ff6991775d6dcd4df98aa16698f
      https://github.com/llvm/llvm-project/commit/fb582b6ace781ff6991775d6dcd4df98aa16698f
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/Linalg/Transforms/AllInterfaces.h
    A mlir/include/mlir/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
    M mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
    M mlir/include/mlir/IR/Dialect.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
    A mlir/lib/Dialect/Linalg/Transforms/AllInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
    A mlir/test/Dialect/Linalg/mesh-spmdization.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] Implement Mesh's ShardingInterface for Linalg ops (#82284)

Allows linalg structured operations to be handled during spmdization and
sharding propagation.

There is only support for projected permutation indexing maps.


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

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

  Log Message:
  -----------
  [mlir][Transforms][NFC] Make signature conversion more efficient (#83922)

During block signature conversion, a new block is inserted and ops are
moved from the old block to the new block. This commit changes the
implementation such that ops are moved in bulk (`splice`) instead of
one-by-one; that's what `splitBlock` is doing.

This also makes it possible to pass the new block argument types
directly to `createBlock` instead of using `addArgument` (which bypasses
the rewriter). This doesn't change anything from a technical point of
view (there is no rewriter API for adding arguments at the moment), but
the implementation reads a bit nicer.


  Commit: e7a22e72de79352c4639664f1ac678555a4c20e4
      https://github.com/llvm/llvm-project/commit/e7a22e72de79352c4639664f1ac678555a4c20e4
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/pr74951.ll

  Log Message:
  -----------
  [PPC] precommit cases for issue 74915


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

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

  Log Message:
  -----------
  [mlir][Transforms] Add listener support to dialect conversion (#83425)

This commit adds listener support to the dialect conversion. Similarly
to the greedy pattern rewrite driver, an optional listener can be
specified in the configuration object.

Listeners are notified only if the dialect conversion succeeds. In case
of a failure, where some IR changes are first performed and then rolled
back, no notifications are sent.

Due to the fact that some kinds of rewrite are reflected in the IR
immediately and some in a delayed fashion, there are certain limitations
when attaching a listener; these are documented in `ConversionConfig`.
To summarize, users are always notified about all rewrites that
happened, but the notifications are sent all at once at the very end,
and not interleaved with the actual IR changes.

This change is in preparation improvements to
`transform.apply_conversion_patterns`, which currently invalidates all
handles. In the future, it can use a listener to update handles
accordingly, similar to `transform.apply_patterns`.


  Commit: 474a73d979bdab8782c17829d72386e0da39eb39
      https://github.com/llvm/llvm-project/commit/474a73d979bdab8782c17829d72386e0da39eb39
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp

  Log Message:
  -----------
  [mlir] Fix build failure in MeshShardingInterfaceImpl.cpp (NFC)

llvm-project/mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp:96:8:
error: unused variable 'resultElementType' [-Werror,-Wunused-variable]
  Type resultElementType =
       ^
llvm-project/mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp:122:1:
error: non-void function does not return a value in all control paths [-Werror,-Wreturn-type]
}
^
2 errors generated.


  Commit: da4957be2365831c94eab0b52612367c29f1d299
      https://github.com/llvm/llvm-project/commit/da4957be2365831c94eab0b52612367c29f1d299
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [NFC] [hwasan] use for_each and move comment


  Commit: cc34e56b865f1fc9e894b75fc958f09dff0fcdea
      https://github.com/llvm/llvm-project/commit/cc34e56b865f1fc9e894b75fc958f09dff0fcdea
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/pr74951.ll

  Log Message:
  -----------
  [PPC][NFC] add an option to expose the bug in 74951


  Commit: da00c60dae0040185dc45039c4397f6e746548e9
      https://github.com/llvm/llvm-project/commit/da00c60dae0040185dc45039c4397f6e746548e9
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/test/CXX/basic/basic.link/p10-ex2.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4-friend-in-reachable-class.cpp
    M clang/test/Modules/InheritDefaultArguments.cppm
    M clang/test/Modules/Reachability-Private.cpp
    M clang/test/Modules/Reachability-func-default-arg.cpp
    M clang/test/Modules/Reachability-func-ret.cpp
    M clang/test/Modules/Reachability-template-default-arg.cpp
    M clang/test/Modules/Reachability-template-instantiation.cpp
    M clang/test/Modules/Reachability-using-templates.cpp
    M clang/test/Modules/Reachability-using.cpp
    M clang/test/Modules/concept.cppm
    M clang/test/Modules/concept_differ.cppm
    M clang/test/Modules/ctor.arg.dep.cppm
    M clang/test/Modules/cxx20-10-1-ex1.cpp
    M clang/test/Modules/cxx20-10-1-ex2.cpp
    M clang/test/Modules/cxx20-10-2-ex2.cpp
    M clang/test/Modules/cxx20-10-2-ex5.cpp
    M clang/test/Modules/cxx20-10-3-ex1.cpp
    M clang/test/Modules/cxx20-10-3-ex2.cpp
    M clang/test/Modules/cxx20-10-5-ex1.cpp
    M clang/test/Modules/cxx20-import-diagnostics-a.cpp
    M clang/test/Modules/cxx20-import-diagnostics-b.cpp
    M clang/test/Modules/cxx20-module-file-info-macros.cpp
    M clang/test/Modules/deduction-guide.cppm
    M clang/test/Modules/deduction-guide2.cppm
    M clang/test/Modules/deduction-guide3.cppm
    M clang/test/Modules/derived_class.cpp
    M clang/test/Modules/duplicated-module-file-eq-module-name.cppm
    M clang/test/Modules/enum-class.cppm
    M clang/test/Modules/explicitly-specialized-template.cpp
    M clang/test/Modules/export-language-linkage.cppm
    M clang/test/Modules/ftime-trace.cppm
    M clang/test/Modules/inconsistent-deduction-guide-linkage.cppm
    M clang/test/Modules/inconsistent-export.cppm
    M clang/test/Modules/inherited_arg.cppm
    M clang/test/Modules/instantiation-argdep-lookup.cppm
    M clang/test/Modules/lambdas.cppm
    M clang/test/Modules/merge-concepts-cxx-modules.cpp
    M clang/test/Modules/merge-constrained-friends.cpp
    M clang/test/Modules/merge-lambdas.cppm
    M clang/test/Modules/merge-requires-with-lambdas.cppm
    M clang/test/Modules/merge-var-template-spec-cxx-modules.cppm
    M clang/test/Modules/mismatch-diagnostics.cpp
    M clang/test/Modules/module-init-duplicated-import.cppm
    M clang/test/Modules/named-modules-adl-2.cppm
    M clang/test/Modules/named-modules-adl-3.cppm
    M clang/test/Modules/named-modules-adl.cppm
    M clang/test/Modules/no-duplicate-codegen-in-GMF.cppm
    M clang/test/Modules/pair-unambiguous-ctor.cppm
    M clang/test/Modules/partial_specialization.cppm
    M clang/test/Modules/placement-new-reachable.cpp
    M clang/test/Modules/polluted-operator.cppm
    M clang/test/Modules/pr54457.cppm
    M clang/test/Modules/pr56916.cppm
    M clang/test/Modules/pr58532.cppm
    M clang/test/Modules/pr58716.cppm
    M clang/test/Modules/pr59719.cppm
    M clang/test/Modules/pr59780.cppm
    M clang/test/Modules/pr59999.cppm
    M clang/test/Modules/pr60036.cppm
    M clang/test/Modules/pr60085.cppm
    M clang/test/Modules/pr60275.cppm
    M clang/test/Modules/pr60486.cppm
    M clang/test/Modules/pr60693.cppm
    M clang/test/Modules/pr60775.cppm
    M clang/test/Modules/pr60890.cppm
    M clang/test/Modules/pr61065.cppm
    M clang/test/Modules/pr61065_2.cppm
    M clang/test/Modules/pr61067.cppm
    M clang/test/Modules/pr61317.cppm
    M clang/test/Modules/pr61783.cppm
    M clang/test/Modules/pr61892.cppm
    M clang/test/Modules/pr62158.cppm
    M clang/test/Modules/pr62359.cppm
    M clang/test/Modules/pr62589.cppm
    M clang/test/Modules/pr62705.cppm
    M clang/test/Modules/pr62796.cppm
    M clang/test/Modules/pr62943.cppm
    M clang/test/Modules/pr63544.cppm
    M clang/test/Modules/pr63595.cppm
    M clang/test/Modules/pr67627.cppm
    M clang/test/Modules/pr67893.cppm
    M clang/test/Modules/predefined.cpp
    M clang/test/Modules/preferred_name.cppm
    M clang/test/Modules/redefinition-merges.cppm
    M clang/test/Modules/redundant-template-default-arg.cpp
    M clang/test/Modules/redundant-template-default-arg2.cpp
    M clang/test/Modules/redundant-template-default-arg3.cpp
    M clang/test/Modules/search-partitions.cpp
    M clang/test/Modules/seperated-member-function-definition-for-template-class.cppm
    M clang/test/Modules/template-function-specialization.cpp
    M clang/test/Modules/template-lambdas.cppm
    M clang/test/Modules/template-pack.cppm
    M clang/test/Modules/template_default_argument.cpp
    M clang/unittests/Sema/SemaNoloadLookupTest.cpp
    M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
    M clang/unittests/Serialization/NoCommentsTest.cpp
    M clang/unittests/Serialization/VarDeclConstantInitTest.cpp

  Log Message:
  -----------
  [C++20] [Modules] Introduce reduced BMI (#75894)

Close https://github.com/llvm/llvm-project/issues/71034

See

https://discourse.llvm.org/t/rfc-c-20-modules-introduce-thin-bmi-and-decls-hash/74755

This patch introduces reduced BMI, which doesn't contain the definitions
of functions and variables if its definitions won't contribute to the
ABI.

Testing is a big part of the patch. We want to make sure the reduced BMI
contains the same behavior with the existing and relatively stable
fatBMI. This is pretty helpful for further reduction.

The user interfaces part it left to following patches to ease the
reviewing.


  Commit: a4703e5bccc63eca45e0e4bff8f04f82d8622ebe
      https://github.com/llvm/llvm-project/commit/a4703e5bccc63eca45e0e4bff8f04f82d8622ebe
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/lib/Frontend/FrontendActions.cpp

  Log Message:
  -----------
  [clang] Remove std::move in GenerateModuleAction::CreateMultiplexConsumer (NFC)

llvm-project/clang/lib/Frontend/FrontendActions.cpp:213:10:
error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
  213 |   return std::move(Consumers);
      |          ^
/Users/jiefu/llvm-project/clang/lib/Frontend/FrontendActions.cpp:213:10: note: remove std::move call here
  213 |   return std::move(Consumers);
      |          ^~~~~~~~~~         ~
1 error generated.


  Commit: 448419007e1bb8a9e2edfe2c1c87fef6d104442a
      https://github.com/llvm/llvm-project/commit/448419007e1bb8a9e2edfe2c1c87fef6d104442a
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values2.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values2.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values3.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values3.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values4.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values4.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values.test
    A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values2.test
    A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values3.test
    A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values4.test

  Log Message:
  -----------
  update_test_checks: precommit a test case

The test case demonstrates how meta variables are needlessly renamed,
making diffs harder to read.


  Commit: fc1e5f978561d6357083f9b5bc981e52d93374b3
      https://github.com/llvm/llvm-project/commit/fc1e5f978561d6357083f9b5bc981e52d93374b3
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  update_test_checks: simplify is_local_def_ir_value

The match argument is unused.


  Commit: 5747f9d3e9f3a49c27984b9341e123b9ca82e741
      https://github.com/llvm/llvm-project/commit/5747f9d3e9f3a49c27984b9341e123b9ca82e741
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  update_test_checks: simplify get_ir_regex

The match argument isn't used.


  Commit: fb02f9ac84a6151e41aba8f7391edd132a9aaf14
      https://github.com/llvm/llvm-project/commit/fb02f9ac84a6151e41aba8f7391edd132a9aaf14
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values.ll.expected.reset
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values2.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values3.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values3.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values4.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values.test
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  update_test_checks: keep meta variables stable by default

Prior to this change, running UTC on larger tests, especially tests
with unnamed IR values, often resulted in a spuriously large diff
because e.g. TMPnn variables in the CHECK lines were renumbered. This
change attempts to reduce the diff by keeping those variable names the
same.

There are cases in which this "drift" of variable names can end up being
more confusing. The old behavior can be re-enabled with the
--reset-variable-names command line argument.

The improvement may not be immediately apparent in the diff of this change.
The point is that the diff of stable_ir_values.ll against
stable_ir_values.ll.expected after this change is smaller.

Ideally, we'd also keep meta variables for "global" objects stable, e.g.
for attributes (#nn) and metadata (!nn). However, that would require a
much more substantial refactoring of how we generate check lines, so I
left it for future work.


  Commit: 51b7ef937504ce45ef6a024aadfdee4147bffab5
      https://github.com/llvm/llvm-project/commit/51b7ef937504ce45ef6a024aadfdee4147bffab5
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M libc/test/src/stdfix/RoundTest.h

  Log Message:
  -----------
  [libc][NFC] Fix a typo in test/src/stdfix/RoundTest.h. (#84411)


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fpneg-one-fneg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-imm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-iu-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-swmmac-index_key.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-imm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-iu-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-swmmac-index_key.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    M llvm/test/CodeGen/AMDGPU/generic-targets-require-v6.ll
    M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-hang.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dot4.f32.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
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.gfx12.ll
    M llvm/test/CodeGen/AMDGPU/spill-regpressure-less.mir
    M llvm/test/CodeGen/AMDGPU/wait-before-stores-with-scope_sys.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-imm.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-iu-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-swmmac-index_key.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-imm.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-iu-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-swmmac-index_key.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64.ll
    M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w32.mir
    M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w64.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir

  Log Message:
  -----------
  [AMDGPU,test] Change llc -march= to -mtriple=

PR #75982 had been created before these tests were added, therefore
some test were not updated.


  Commit: b565126b4dbef0d9f5c9f3ef8f3489ff6581218f
      https://github.com/llvm/llvm-project/commit/b565126b4dbef0d9f5c9f3ef8f3489ff6581218f
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values.ll.expected
    R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values.ll.expected.reset
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values2.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values3.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values3.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values4.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values.test
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  Revert "update_test_checks: keep meta variables stable by default"

This reverts commit fb02f9ac84a6151e41aba8f7391edd132a9aaf14.

Looks like some Python version incompatibility, will investigate.


  Commit: 3846019d8f6379ea1a8bf3a0fdfb0202de8e2f2a
      https://github.com/llvm/llvm-project/commit/3846019d8f6379ea1a8bf3a0fdfb0202de8e2f2a
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values.ll.expected.reset
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values2.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values3.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values3.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values4.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values.test
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  update_test_checks: keep meta variables stable by default

Resubmitting this after previous revert with the following changes:

- Split table into table_rhs_idx and table_candidate_idx so that
  bisect.bisect_left can be used without the `key` argument, which
  was introduced in Python 3.10
- Remove a re.Pattern type annotation

Original commit message:

Prior to this change, running UTC on larger tests, especially tests
with unnamed IR values, often resulted in a spuriously large diff
because e.g. TMPnn variables in the CHECK lines were renumbered. This
change attempts to reduce the diff by keeping those variable names the
same.

There are cases in which this "drift" of variable names can end up being
more confusing. The old behavior can be re-enabled with the
--reset-variable-names command line argument.

The improvement may not be immediately apparent in the diff of this change.
The point is that the diff of stable_ir_values.ll against
stable_ir_values.ll.expected after this change is smaller.

Ideally, we'd also keep meta variables for "global" objects stable, e.g.
for attributes (#nn) and metadata (!nn). However, that would require a
much more substantial refactoring of how we generate check lines, so I
left it for future work.


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

  Changed paths:
    M flang/runtime/complex-reduction.c

  Log Message:
  -----------
  [flang] Fixed build issues after f20ea05. (#84377)

Older versions of clang do not have __builtin_complex, but they
may define `__GNUC__`.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp

  Log Message:
  -----------
  [AArch64] Ensure Neoverse V1 scheduling model includes all SVE pseudos. (#84187)

With the many pseudos used in SVE codegen it can be too easy to miss
instructions. This enables the existing test we have for checking the
scheduling info of the pseudos matches the real instructions, and
adjusts the scheduling info in the NeoverseV1 model to make sure all are
handled. In the cases I could I opted to use the same info as in the
NeoverseV2 model, to keep the differences smaller.


  Commit: 2d539db246fd9d26201255b84d04dacf2782eddf
      https://github.com/llvm/llvm-project/commit/2d539db246fd9d26201255b84d04dacf2782eddf
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] When analyzing ctors, don't initialize fields of `*this` with values. (#84164)

This is the constructor's job, and we want to be able to test that it
does this.


  Commit: 9b74c43d70f4b39d6fea7b542d77f2b652e4d651
      https://github.com/llvm/llvm-project/commit/9b74c43d70f4b39d6fea7b542d77f2b652e4d651
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [clang][dataflow] Add context-sensitive test for returning a record by value. (#84317)

I'm making some changes to `Environment::getResultObjectLocation()`,
with the
ultimate goal of eliminating `RecordValue` entirely, and I'd like to
make sure
I don't break this behavior (and I've realized we don't have a test for
it yet).


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

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

  Log Message:
  -----------
  [compiler-rt] Fix incorrect usages of check_cxx_compiler_flag

These checks have been broken since 6afe972195454a1110ed8d20c6f2a547e6366379.
The check_cxx_compiler_flag macro only takes two arguments and passing
three to it ends up calling
`cmake_check_compiler_flag(CXX "${_FLAG}" ${_RESULT})` with ${_FLAG}
equal to `-Werror` and the result variable being the actually tested
compiler flag.

I noticed this because some of the flags that I know should be supported
were being flagged as not supported. `--debug-trycompile` shows the
following surprising line in the generated CMakeLists.txt:
`add_definitions([==[-D-Wempty-body]==] [==[-Werror]==])` which then
results in the following error while running the check:
```
FAILED: CMakeFiles/cmTC_72736.dir/src.cxx.o
tmp/upstream-llvm-readonly/bin/clang++   -nodefaultlibs -std=c++17 -fcolor-diagnostics   -D-Wempty-body -Werror -MD -MT CMakeFiles/cmTC_72736.dir/src.cxx.o -MF CMakeFiles/cmTC_72736.dir/src.cxx.o.d -o CMakeFiles/cmTC_72736.dir/src.cxx.o -c .../cmake-build-all-sanitizers/CMakeFiles/CMakeScratch/TryCompile-nyh3QR/src.cxx
In file included from <built-in>:450:
<command line>:1:9: error: macro name must be an identifier
    1 | #define -Wempty-body 1
      |         ^
   1 error generated.
```

It would be great if CMake could be a bit more helpful here so I've
filed https://gitlab.kitware.com/cmake/cmake/-/issues/25735.

See also https://reviews.llvm.org/D146920.

Reviewed By: nikic

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


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

  Changed paths:
    M mlir/lib/Tools/PDLL/Parser/Parser.cpp
    M mlir/test/mlir-pdll/Parser/expr-failure.pdll

  Log Message:
  -----------
  [PDLL]: Fix crash when negation doesn't apply to native constraint (#84331)

Fixes that
```
Pattern {
  let tuple = (attr<"3 : i34">);
  not tuple.0;
  erase _;
}
```
would crash the PDLL parser because it expected a native constraint
after `not`.


  Commit: f6b825f51ec8a67c4ace43aaacc27bfd4a78f706
      https://github.com/llvm/llvm-project/commit/f6b825f51ec8a67c4ace43aaacc27bfd4a78f706
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-atomic-load-store.mir

  Log Message:
  -----------
  Revert "Revert "[AArch64][GlobalISel] Fix incorrect selection of monotonic s32->s64 anyext load.""

Attempt 2. The first one was trying to call isa<> on an MI reference that was free'd.

This reverts commit ee24409c40ff35c3221892d9723331c233ca9f0e.


  Commit: b6a340023d383d1e77cb8d91d92c096f791fa8c0
      https://github.com/llvm/llvm-project/commit/b6a340023d383d1e77cb8d91d92c096f791fa8c0
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [clang] Respect field alignment in layout compatibility of structs (#84313)

This patch implements
[CWG2586](https://cplusplus.github.io/CWG/issues/2583.html) "Common
initial sequence should consider over-alignment". Note that alignment of
union members doesn't have to match, as layout compatibility of unions
is not defined in terms of common initial sequence
(http://eel.is/c++draft/class.mem.general#25).


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
    M llvm/test/CodeGen/SPIRV/constant/global-constants.ll
    A llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-load.ll
    A llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-store.ll
    M llvm/test/CodeGen/SPIRV/spirv-load-store.ll

  Log Message:
  -----------
  [SPIR-V] Insert a bitcast before load/store instruction to keep SPIR-V code valid (#84069)

This PR introduces a step after instruction selection where instructions
can be traversed from the perspective of their validity from the
specification point of view. The PR adds also a way to correct
load/store when there is a type mismatch contradicting the specification
-- an additional bitcast is inserted to keep types consistent.
Correspondent test cases are added and existing test cases are
corrected.

This PR helps to successfully validate with the `spirv-val` tool
(https://github.com/KhronosGroup/SPIRV-Tools) some output that
previously led to validation errors and crashes of back translation from
SPIRV to LLVM IR from the side of SPIRV Translator project
(https://github.com/KhronosGroup/SPIRV-LLVM-Translator).

The added step of bringing instructions to required by the specification
type correspondence can be (should be and will be) extended beyond
load/store instructions to ensure validity rules of other SPIRV
instructions related to type inference.


  Commit: df9be017b7828e0a1dbb4f1f507a92266b61e680
      https://github.com/llvm/llvm-project/commit/df9be017b7828e0a1dbb4f1f507a92266b61e680
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Target/Cpp/unary_operators.mlir

  Log Message:
  -----------
  [mlir][EmitC] Add `unary_{minus,plus}` operators (#84329)

This adds operations for the unary minus and the unary plus operator.


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

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

  Log Message:
  -----------
  [clang][analyzer] Fix StreamChecker `ftell` and `fgetpos` at indeterminate file position. (#84191)

These functions should not be allowed if the file position is
indeterminate (they return the file position).
This condition is now checked, and tests are improved to check it.


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

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  [Github] Add repository checks to release-binaries workflow (#84437)

This patch adds repository checks to the release-binaries workflow jobs.
People were observing that the job was running on a schedule in their
forks. This only happens on old forks, but those probably exist in great
number given how prolific LLVM is. This is also good practice anyways,
on top of solving the direct problem of these jobs running with the cron
schedule on people's forks.


  Commit: 0ddb1221471ae481cc0c7dfd57b71d98e7e60a27
      https://github.com/llvm/llvm-project/commit/0ddb1221471ae481cc0c7dfd57b71d98e7e60a27
  Author: Tina Jung <126699487+TinaAMD at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M mlir/docs/Dialects/emitc.md
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitCPass.cpp
    M mlir/lib/Target/Cpp/CMakeLists.txt
    M mlir/lib/Target/Cpp/TranslateRegistration.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Target/Cpp/call.mlir
    M mlir/test/Target/Cpp/const.mlir
    M mlir/test/Target/Cpp/for.mlir
    M mlir/test/Target/Cpp/if.mlir
    M mlir/test/Target/Cpp/stdops.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][emitc] Arith to EmitC conversion: constants (#83798)

* Add a conversion from `arith.constant` to `emitc.constant`.
* Drop the translation for `arith.constant`s.


  Commit: 4b1910b11d30d2382cb969dc09aa3456659d42fb
      https://github.com/llvm/llvm-project/commit/4b1910b11d30d2382cb969dc09aa3456659d42fb
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output-reject.td
    M llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [GlobalISel][AMDGPU] Import patterns with multiple defs (#84171)

Fixes #63216


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

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/UInt.h
    M libc/src/__support/UInt128.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/str_to_float.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/StringUtils.h
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/CPP/limits_test.cpp
    M libc/test/src/__support/integer_literals_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/uint_test.cpp

  Log Message:
  -----------
  [libc][NFC] Move `BigInt` out of the `cpp` namespace (#84445)

As noted in
https://github.com/llvm/llvm-project/pull/84035#discussion_r1516817755
only files under the CPP folder should be in the `cpp` namespace.


  Commit: 80a9574d36834f7e0814e603894347e997435d54
      https://github.com/llvm/llvm-project/commit/80a9574d36834f7e0814e603894347e997435d54
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake

  Log Message:
  -----------
  [compiler-rt] Unbreak GCC builds after bfa6444a332f82843

GCC complains if we pass -Werror=format-security without -Wformat.
Reported at https://github.com/llvm/llvm-project/pull/83779#issuecomment-1985246797


  Commit: 851ab41d33fcbc72bc334dfc2d5d4c0902ccbb23
      https://github.com/llvm/llvm-project/commit/851ab41d33fcbc72bc334dfc2d5d4c0902ccbb23
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/test/Sema/constant-builtins-2.c

  Log Message:
  -----------
  [clang][test] Fix constant __builtin_popcountg test requiring __int128 (#84412)

See
https://lab.llvm.org/buildbot/#/builders/245/builds/21611/steps/5/logs/FAIL__Clang__constant-builtins-2_c.


  Commit: dd36138e9c23c462ce5379a3d83530fb4ebec9e7
      https://github.com/llvm/llvm-project/commit/dd36138e9c23c462ce5379a3d83530fb4ebec9e7
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-03-08 (Fri, 08 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/SemaCXX/lambda-expressions.cpp

  Log Message:
  -----------
  [clang] Error on explicit specialization of lambda call operator (#84343)

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


  Commit: 881df557501d339c7a14b16d68e43da5c732b424
      https://github.com/llvm/llvm-project/commit/881df557501d339c7a14b16d68e43da5c732b424
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [clang] Fix -Wunused-variable in SemaChecking.cpp (NFC)

llvm-project/clang/lib/Sema/SemaChecking.cpp:19192:15:
error: unused variable 'Field1Parent' [-Werror,-Wunused-variable]
  const Type *Field1Parent = Field1->getParent()->getTypeForDecl();
              ^
llvm-project/clang/lib/Sema/SemaChecking.cpp:19193:15:
error: unused variable 'Field2Parent' [-Werror,-Wunused-variable]
  const Type *Field2Parent = Field2->getParent()->getTypeForDecl();
              ^
2 errors generated.


  Commit: ef1eb0315e5830e2c3ea76d4f1ec6c50842da7bb
      https://github.com/llvm/llvm-project/commit/ef1eb0315e5830e2c3ea76d4f1ec6c50842da7bb
  Author: Sizov Nikita <s.nikita.v at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll

  Log Message:
  -----------
  [AArch64] Add neon bici test for haddu and shadd (#84073)

Add neon bici test for haddu and shadd, prerequisite for #76644


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp

  Log Message:
  -----------
  [AArch64] Ensure Neoverse-N2 scheduling model includes all SVE pseudos.

Similar to #84187, this enables the existing test we have for checking the
scheduling info of the pseudos matches the real instructions, and adjusts the
scheduling info in the NeoverseN2 model to make sure all cases were handled.


  Commit: 3a62edcf527bfc927f148c99b9d37d3d199db611
      https://github.com/llvm/llvm-project/commit/3a62edcf527bfc927f148c99b9d37d3d199db611
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    A llvm/test/CodeGen/AArch64/scalar-mla-mls.ll

  Log Message:
  -----------
  [AArch64] MachineCombiner msub matching

Pattern should be sorted in priority order since the pattern evalutor
stops checking as soon as it finds a faster sequence.
so for a * b - c * d, we prefer to match the 2nd operands of sub,
which can be use msub to fold them.

Refer to https://www.slideshare.net/chimerawang/instruction-combine-in-llvm

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


  Commit: a110a1c0ed9850be168cd0e29f05179e80941b04
      https://github.com/llvm/llvm-project/commit/a110a1c0ed9850be168cd0e29f05179e80941b04
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/scalar-mla-mls.ll

  Log Message:
  -----------
  [AArch64] MachineCombiner msub matching for i64


  Commit: 860a40057da2fbb626fdf17feec18070d95b687b
      https://github.com/llvm/llvm-project/commit/860a40057da2fbb626fdf17feec18070d95b687b
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp

  Log Message:
  -----------
  [flang][NFC] move loadIfRef to FIRBuilder (#84306)

This will be useful for OpenMP too.

I changed the definition slightly to use `fir::isa_ref_type` (which also
includes llvm pointers) because I think it reads better using the common
type helpers. There shouldn't be any llvm pointers in lowering so this
isn't a functional change.


  Commit: c76d853c176231b991cfc744e7cb69443ddc2268
      https://github.com/llvm/llvm-project/commit/c76d853c176231b991cfc744e7cb69443ddc2268
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp

  Log Message:
  -----------
  [flang][TBAABuilder] not all loads and stores are inside of functions (#84305)

TBAA builder assumed that all loads/stores are inside of functions and
hit an assertion once it found loads and stores inside of an
omp::ReductionDeclareOp.

For now just don't add TBAA tags to those loads and stores. They would
end up in a different TBAA tree to the host function after
OpenMPIRBuilder inlines them anyway so there isn't an easy way of making
this work.


  Commit: 419e8da2dadc7eaa1499935f55303c3f132948c4
      https://github.com/llvm/llvm-project/commit/419e8da2dadc7eaa1499935f55303c3f132948c4
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix BUILD after 5669660f37ef1800f4a7852577364b024d75e3d8


  Commit: dd547d5cca64c1f97d00af0c3a555c2b341161b0
      https://github.com/llvm/llvm-project/commit/dd547d5cca64c1f97d00af0c3a555c2b341161b0
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix BUILD after 5669660f37ef1800f4a7852577364b024d75e3d8

Second attempt.


  Commit: 0f8cb6818d788c34d70d586f701469a5adabfce1
      https://github.com/llvm/llvm-project/commit/0f8cb6818d788c34d70d586f701469a5adabfce1
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M lldb/docs/resources/build.rst

  Log Message:
  -----------
  [lldb][Docs] Update the build guide

* gmake is needed on FreeBSD
* pkg can install libxml2 on FreeBSD
* Make the swig note into an RST note box.


  Commit: 50633868538d4fd6875a7de57804b3dde5c86108
      https://github.com/llvm/llvm-project/commit/50633868538d4fd6875a7de57804b3dde5c86108
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [clang][bazel] Fix BUILD after da00c60dae0040185dc45039c4397f6e746548e9


  Commit: 005e182ecbf0099005f7d3c33c2b7556abb515e4
      https://github.com/llvm/llvm-project/commit/005e182ecbf0099005f7d3c33c2b7556abb515e4
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [clang][bazel] Fix BUILD after da00c60dae0040185dc45039c4397f6e746548e9

Second attempt. This also reverts 50633868538d4fd6875a7de57804b3dde5c86108.


  Commit: ee94bd20ba09975de493675dd6a0b7fc7dd5cece
      https://github.com/llvm/llvm-project/commit/ee94bd20ba09975de493675dd6a0b7fc7dd5cece
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    R clang/test/SemaTemplate/unqual-unresolved-using-value.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Fix crash when using name of UnresolvedUsingValueDecl with template arguments (#83842)" (#84457)

This reverts commit a642eb89bdaf10c6b4994fc1187de27b441236ed (see #83842)


  Commit: 6a0618a0289cb0c23ef3e5c820418650cc1d0fdc
      https://github.com/llvm/llvm-project/commit/6a0618a0289cb0c23ef3e5c820418650cc1d0fdc
  Author: Amirreza Ashouri <ar.ashouri999 at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor `clang/test/SemaCXX/type-traits.cpp` to use modern `static_assert` (#77584)

static_assert is supported in all modes, so the T/F macros aren't needed
anymore.


  Commit: 235332150d52d11b340a10be1bb88432d2cf4179
      https://github.com/llvm/llvm-project/commit/235332150d52d11b340a10be1bb88432d2cf4179
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M lldb/docs/resources/build.rst

  Log Message:
  -----------
  [lldb][Docs] Add Curses version note to build page

This explains a thing that hit me on FreeBSD because the base system
has an ncursesw at one version and I installed from pkg another
version that was simply ncurses (no wide char support).

For whatever reason, when we pass -lcurses to the linker it ends up
picking bits of both installs. This led to lldb crashing immediately
if you tried to use the `gui` command.

In a way that gave little information but I stumbled onto
https://github.com/vifm/vifm/issues/325 which is very similar.

```
ec2-user at freebsd:~/build-llvm $ ldd ./bin/lldb | grep curses
	libncursesw.so.9 => /lib/libncursesw.so.9 (0x6a515206e000)
	libncurses.so.6 => /usr/local/lib/libncurses.so.6 (0x6a5158e86000)
```

We should only see one version, and it and libpanel etc should
all have "w" or not have "w". This was not the case for my build.

What I can see from the CMake side seemed fine, it found the pkg
installed ncurses in /usr/local. Something else must decide that
-lcurses should pull in the other one.

Regardless, I don't know how to fix that but the solution for most
people is just not to add another ncurses if they already have one.
So I've added a note saying so, and how to check what your lldb
is using.


  Commit: 4d478bcb4fc4fcf6532b725a0d070cb0c0cf9430
      https://github.com/llvm/llvm-project/commit/4d478bcb4fc4fcf6532b725a0d070cb0c0cf9430
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Add support_uint dep in libc unittest


  Commit: bd6eb54886ad12fb523e924e7291abfa2b010e3c
      https://github.com/llvm/llvm-project/commit/bd6eb54886ad12fb523e924e7291abfa2b010e3c
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    A llvm/test/CodeGen/AArch64/fp-veclib-expansion.ll

  Log Message:
  -----------
  [LLVM][CodeGen] Teach SelectionDAG how to expand FREM to a vector math call. (#83859)

This removes, at least when a vector library is available, a failure
case for scalable vectors. Doing so means we can confidently cost vector
FREM instructions without making an assumption that later passes will
transform the IR before it gets to the code generator.

NOTE: Whilst only FREM has been implemented the same mechanism
can be used for the other libm related ISD nodes.


  Commit: 5d98d8822c69bc9d32c25190beaf1eaccf9ddd37
      https://github.com/llvm/llvm-project/commit/5d98d8822c69bc9d32c25190beaf1eaccf9ddd37
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [Sema] Avoid unnecessary copy on MultiLevelTemplateArgumentList. NFC (#84459)

We don't modify the MLTAL parameter in `SetupConstraintScope`, and it is
better if we don't copy the 120-byte object each time we call the
function.


  Commit: 430de48a61369ea41efe1cbb98654a86568ae95f
      https://github.com/llvm/llvm-project/commit/430de48a61369ea41efe1cbb98654a86568ae95f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp

  Log Message:
  -----------
  [GISel] Simplify getConstantVRegValWithLookThrough. NFC.


  Commit: d74287226ac8c144a2700ba589d34a8bebd85d0d
      https://github.com/llvm/llvm-project/commit/d74287226ac8c144a2700ba589d34a8bebd85d0d
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/Target.cpp
    A flang/test/Fir/target-complex16.f90

  Log Message:
  -----------
  [Flang][AArch64] Add support for complex16 params/returns (#84217)

Fixes #84088


  Commit: 1ca8092e87aea58f1c3752d03c20bdfc4259e409
      https://github.com/llvm/llvm-project/commit/1ca8092e87aea58f1c3752d03c20bdfc4259e409
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
    M llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    A llvm/lib/Target/X86/X86InstrConditionalCompare.td
    M llvm/lib/Target/X86/X86InstrFormats.td
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrOperands.td
    A llvm/test/MC/Disassembler/X86/apx/ccmp.txt
    M llvm/test/MC/Disassembler/X86/apx/reverse-encoding.txt
    A llvm/test/MC/X86/apx/ccmp-att-error.s
    A llvm/test/MC/X86/apx/ccmp-att.s
    A llvm/test/MC/X86/apx/ccmp-intel-error.s
    A llvm/test/MC/X86/apx/ccmp-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.h

  Log Message:
  -----------
  [X86][MC] Support encoding/decoding for APX CCMP/CTEST (#83863)

APX assembly syntax recommendations:
  https://cdrdv2.intel.com/v1/dl/getContent/817241

NOTE:
The change in llvm/tools/llvm-exegesis/lib/X86/Target.cpp is for test
LLVM ::
tools/llvm-exegesis/X86/latency/latency-SETCCr-cond-codes-sweep.s

For `SETcc`, llvm-exegesis would randomly choose 1 other instruction to
test with `SETcc`, after selecting the instruction, llvm-exegesis would
check if the operand is initialized and valid, if not
`randomizeTargetMCOperand` would choose a value for invalid operand, it
misses support for condition code operand, which cause the flaky failure
after `CCMP` supported.

llvm-exegesis can choose `CCMP` without specifying ccmp feature b/c it
use `MCSubtarget` and only16/32/64 bit is considered.
llvm-exegesis doesn't choose other instructions b/c requirement in
`hasAliasingRegistersThrough`: the instruction should use GPR (defined
by `SETcc`) and define `EFLAGS` (used by `SETcc`).


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

  Changed paths:
    M clang/include/clang/Basic/Cuda.h
    M clang/lib/Driver/Driver.cpp

  Log Message:
  -----------
  [HIP] Make the HIP default architecture use the enum value (#84400)

Summary:
This default enum is used in other places, we should keep it consistent.


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

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Testing/CommandLineArgs.h
    M clang/include/clang/Testing/TestClangConfig.h
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Testing/CommandLineArgs.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h

  Log Message:
  -----------
  [clang][ASTMatcher] Add matchers for isExplicitObjectMemberFunction() (#84446)

Note that this patch will be necessary to fix
`forEachArgumentWithParam()` and `forEachArgumentWithParamType()`
matchers for deducing "this"; which is my true motivation. There the bug
is that with explicit obj params, one should not adjust the number of
arguments in presence of `CXXMethodDecls`, and this causes a mismatch
there mapping the argument to the wrong param. But, I'll come back there
once we have this matcher.


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

  Changed paths:
    M libc/src/__support/UInt.h

  Log Message:
  -----------
  [libc][NFC] Simplify `BigInt::mul` (#84468)


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

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/UInt.h
    R libc/src/__support/integer_utils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Remove integer_utils.h (#84466)

Its sole user is `BigInt` so moving `full_mul` inside UInt.h.


  Commit: 912ea6e335ca6174b3433fd960ed8b592794361b
      https://github.com/llvm/llvm-project/commit/912ea6e335ca6174b3433fd960ed8b592794361b
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value.cpp

  Log Message:
  -----------
  [clang-tidy]avoid bugprone-unused-return-value false positive for function with the same prefix as the default argument (#84333)


  Commit: 10b01563da1d7c98d5fff6aa8b4a78be56a8099d
      https://github.com/llvm/llvm-project/commit/10b01563da1d7c98d5fff6aa8b4a78be56a8099d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp

  Log Message:
  -----------
  [flang][HLFIR] Fix use-after-free when rewriting users in `canonicalize` (#84371)

Rewriting an op can invalidate the operator range being iterated on.
Store the users in a separate list, and iterate over the list instead.

This was detected by address sanitizer.


  Commit: 65524fcb5d4e5f4f5450c38d3e075cce192586bb
      https://github.com/llvm/llvm-project/commit/65524fcb5d4e5f4f5450c38d3e075cce192586bb
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp

  Log Message:
  -----------
  [flang][CodeGen] Replace correct op in BoxedProcedurePass (#84375)


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

  Changed paths:
    M flang/unittests/Frontend/FrontendActionTest.cpp

  Log Message:
  -----------
  [flang][unittests] Fix buffer overrun in FrontendActionTest (#84381)

When` SmallVector<char>` is used as a backing storage, it can't be
assumed to end with a \x0. When creating a `StringRef` from it, pass the
length explicitly.

This was detected by address sanitizer.


  Commit: 141ebdd242f35bfebc576c51d8b60182ae4eac2d
      https://github.com/llvm/llvm-project/commit/141ebdd242f35bfebc576c51d8b60182ae4eac2d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/rewrite-directives.cpp
    A llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/lib/Frontend/OpenMP/OMP.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] introduce OMP.h header file, use it instead of OMP… (#84188)

….h.inc

The consumers of OpenMP-related definitions include a TableGen-generated
file OMP.h.inc. Having a separate OMP.h allows putting additional
declarations in there that are not auto-generated.

This patch is NFC.


  Commit: 7415524b45392651969374c067041daa82dc89e7
      https://github.com/llvm/llvm-project/commit/7415524b45392651969374c067041daa82dc89e7
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaInit.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/TreeTransform.h
    M clang/test/SemaCXX/cxx17-compat.cpp
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
    A clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang] Implement CTAD for type alias template. (#77890)

Fixes #54051

This patch implements the C++20 feature -- CTAD for alias templates (P1814R0, specified in https://eel.is/c++draft/over.match.class.deduct#3). It is an initial patch:
- it cover major pieces, thus it works for most cases;
- the big missing piece is to implement the associated constraints (over.match.class.deduct#3.3) for the synthesized deduction guides, see the FIXME in code and tests;
- Some enhancements on the TreeTransform&TemplateInstantiator to allow performing instantiation on `BuildingDeductionGuides` mode;


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

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

  Log Message:
  -----------
  [CodeGen] Skip declaration in ModuleToMachineFunctionPassAdaptor (#84417)

Like ModuleToFunctionPassAdaptor.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 7c21495fee927359d642793d2eeb24696a301262
      https://github.com/llvm/llvm-project/commit/7c21495fee927359d642793d2eeb24696a301262
  Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonGenMux.cpp
    M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZShortenInst.cpp
    M llvm/lib/Target/X86/X86FloatingPoint.cpp

  Log Message:
  -----------
  Reapply "Convert many LivePhysRegs uses to LiveRegUnits" (#84338)

This only converts the instances where all that is needed is to change
the variable type name.

Basically, anything that involves a function that LiveRegUnits does not
directly have was skipped to play it safe.

Reverts
https://github.com/llvm/llvm-project/commit/7a0e222a17058a311b69153d0b6f1b4459414778


  Commit: d2c49f13d8e8a5f7257b217dfe2c44ecbeb5a405
      https://github.com/llvm/llvm-project/commit/d2c49f13d8e8a5f7257b217dfe2c44ecbeb5a405
  Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:

  Log Message:
  -----------
  [Hexagon] Use LiveRegUnits (#84112)


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

  Changed paths:
    M clang/unittests/AST/MatchVerifier.h

  Log Message:
  -----------
  Fixup 7457e2c1535acd54 by adding a switch case

This fixups 7457e2c1535acd548d2619dfb34eb93d27d15908 as I forgot one
switch to update, which then broke this build bot:
https://lab.llvm.org/buildbot/#/builders/57/builds/33272


  Commit: ba2236d3000645d3127f972aa7ac1844c47e299c
      https://github.com/llvm/llvm-project/commit/ba2236d3000645d3127f972aa7ac1844c47e299c
  Author: Will Hawkins <hawkinsw at obs.cr>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M libcxx/test/std/ranges/range.adaptors/range.all/all.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.chunk.by/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.common.view/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop.while/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.join/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.reverse/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take.while/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take/adaptor.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/adaptor.pass.cpp
    M libcxx/test/support/test_range.h

  Log Message:
  -----------
  [libcxx][NFC] Consolidate testing concept CanBePiped (#80154)

Almost every test needed a CanBePiped concept and each implemented it
separately, but identically. Consolidate all implementations into
test_range.h.


  Commit: 01e5d4609bed5db52890cb66a91c65e9bb6a122f
      https://github.com/llvm/llvm-project/commit/01e5d4609bed5db52890cb66a91c65e9bb6a122f
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/docs/SourceLevelDebugging.rst

  Log Message:
  -----------
  [RemoveDIs] Add documentation for IR debug records (#81156)

This patch adds minimal documentation for the IR representation of the
RemoveDIs model of debug info. This patch assumes
that the default for all cases is still debug intrinsic functions, and
so does not update all existing text to refer to debug records, but only
adds a section in the LangRef and SourceLevelDebugging documents to
explain the new format.


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

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/type_traits/is_integral.h
    M libc/src/__support/CPP/type_traits/make_signed.h
    M libc/src/__support/CPP/type_traits/make_unsigned.h
    M libc/src/__support/UInt.h
    M libc/src/__support/UInt128.h
    M libc/src/__support/macros/properties/types.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/CMakeLists.txt
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/CPP/limits_test.cpp
    M libc/test/src/__support/integer_literals_test.cpp
    M libc/test/src/__support/uint_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel

  Log Message:
  -----------
  [libc] Provide `LIBC_TYPES_HAS_INT128` (#84149)

Umbrella bug #83182


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

  Changed paths:
    M clang/test/Driver/cuda-bad-arch.cu
    M clang/test/Driver/cuda-external-tools.cu
    M clang/test/Driver/cuda-phases.cu
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-cuid-hash.hip
    M clang/test/Driver/hip-cuid.hip
    M clang/test/Driver/hip-dependent-options.hip
    M clang/test/Driver/hip-device-compile.hip
    M clang/test/Driver/hip-link-bc-to-bc.hip
    M clang/test/Driver/hip-link-bundle-archive.hip
    M clang/test/Driver/hip-link-save-temps.hip
    M clang/test/Driver/hip-link-shared-library.hip
    M clang/test/Driver/hip-link-static-library.hip
    M clang/test/Driver/hip-offload-compress-zlib.hip
    M clang/test/Driver/hip-offload-compress-zstd.hip
    M clang/test/Driver/hip-output-file-name.hip
    M clang/test/Driver/hip-partial-link.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-rdc-device-only.hip
    M clang/test/Driver/hip-target-id.hip
    M clang/test/Driver/hip-toolchain-features.hip
    M clang/test/Driver/hip-toolchain-rdc-separate.hip
    M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
    M clang/test/Driver/hip-toolchain-rdc.hip
    M clang/test/Driver/hip-unbundle-preproc.hipi
    M clang/test/Driver/hipspv-toolchain-rdc.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M clang/test/Driver/lto.cu
    M clang/test/Driver/thinlto.cu

  Log Message:
  -----------
  [CUDA][HIP][NFC] Precommit new driver changes to tests

Summary:
A lot of these tests implicitly rely on `--no-offload-new-driver` a
patch in the future will change the default so this patch makes it
explicit in locations where it matters.


  Commit: ce683273aa3dbdd7bce2168c29b1a7652ce73608
      https://github.com/llvm/llvm-project/commit/ce683273aa3dbdd7bce2168c29b1a7652ce73608
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-08 (Fri, 08 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-avx2.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse41.s

  Log Message:
  -----------
  [X86] PBLENDW instructions can run on Port1 or Port5

When we copied the SkylakeServer model we missed this diff

Confirmed with uops.info and Agner


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp

  Log Message:
  -----------
  [flang][OpenMP] Fix use-after-free in OMPFunctionFiltering (#84373)

When walking over functions (in pre-order), if the function being
visited needs to be erased, skip visiting its regions.

This was detected by address sanitizer.


  Commit: e0d49066c1acfa4ae0f0e8ea49b0f0b6bb3f1a25
      https://github.com/llvm/llvm-project/commit/e0d49066c1acfa4ae0f0e8ea49b0f0b6bb3f1a25
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A llvm/test/Assembler/range-attribute-invalid-range.ll
    A llvm/test/Assembler/range-attribute-invalid-type.ll
    M llvm/test/Bitcode/attributes.ll
    A llvm/test/Verifier/range-attr.ll
    M llvm/utils/TableGen/Attributes.cpp

  Log Message:
  -----------
  [IR] Add new Range attribute using new ConstantRange Attribute type (#83171)

implementation as discussed in
https://discourse.llvm.org/t/rfc-metadata-attachments-for-function-arguments/76420


  Commit: 2b4d8188b263019477fa996b74b3da8a87a0e04b
      https://github.com/llvm/llvm-project/commit/2b4d8188b263019477fa996b74b3da8a87a0e04b
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-dupq.ll

  Log Message:
  -----------
  [Clang][LLVM][SVE2.1]  Created intrinsics for DUPQ instr. (#83260)

This patch adds clang and llvm support for following intrinsic and maps
it to DUPQ instruction:
```
   // Variants are also available for:
   // _s8, _u16, _s16, _u32, _s32, _u64, _s64
   // _bf16, _f16, _f32, _f64
   svuint8_t svdup_laneq[_u8](svuint8_t zn, uint64_t imm_idx);
```


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

  Changed paths:
    M libc/include/llvm-libc-macros/inttypes-macros.h
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc][c23] make inttypes.h compat with c23 (#84493)


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

  Changed paths:
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CodeGenCUDA/host-used-extern.cu

  Log Message:
  -----------
  [HIP] fix host-used external kernel (#83870)

In -fgpu-rdc mode, when an external kernel is used by a host function
with weak_odr linkage (e.g. explicitly instantiated template function),
the kernel should not be marked as host-used external kernel, since the
host function may be dropped by the linker. Mark the external kernel as
host-used external kernel will force a reference to the external kernel,
which the user may not define in other TU.

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


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

  Changed paths:
    M llvm/include/llvm/IR/Operator.h
    M llvm/lib/Analysis/LazyValueInfo.cpp

  Log Message:
  -----------
  [IR] Add `getNoWrapKind` method for `OverflowingBinaryOperator` (NFC)


  Commit: 9d5fdad7e5002dbe087bbf0a78ffe9423b6aab56
      https://github.com/llvm/llvm-project/commit/9d5fdad7e5002dbe087bbf0a78ffe9423b6aab56
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M libcxx/test/libcxx/module_std.gen.py
    M libcxx/test/libcxx/module_std_compat.gen.py

  Log Message:
  -----------
  [libc++] Disable module_std and module_std_compat tests

Those have been crippling the CI for over a week now. This is the only
solution I see until we gain a better understanding of why they fail.
Otherwise all other patches are blocked on these spurious failures in
the stage1 of the CI.


  Commit: 0456a32a2a622a73e01b01c65c21973ac5a689fc
      https://github.com/llvm/llvm-project/commit/0456a32a2a622a73e01b01c65c21973ac5a689fc
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Simplify renamed BUF instruction definitions. NFC. (#84503)

Use optional arguments instead of separate (multi)classes for renamed
instructions.


  Commit: 35d3b33ba5c9b90443ac985f2521b78f84b611fe
      https://github.com/llvm/llvm-project/commit/35d3b33ba5c9b90443ac985f2521b78f84b611fe
  Author: Andreas Fertig <andy at cppinsights.io>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    A clang/test/SemaCXX/gh84064-1.cpp
    A clang/test/SemaCXX/gh84064-2.cpp

  Log Message:
  -----------
  [C++20][Coroutines] Lambda-coroutine with operator new in promise_type (#84193)

Fix #84064

According to http://eel.is/c++draft/dcl.fct.def.coroutine#9 the first
parameter for overload resolution of `operator new` is `size_t` followed
by the arguments of the coroutine function.
http://eel.is/c++draft/dcl.fct.def.coroutine#4 states that the first
argument is the lvalue of `*this` if the coroutine is a member function.

Before this patch, Clang handled class types correctly but ignored
lambdas. This patch adds support for lambda coroutines with a
`promise_type` that implements a custom `operator new`.

The patch does consider C++23 `static operator()`, which already worked
as there is no `this` parameter.


  Commit: 81601391369c267216199db3f7fcb9864ccf6fec
      https://github.com/llvm/llvm-project/commit/81601391369c267216199db3f7fcb9864ccf6fec
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Driver/arm-cortex-cpus-2.c
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/ARMTargetParser.def
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/ARM/ARM.td
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  Add support for Arm Cortex A78AE CPU (#84485)

Add support for Arm Cortex A78AE CPU

Technical Reference Manual for Arm Cortex A78AE:
   https://developer.arm.com/documentation/101779/0003

Fixes #84450


  Commit: abfac563f5b5a123e4bf773c3a09777e6fc4f50c
      https://github.com/llvm/llvm-project/commit/abfac563f5b5a123e4bf773c3a09777e6fc4f50c
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.td
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/test/Dialect/Linalg/mesh-spmdization.mlir
    M mlir/test/Dialect/Mesh/sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir

  Log Message:
  -----------
  [mlir][mesh] Make sharding propagation and spmdization work on FuncOpInterface (#84415)

Make them more general instead of only supporting `func::FuncOp`.


  Commit: c54e0524eeffcf2c5428cd2bc0449a1989e82cd8
      https://github.com/llvm/llvm-project/commit/c54e0524eeffcf2c5428cd2bc0449a1989e82cd8
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/SemaOpenACC/compute-construct-ast.cpp

  Log Message:
  -----------
  [OpenACC] Add Compute Context Serialization test, fix a bug

While working on a followup patch, I discovered we didn't
serialize/deserialize the Compute Context properly, so this patch fixes
it, then adds a PCH mode to the ast test.


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

  Changed paths:
    M libc/docs/talks.rst

  Log Message:
  -----------
  [libc][docs] add slides link for Tue's 2023 talk (#84516)


  Commit: 599ab6d63e5b12fd9c421140653f0510f0d29eab
      https://github.com/llvm/llvm-project/commit/599ab6d63e5b12fd9c421140653f0510f0d29eab
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M libcxx/test/libcxx/module_std.gen.py
    M libcxx/test/libcxx/module_std_compat.gen.py

  Log Message:
  -----------
  Revert "[libc++] Disable module_std and module_std_compat tests"

It looks like that broke the CI even more. Reverting until I can
investigate.


  Commit: 60d7bf3dbe6c32ed67ed65cb15727cddd9531979
      https://github.com/llvm/llvm-project/commit/60d7bf3dbe6c32ed67ed65cb15727cddd9531979
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/gnu_ext.td
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/llrintf128.cpp
    A libc/src/math/generic/llroundf128.cpp
    A libc/src/math/generic/lrintf128.cpp
    A libc/src/math/generic/lroundf128.cpp
    A libc/src/math/generic/rintf128.cpp
    A libc/src/math/llrintf128.h
    A libc/src/math/llroundf128.h
    A libc/src/math/lrintf128.h
    A libc/src/math/lroundf128.h
    A libc/src/math/rintf128.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/llrintf128_test.cpp
    A libc/test/src/math/smoke/llroundf128_test.cpp
    A libc/test/src/math/smoke/lrintf128_test.cpp
    A libc/test/src/math/smoke/lroundf128_test.cpp
    A libc/test/src/math/smoke/rintf128_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add (l|ll)rintf128 and (l|ll)roundf128 math functions. (#84504)


  Commit: 73b2d672c1c8318cd16a02812c39ae3997b9dbcd
      https://github.com/llvm/llvm-project/commit/73b2d672c1c8318cd16a02812c39ae3997b9dbcd
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [lldb][FreeBSD] Fix crash when execve fails with asserts enabled

535da10842c7309e9eeaf9828cf6bb034fecaf16 introduced a check, when execve fails,
to see if we are allowed to trace programs at all.

Unfortunately because we like to call Status vars "error" and "status"
in various combinations, one got misnamed. This lead to lldb-server trying
to make an error value out of a success value when you did the following:

```
$ ./bin/lldb-server gdbserver 127.0.0.1:1234 -- is_not_a_file
Assertion failed: (Err && "Cannot create Expected<T> from Error success value."), function Expected...
```

This happened because the execve fails, but the check whether we can
trace says yes we can trace, but then we use the Status from the check
to create the return value. That Status is in fact a success value not
the failed Status we got from the execve attempt.

With the name corrected you now get:
```
$ ./bin/lldb-server gdbserver 127.0.0.1:1234 -- is_not_a_file
error: failed to launch 'is_not_a_file': execve failed: No such file or directory
```

Which is what we expect to see. This also fixes the test `TestGDBRemoteLaunch.py`
when asserts are enabled.


  Commit: 0bbada93a559b604797fe57978f3eca5e41edaeb
      https://github.com/llvm/llvm-project/commit/0bbada93a559b604797fe57978f3eca5e41edaeb
  Author: Eric Fiselier <eric at efcs.ca>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M libcxx/test/libcxx/module_std.gen.py
    M libcxx/test/libcxx/module_std_compat.gen.py

  Log Message:
  -----------
  Actually disable the module generation tests.

LIT was never really meant to generate tests during discovery,
and we probably shouldn't be doing this.

This hack is even worse than the initial attempt because it buries the
"UNSUPPORTED" at the bottom of the test.


  Commit: dbca8aa1472b9140a68918b2615519dc7dad593f
      https://github.com/llvm/llvm-project/commit/dbca8aa1472b9140a68918b2615519dc7dad593f
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp

  Log Message:
  -----------
  [WebAssembly] Use SetVector instead of SmallPtrSet in FixBrTableDefaults (#84418)

This pass inserts all the MBBs into a set and then iterates over them.
But when
the number of elements gets large enough, SmallPtrSet expands into a
hash table
which wouldn't have a deterministic iteration order since the elements
are
pointers. This results in nondeterministic jump table layouts.
Use SetVector instead for a deterministic iteration order.


  Commit: ea12c1fa15093e24818785b2ca6e06588372a3bf
      https://github.com/llvm/llvm-project/commit/ea12c1fa15093e24818785b2ca6e06588372a3bf
  Author: sylvain-audi <62035306+sylvain-audi at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    A compiler-rt/test/asan/TestCases/Windows/issue64990.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
    M llvm/test/Instrumentation/AddressSanitizer/localescape.ll

  Log Message:
  -----------
  [Asan] Add "funclet" OpBundle to generated runtime calls if required by EH personality (#82533)

Previously, runtime calls introduced by ASan instrumentation into EH
pads were missing the funclet token expected by WinEHPrepare.
WinEHPrepare would then identify the containing BB as invalid and
discard it, causing invalid code generation that most likely crashes.

Also fixed localescape test, switching its EH personality to match code
without funclets.

This PR is based on the Phabricator patch
https://reviews.llvm.org/D143108

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


  Commit: 9fb552812c65a13cd19eedea1cc2ef739ad652e9
      https://github.com/llvm/llvm-project/commit/9fb552812c65a13cd19eedea1cc2ef739ad652e9
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation3/.clang-tidy
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp

  Log Message:
  -----------
  [clang-tidy] Fix Hungarian Prefix in readability-identifier-naming (#84236)

Fix handling of Hungarian Prefix when configured to LowerCase.
Warnings no longer will be emited for names that already match
this style.

Fixes: #80268


  Commit: 81798d516067a58c8e4ba51072dae7351d445064
      https://github.com/llvm/llvm-project/commit/81798d516067a58c8e4ba51072dae7351d445064
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M lld/ELF/DWARF.cpp

  Log Message:
  -----------
  [ELF] Sort sections in order. NFC


  Commit: 2e0ddfc1638597e0d08fb028fdd6754387732107
      https://github.com/llvm/llvm-project/commit/2e0ddfc1638597e0d08fb028fdd6754387732107
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [DirectX][docs] Expand DXILArchitecture documentation (#84077)

This just seeks to give a high level overview of the current state of
the DirectX backend. It doesn't go in too deep, but should be a starting
point for further documentation.

---------

Co-authored-by: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>


  Commit: 5a95378659506b0ce94ceb79a43477e73c9756f4
      https://github.com/llvm/llvm-project/commit/5a95378659506b0ce94ceb79a43477e73c9756f4
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    R clang/include/clang/Basic/Builtins.def

  Log Message:
  -----------
  [NFC] Remove unnecessary 'Builtins.def' file.

This was replaced with tablegen anyway, so it just contained a stale
comment.  This patch removes it.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/signed-truncation-check.ll

  Log Message:
  -----------
  [SelectionDAG] Allow FREEZE to be hoisted before integer SETCC. (#84241)

Teach canCreateUndefOrPoison that ISD::SETCC with integer operands can
never create undef/poison. FP SETCC is more complicated and will be
handled in a future patch.

Teach isGuaranteedNotToBeUndefOrPoison that ISD::CONDCODE is not
poison/undef. Its a special constant only used by setcc/select_cc like
nodes. This is needed since the hoisting will only hoist if exactly one
operand might be poison. setcc has 3 operand including the condition
code.
    
Recovers some regression from #84232.


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

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

  Log Message:
  -----------
  AMDGPU: Copy SubtargetPredicate from pseudo to real for dpp16 and dpp8 (#84517)

We usually expect to copy SubtargetPredicate (and OtherPredicates) from
pseudo to real. However, in dpp16 and dpp8, there are assignments like
SubtargetPredicate = HasDPP/HasDPP16/HasDpp8. These assignments override
predicates copied from pseudo, and thus the predicates used to define
pseudo get lost.

Losing predicates is a subtle issue usually not easy to be found. It may
result in instructions being generated on GPUs that do not support the
features to generate them.
https://github.com/llvm/llvm-project/pull/84354 addressed one of such
issues, and inspired this work.

Fortunately, we found that the assignment of SubtargetPredicate usually
comes together with assignment of AssemblerPredicate, and with the same
value. For example:
  let AssemblerPredicate = HasDPP16;
  let SubtargetPredicate = HasDPP16;
One of them is redundant and can be removed.

In this work, we remove the redundant assignment of SubtargetPredicate,
and then copy it from pseudo for VOP*_DPP and VOP*_DPP8. With this
change, we can safely use SubtargetPredicate to define pseudo
instructions.


  Commit: 99118c809367d518ffe4de60c16da953744b68b9
      https://github.com/llvm/llvm-project/commit/99118c809367d518ffe4de60c16da953744b68b9
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/include/lldb/Core/ValueObjectCast.h
    M lldb/include/lldb/Core/ValueObjectChild.h
    M lldb/include/lldb/Core/ValueObjectConstResult.h
    M lldb/include/lldb/Core/ValueObjectDynamicValue.h
    M lldb/include/lldb/Core/ValueObjectMemory.h
    M lldb/include/lldb/Core/ValueObjectRegister.h
    M lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
    M lldb/include/lldb/Core/ValueObjectVTable.h
    M lldb/include/lldb/Core/ValueObjectVariable.h
    M lldb/include/lldb/DataFormatters/TypeSynthetic.h
    M lldb/include/lldb/DataFormatters/VectorIterator.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/Type.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    M lldb/include/lldb/Utility/Log.h
    M lldb/source/API/SBValue.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectCast.cpp
    M lldb/source/Core/ValueObjectChild.cpp
    M lldb/source/Core/ValueObjectConstResult.cpp
    M lldb/source/Core/ValueObjectDynamicValue.cpp
    M lldb/source/Core/ValueObjectMemory.cpp
    M lldb/source/Core/ValueObjectRegister.cpp
    M lldb/source/Core/ValueObjectSyntheticFilter.cpp
    M lldb/source/Core/ValueObjectVTable.cpp
    M lldb/source/Core/ValueObjectVariable.cpp
    M lldb/source/DataFormatters/FormatManager.cpp
    M lldb/source/DataFormatters/TypeSynthetic.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    M lldb/source/DataFormatters/VectorType.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
    M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
    M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/Language/ObjC/NSArray.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/source/Plugins/Language/ObjC/NSException.cpp
    M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
    M lldb/source/Plugins/Language/ObjC/NSSet.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/Type.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/StackFrame.cpp

  Log Message:
  -----------
  Change GetNumChildren()/CalculateNumChildren() methods return llvm::Expected (#84219)

Change GetNumChildren()/CalculateNumChildren() methods return
llvm::Expected

This is an NFC change that does not yet add any error handling or change
any code to return any errors.

This is the second big change in the patch series started with
https://github.com/llvm/llvm-project/pull/83501

A follow-up PR will wire up error handling.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/VINTERPInstructions.td

  Log Message:
  -----------
  AMDGPU: Rename HasVinterInsts to HasVINTERPEncoding, NFC (#84535)


  Commit: 2bd369b48dbf0bc3128becb7ef8f8a1b82514b87
      https://github.com/llvm/llvm-project/commit/2bd369b48dbf0bc3128becb7ef8f8a1b82514b87
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll

  Log Message:
  -----------
  [SLP]Improve minbitwidth analysis.

This improves overall analysis for minbitwidth in SLP. It allows to
analyze the trees with store/insertelement root nodes. Also, instead of
using single minbitwidth, detected from the very first analysis stage,
it tries to detect the best one for each trunc/ext subtree in the graph
and use it for the subtree.
Results in better code and less vector register pressure.

Metric: size..text

Program                                                                                                                                                size..text
                                                                                                                                                       results     results0    diff
                                                                      test-suite :: SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant.test    92549.00    92609.00  0.1%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   663381.00   663493.00  0.0%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   663381.00   663493.00  0.0%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   307182.00   307214.00  0.0%
                                                                             test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1394420.00  1394484.00  0.0%
                                                                              test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1394420.00  1394484.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2040257.00  2040273.00  0.0%

                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12396098.00 12395858.00 -0.0%
                                                                                         test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test   909944.00   909768.00 -0.0%

SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant - 4 scalar
instructions remain scalar (good).
Spec2017/x264 - the whole function idct4x4dc is vectorized using <16
x i16> instead of <16 x i32>, also zext/trunc are removed. In other
places last vector zext/sext removed and replaced by
extractelement + scalar zext/sext pair.
MultiSource/Benchmarks/Bullet/bullet - reduce or <4 x i32> replaced by
reduce or <4 x i8>
Spec2017/imagick - Removed extra zext from 2 packs of the operations.
Spec2017/parest - Removed extra zext, replaced by extractelement+scalar
zext
Spec2017/blender - the whole bunch of vector zext/sext replaced by
extractelement+scalar zext/sext, some extra code vectorized in smaller
types.
Spec2006/gobmk - fixed cost estimation, some small code remains scalar.

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

The patch has the same functionality (no test changes, no changes in
benchmarks) as the original patch, just has some compile time
improvements + fixes for xxhash unittest, discovered earlier in the
previous version of the patch.

Reviewers: 

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


  Commit: 9405d5af65853ac548cce2656497195010db1d86
      https://github.com/llvm/llvm-project/commit/9405d5af65853ac548cce2656497195010db1d86
  Author: Andrew Browne <browneee at google.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/docs/DataFlowSanitizer.rst

  Log Message:
  -----------
  [DFSan] Add missing documentation for -dfsan-reaches-function-callbacks. (#84218)


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

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows: Fixes for building the release binaries (#83694)

Since aa02002491333c42060373bc84f1ff5d2c76b4ce we weren't installing the
correct dependencies, and since 2836d8edbfbcd461b25101ed58f93c862d65903a
we must pass a custom token to github-upload-release.py for verifying
permissions.


  Commit: e460da14ec0d85af657a018605decabdd5221ded
      https://github.com/llvm/llvm-project/commit/e460da14ec0d85af657a018605decabdd5221ded
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use get_BUF_ps to default real_name of BUF instructions. NFC. (#84524)


  Commit: 074fe3bac634ae9054e2d35be2e1bcf8a19bc256
      https://github.com/llvm/llvm-project/commit/074fe3bac634ae9054e2d35be2e1bcf8a19bc256
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Simplify and refactor VBUFFER_Real class definitions. NFC. (#84521)

Abstracting out a new base class VBUFFER_Real_gfx12 just highlights that
the only difference between the MUBUF and MTBUF forms is in the handling
of the "format" field.


  Commit: 70da9155efb3aeb2c6b37678168cf29f91e80734
      https://github.com/llvm/llvm-project/commit/70da9155efb3aeb2c6b37678168cf29f91e80734
  Author: Mads Marquart <mads at marquart.dk>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  Update host CPU detection for Apple M2 and Apple M3 (#82100)

`CPUFAMILY_ARM_BLIZZARD_AVALANCHE` and `CPUFAMILY_ARM_EVEREST_SAWTOOTH`
are taken from `<mach/machine.h>` in `Kernel.framework`.


  Commit: 087666811452e1b6490d59572337aaa907f93e7c
      https://github.com/llvm/llvm-project/commit/087666811452e1b6490d59572337aaa907f93e7c
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__format/concepts.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    R libcxx/include/__format/format_fwd.h
    M libcxx/include/__format/formatter.h
    A libcxx/include/__fwd/format.h
    M libcxx/include/format
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [libc++][NFC] Move __format/format_fwd.h to __fwd/format.h (#84336)


  Commit: 52b3e89ff4517521e40f5e416a40e574321eaee9
      https://github.com/llvm/llvm-project/commit/52b3e89ff4517521e40f5e416a40e574321eaee9
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp

  Log Message:
  -----------
  [ELF] Simplify GdbIndexSection. NFC


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/CodeGen/AMDGPU/immv216.ll
    M llvm/test/CodeGen/AMDGPU/inline-constraints.ll
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-imm.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-imm.ll
    M llvm/test/MC/AMDGPU/gfx10_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vopc_e64.s
    M llvm/test/MC/AMDGPU/gfx10_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx8_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx8_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx8_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx9-asm-err.s
    M llvm/test/MC/AMDGPU/gfx9_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx9_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx9_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx9_err_pos.s
    M llvm/test/MC/AMDGPU/vop3-gfx10.s
    M llvm/test/MC/AMDGPU/vop3-gfx9.s
    M llvm/test/MC/AMDGPU/vop3.s
    M llvm/test/MC/AMDGPU/vop_sdwa.s

  Log Message:
  -----------
  [AMDGPU] Replace `isInlinableLiteral16` with specific version (#84402)

The current implementation of `isInlinableLiteral16` assumes, a 16-bit
inlinable
literal is either an `i16` or a `fp16`. This is not always true because
of
`bf16`. However, we can't tell `fp16` and `bf16` apart by just looking
at the
value. This patch splits `isInlinableLiteral16` into three versions,
`i16`,
`fp16`, `bf16` respectively, and call the corresponding version.


  Commit: 5f935e91810eb28854611faf13bb7d07a8dbf470
      https://github.com/llvm/llvm-project/commit/5f935e91810eb28854611faf13bb7d07a8dbf470
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
    M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/fpext.ll
    M llvm/test/CodeGen/AArch64/fptrunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/vector-fcopysign.ll

  Log Message:
  -----------
  [AArch64] Optimize fp64 <-> fp16 SIMD conversions

Legalization would result in needless scalarization. Add some
DAGCombines to fix this up.


  Commit: edc1c3d24e6f8ed548340ce0369138fb40427a24
      https://github.com/llvm/llvm-project/commit/edc1c3d24e6f8ed548340ce0369138fb40427a24
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/faddp-half.ll
    M llvm/test/CodeGen/AArch64/faddsub.ll
    M llvm/test/CodeGen/AArch64/fcvt.ll
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/fdiv.ll
    M llvm/test/CodeGen/AArch64/fmla.ll
    M llvm/test/CodeGen/AArch64/fmul.ll
    M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/sve-fp-reciprocal.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll

  Log Message:
  -----------
  [AArch64] Make more vector f16 operations legal

v8f16 is a legal type but promoting to v16f16 would result in an illegal
type.

Let's legalize these by a combination of splitting+promoting resulting
in a pair of v4f16.

Also, we were being overly cautious with different v4f16 nodes. Mark
more of them safe to promote to v4f32.


  Commit: 0d7dba6300b452c751cde4eeaedcbfeb86f6185c
      https://github.com/llvm/llvm-project/commit/0d7dba6300b452c751cde4eeaedcbfeb86f6185c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

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


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

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    R llvm/test/Assembler/range-attribute-invalid-range.ll
    R llvm/test/Assembler/range-attribute-invalid-type.ll
    M llvm/test/Bitcode/attributes.ll
    R llvm/test/Verifier/range-attr.ll
    M llvm/utils/TableGen/Attributes.cpp

  Log Message:
  -----------
  Revert "[IR] Add new Range attribute using new ConstantRange Attribute type" (#84549)

Reverts llvm/llvm-project#83171

broke sanitizer buildbot
https://lab.llvm.org/buildbot/#/builders/168/builds/19110/steps/10/logs/stdio


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

  Changed paths:
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/include/lldb/Core/ValueObjectCast.h
    M lldb/include/lldb/Core/ValueObjectChild.h
    M lldb/include/lldb/Core/ValueObjectConstResult.h
    M lldb/include/lldb/Core/ValueObjectDynamicValue.h
    M lldb/include/lldb/Core/ValueObjectMemory.h
    M lldb/include/lldb/Core/ValueObjectRegister.h
    M lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
    M lldb/include/lldb/Core/ValueObjectVTable.h
    M lldb/include/lldb/Core/ValueObjectVariable.h
    M lldb/include/lldb/DataFormatters/TypeSynthetic.h
    M lldb/include/lldb/DataFormatters/VectorIterator.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/Type.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    M lldb/include/lldb/Utility/Log.h
    M lldb/source/API/SBValue.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectCast.cpp
    M lldb/source/Core/ValueObjectChild.cpp
    M lldb/source/Core/ValueObjectConstResult.cpp
    M lldb/source/Core/ValueObjectDynamicValue.cpp
    M lldb/source/Core/ValueObjectMemory.cpp
    M lldb/source/Core/ValueObjectRegister.cpp
    M lldb/source/Core/ValueObjectSyntheticFilter.cpp
    M lldb/source/Core/ValueObjectVTable.cpp
    M lldb/source/Core/ValueObjectVariable.cpp
    M lldb/source/DataFormatters/FormatManager.cpp
    M lldb/source/DataFormatters/TypeSynthetic.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    M lldb/source/DataFormatters/VectorType.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
    M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
    M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/Language/ObjC/NSArray.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/source/Plugins/Language/ObjC/NSException.cpp
    M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
    M lldb/source/Plugins/Language/ObjC/NSSet.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/Type.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/StackFrame.cpp

  Log Message:
  -----------
  Revert "Change GetNumChildren()/CalculateNumChildren() methods return llvm::Expected (#84219)"

This reverts commit 99118c809367d518ffe4de60c16da953744b68b9.


  Commit: 08ddd2ce4048b0adbddc3ab9b770ccf43f81d65d
      https://github.com/llvm/llvm-project/commit/08ddd2ce4048b0adbddc3ab9b770ccf43f81d65d
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    A llvm/test/tools/llvm-profdata/profile-version.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [PGO] Add support for writing previous indexed format (#84505)

Enable temporary support to ease use of new llvm-profdata with slightly
older indexed profiles after 16e74fd48988ac95551d0f64e1b36f78a82a89a2,
which bumped the indexed format for type profiling.


  Commit: 05280b582aa73ce0f41bb47aea15818658f32929
      https://github.com/llvm/llvm-project/commit/05280b582aa73ce0f41bb47aea15818658f32929
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M openmp/runtime/cmake/LibompHandleFlags.cmake
    M openmp/runtime/src/z_Linux_util.cpp

  Log Message:
  -----------
  [OpenMP] Implements __kmp_is_address_mapped for Solaris/Illumos. (#82930)

Also fixing OpenMP build itself for this platform.


  Commit: 755b439694432d4f68e20e979b479cbc30602bb1
      https://github.com/llvm/llvm-project/commit/755b439694432d4f68e20e979b479cbc30602bb1
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072)

Add sign extension "SEB/SEH" before compare.

Fix #61881


  Commit: 83789ffbd857bb78b69d6e54560310ff2d347f04
      https://github.com/llvm/llvm-project/commit/83789ffbd857bb78b69d6e54560310ff2d347f04
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/test/CodeGen/tbaa-struct-relaxed-aliasing-with-tsan.cpp

  Log Message:
  -----------
  [TBAA] Add bail-out to skip tbaa generation to getTBAAStructInfo. (#84386)

Without this bail out, we may generate fields with null nodes as tags
are generated by using getTypeInfo which has the same bail out.

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


  Commit: 8d85cd3a59f65315bbadaf11c4b3f107238456db
      https://github.com/llvm/llvm-project/commit/8d85cd3a59f65315bbadaf11c4b3f107238456db
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M libcxx/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Don't build against libcxxrt by default on FreeBSD (#84484)

The libc++ CMake build aims to provide a general-purpose configuration
that matches the canonical LLVM setup (libc++ / libc++abi / libunwind),
not the configuration used for compatibility on any given system. For
these "compatibility" configurations, we use CMake caches like
Apple.cmake and FreeBSD.cmake.

Defaulting to libcxxrt on FreeBSD makes it look as though we're trying
to build the system compatible configuration on FreeBSD, which isn't
really correct and causes confusion more than anything else.

Fixes #84476


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

  Changed paths:
    M libc/src/__support/RPC/rpc.h
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
   [libc][NFCI] Remove lane size template argument on RPC server  (#84557)

Summary:
We previously changed the data layout for the RPC buffer to make it lane
size agnostic. I put off changing the size for the server case to make
the patch smaller. This patch simply reorganizes code by making the lane
size an argument to the port rather than a templtae size. Heavily
simplifies a lot of code, no more `std::variant`.


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

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

  Log Message:
  -----------
  [NFC] [hwasan] remove unused method


  Commit: 3ceebcb48135612b8d90500f65693398f7e526cd
      https://github.com/llvm/llvm-project/commit/3ceebcb48135612b8d90500f65693398f7e526cd
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M mlir/unittests/CMakeLists.txt

  Log Message:
  -----------
  [mlir] tentative fix for "'GTEST_NO_LLVM_SUPPORT' is not defined" war… (#84539)

…ning when unittest is enabled


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

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

  Log Message:
  -----------
  Skip MemtagBasicDeathTest#Unsupported when running with HWASan (#84243)

Tested in AOSP.


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

  Changed paths:
    M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] Add missing build deps for Mesh transforms (#84581)


  Commit: cb6ff746e0c7b9218b6f5c11db44162cacd623a4
      https://github.com/llvm/llvm-project/commit/cb6ff746e0c7b9218b6f5c11db44162cacd623a4
  Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/ArmNeon/Transforms.h
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
    M mlir/lib/Dialect/ArmNeon/CMakeLists.txt
    A mlir/lib/Dialect/ArmNeon/IR/CMakeLists.txt
    A mlir/lib/Dialect/ArmNeon/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
    A mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
    A mlir/test/lib/Dialect/ArmNeon/CMakeLists.txt
    A mlir/test/lib/Dialect/ArmNeon/TestLowerToArmNeon.cpp
    M mlir/test/lib/Dialect/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][ArmNeon] Implements LowerVectorToArmNeon Pattern for SMMLA (#81895)

This patch adds a the `LowerVectorToArmNeonPattern` patterns to the
ArmNeon.

This pattern inspects `vector.contract` ops that can be 1-1 mapped to an
`arm.neon.smmla` intrinsic. The contract ops must be separated into
tiles who's inputs must fit that of a single smmla op (`2x8xi32` inputs
and `2x2xi32` output). The `vector.contract` inputs must be sign
extended from narrow types (<=i8) to be converted. If all conditions are
met, an smmla op is inserted with additional `vector.shape_casts` to
handle linearizing the input and output dimension.


  Commit: c22828991e7ca7b99048761c078252e94403ba6e
      https://github.com/llvm/llvm-project/commit/c22828991e7ca7b99048761c078252e94403ba6e
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/test/builtins/Unit/ctor_dtor.c

  Log Message:
  -----------
  Revert "[builtins] Disable COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY by d… (#84580)

…efault (#83201)"

This reverts commit 062cfada643c1aa48a1bb81894e2920d390fe8cf. See issue
#84574.


  Commit: 624ea68cbc3ce422b3ee110c0c0af839eec2e278
      https://github.com/llvm/llvm-project/commit/624ea68cbc3ce422b3ee110c0c0af839eec2e278
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/include/lldb/Core/ValueObjectCast.h
    M lldb/include/lldb/Core/ValueObjectChild.h
    M lldb/include/lldb/Core/ValueObjectConstResult.h
    M lldb/include/lldb/Core/ValueObjectDynamicValue.h
    M lldb/include/lldb/Core/ValueObjectMemory.h
    M lldb/include/lldb/Core/ValueObjectRegister.h
    M lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
    M lldb/include/lldb/Core/ValueObjectVTable.h
    M lldb/include/lldb/Core/ValueObjectVariable.h
    M lldb/include/lldb/DataFormatters/TypeSynthetic.h
    M lldb/include/lldb/DataFormatters/VectorIterator.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/Type.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    M lldb/include/lldb/Utility/Log.h
    M lldb/source/API/SBValue.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectCast.cpp
    M lldb/source/Core/ValueObjectChild.cpp
    M lldb/source/Core/ValueObjectConstResult.cpp
    M lldb/source/Core/ValueObjectDynamicValue.cpp
    M lldb/source/Core/ValueObjectMemory.cpp
    M lldb/source/Core/ValueObjectRegister.cpp
    M lldb/source/Core/ValueObjectSyntheticFilter.cpp
    M lldb/source/Core/ValueObjectVTable.cpp
    M lldb/source/Core/ValueObjectVariable.cpp
    M lldb/source/DataFormatters/FormatManager.cpp
    M lldb/source/DataFormatters/TypeSynthetic.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    M lldb/source/DataFormatters/VectorType.cpp
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
    M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
    M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/Language/ObjC/NSArray.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/source/Plugins/Language/ObjC/NSException.cpp
    M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
    M lldb/source/Plugins/Language/ObjC/NSSet.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/Type.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/StackFrame.cpp

  Log Message:
  -----------
  Change GetNumChildren()/CalculateNumChildren() methods return llvm::Expected (#84219)

Change GetNumChildren()/CalculateNumChildren() methods return
llvm::Expected

This is an NFC change that does not yet add any error handling or change
any code to return any errors.

This is the second big change in the patch series started with
https://github.com/llvm/llvm-project/pull/83501

A follow-up PR will wire up error handling.


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

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/tuple

  Log Message:
  -----------
  [libc++] Allow the use of extensions in the implementation (#79532)

We've talked about allowing extensions on
[discourse](https://discourse.llvm.org/t/rfc-use-language-extensions-from-future-standards-in-libc/71898/5)
and in a libc++ monthly meeting and agreed to test it out in the LLVM 18
release. We've done that with the `tuple` constructor overload set
(using conditional `explicit`). Since we haven't heard about any
breakages, it seems safe to do. This patch enables the use of extension
from later C++ standards inside the versioned `std` namespaces. This
should be good enough, since almost all of our code is inside that
namespace. This approach also avoids the use of extensions inside the
test `std` suite. That part of the code base should stay clean, since
it's a test suite that is also used by other vendors to test their
implementations.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/DeclCXX.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp

  Log Message:
  -----------
  [clang] Fix crash when declaring invalid lambda member (#74110)

In valid code, there should only be a very specific set of members in a
lambda definition. If the user tries to define something inside the
lambda class, this assumption is violated and causes an assertion error.
This can be fixed by checking whether the members are valid, and if not,
ignore that the class members are potentially unexpected.

I've come across this while working on implementing lambdas in C++03.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    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:
  -----------
  [SelectionDAG] Allow FREEZE to be hoisted before FP SETCC. (#84358)

No nans/infs in SelectionDAG is complicated. Hopefully I've captured
all of the cases. I've only applied to ConsiderFlags to the SDNodeFlags
since those are the only ones that will be droped by hoisting. The
condition code and TargetOptions would still be in effect.
    
Recovers some regression from #84232.


  Commit: 2709bafbfe54b75003c60a950605194d6a3c9776
      https://github.com/llvm/llvm-project/commit/2709bafbfe54b75003c60a950605194d6a3c9776
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M llvm/docs/CodeReview.rst
    M llvm/docs/GitHub.rst

  Log Message:
  -----------
  llvm/docs: Try to fix some broken links

I messed up the syntax here previously - let's see if this is enough to
get it working.


  Commit: e1405e4f71c899420ebf8262d5e9745598419df8
      https://github.com/llvm/llvm-project/commit/e1405e4f71c899420ebf8262d5e9745598419df8
  Author: erer1243 <erer1243 at gmail.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp

  Log Message:
  -----------
  [llvm-c] Add C API methods to match size_t ConstantDataArray C++ API signatures (#84433)

Adds `LLVMConstStringInContext2` and `LLVMConstString2`, which are
identical to originals except that they use `size_t` for length. This is
a clone of
https://github.com/llvm/llvm-project/commit/35276f16e5a2cae0dfb49c0fbf874d4d2f177acc
and is needed for https://github.com/rust-lang/rust/pull/122000.

As an aside, the issue of 32 bit overflow on constants is present in the
C++ APIs as well. A few classes, e.g. `ConstantDataArray` and
`ConstantAggregateZero`, can hold 64-bit ArrayTypes but their length
accessors return 32-bit values. This means the same issue from the
original Rust report is also present in LLVM itself. Would it be a
reasonable goal to update all of these length methods & types to be
uint64_t, or would that be too breaking? Alternatively, we could use
safe fallible casts instead of implicit ones inside the accessors (if an
overflow does happen, the solution would be to use
`MyValue->getType()->getArrayNumElements()` instead).


  Commit: 0baef3b18cdbbdcf9f07c10607407ad0fb541449
      https://github.com/llvm/llvm-project/commit/0baef3b18cdbbdcf9f07c10607407ad0fb541449
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Handle common C++ non-keyword types as such (#83709)

Fixes #83400.


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

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

  Log Message:
  -----------
  github-upload-release.py: Fix bug preventing release creation (#84571)

After aa02002491333c42060373bc84f1ff5d2c76b4ce we started passing the
user name to the create_release function and this was being interpreted
as the git tag.


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

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

  Log Message:
  -----------
  [compiler-rt] Simplify and rename of operator_new_size_type

We can rely on the compiler-provided macro __SIZE_TYPE__ for all
non-MSVC compilers and fall back to `uptr` otherwise.
I verified via https://godbolt.org/z/MW9KMjv5f that this works for MSVC
as well as GCC 4.5 Clang 3.0, so that should cover supported compilers.

While touching this also rename operator_new_size_type to usize which
makes it more obvious that this is the equivalent to size_t within
the sanitizers runtime (which I plan to use in follow-up changes).

Reviewed By: vitalybuka

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


  Commit: fc0fc768cc2122c81fd37aa59d9f31fc0d5694d8
      https://github.com/llvm/llvm-project/commit/fc0fc768cc2122c81fd37aa59d9f31fc0d5694d8
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/xmmintrin.h
    A clang/test/CodeGen/X86/attribute-cmpsd-no-error.c
    M clang/test/CodeGen/X86/avx-builtins.c
    A clang/test/CodeGen/X86/cmp-avx-builtins-error.c
    M clang/test/CodeGen/X86/sse-builtins.c
    M clang/test/CodeGen/X86/sse2-builtins.c
    M clang/test/CodeGen/target-features-error-2.c

  Log Message:
  -----------
  [X86] Finally handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (#84136)

This patch relands #67410 and fixes the cmpfail below:
#include <immintrin.h>
__attribute__((target("avx"))) void test(__m128 a, __m128 b) {
  _mm_cmp_ps(a, b, 14);
}

According to Intel SDM, SSE/SSE2 instructions cmp[p|s][s|d] are
supported when imm8 is in range of [0, 7]


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

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

  Log Message:
  -----------
  [tsan] Fix running check-ubsan with COMPILER_RT_DEBUG=ON

TestCases/Misc/Linux/sigaction.cpp fails because dlsym() may call malloc
on failure. And then the wrapped malloc appears to access thread local
storage using global dynamic accesses, thus calling
___interceptor___tls_get_addr, before REAL(__tls_get_addr) has
been set, so we get a crash inside ___interceptor___tls_get_addr. For
example, this can happen when looking up __isoc23_scanf which might not
exist in some libcs.

Fix this by marking the thread local variable accessed inside the
debug checks as "initial-exec", which does not require __tls_get_addr.

This is probably a better alternative to https://github.com/llvm/llvm-project/pull/83886.

This fixes a different crash but is related to https://github.com/llvm/llvm-project/issues/46204.

Backtrace:
```
#0 0x0000000000000000 in ?? ()
#1 0x00007ffff6a9d89e in ___interceptor___tls_get_addr (arg=0x7ffff6b27be8) at /path/to/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:2759
#2 0x00007ffff6a46bc6 in __sanitizer::CheckedMutex::LockImpl (this=0x7ffff6b27be8, pc=140737331846066) at /path/to/llvm/compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp:218
#3 0x00007ffff6a448b2 in __sanitizer::CheckedMutex::Lock (this=0x7ffff6b27be8, this at entry=0x730000000580) at /path/to/llvm/compiler-rt/lib/tsan/rtl/../../sanitizer_common/sanitizer_mutex.h:129
#4 __sanitizer::Mutex::Lock (this=0x7ffff6b27be8, this at entry=0x730000000580) at /path/to/llvm/compiler-rt/lib/tsan/rtl/../../sanitizer_common/sanitizer_mutex.h:167
#5 0x00007ffff6abdbb2 in __sanitizer::GenericScopedLock<__sanitizer::Mutex>::GenericScopedLock (mu=0x730000000580, this=<optimized out>) at /path/to/llvm/compiler-rt/lib/tsan/rtl/../../sanitizer_common/sanitizer_mutex.h:383
#6 __sanitizer::SizeClassAllocator64<__tsan::AP64>::GetFromAllocator (this=0x7ffff7487dc0 <__tsan::allocator_placeholder>, stat=stat at entry=0x7ffff570db68, class_id=11, chunks=chunks at entry=0x7ffff5702cc8, n_chunks=n_chunks at entry=128) at /path/to/llvm/compiler-rt/lib/tsan/rtl/../../sanitizer_common/sanitizer_allocator_primary64.h:207
#7 0x00007ffff6abdaa0 in __sanitizer::SizeClassAllocator64LocalCache<__sanitizer::SizeClassAllocator64<__tsan::AP64> >::Refill (this=<optimized out>, c=c at entry=0x7ffff5702cb8, allocator=<optimized out>, class_id=<optimized out>)
 at /path/to/llvm/compiler-rt/lib/tsan/rtl/../../sanitizer_common/sanitizer_allocator_local_cache.h:103
#8 0x00007ffff6abd731 in __sanitizer::SizeClassAllocator64LocalCache<__sanitizer::SizeClassAllocator64<__tsan::AP64> >::Allocate (this=0x7ffff6b27be8, allocator=0x7ffff5702cc8, class_id=140737311157448)
 at /path/to/llvm/compiler-rt/lib/tsan/rtl/../../sanitizer_common/sanitizer_allocator_local_cache.h:39
#9 0x00007ffff6abc397 in __sanitizer::CombinedAllocator<__sanitizer::SizeClassAllocator64<__tsan::AP64>, __sanitizer::LargeMmapAllocatorPtrArrayDynamic>::Allocate (this=0x7ffff5702cc8, cache=0x7ffff6b27be8, size=<optimized out>, size at entry=175, alignment=alignment at entry=16)
 at /path/to/llvm/compiler-rt/lib/tsan/rtl/../../sanitizer_common/sanitizer_allocator_combined.h:69
#10 0x00007ffff6abaa6a in __tsan::user_alloc_internal (thr=0x7ffff7ebd980, pc=140737331499943, sz=sz at entry=175, align=align at entry=16, signal=true) at /path/to/llvm/compiler-rt/lib/tsan/rtl/tsan_mman.cpp:198
#11 0x00007ffff6abb0d1 in __tsan::user_alloc (thr=0x7ffff6b27be8, pc=140737331846066, sz=11, sz at entry=175) at /path/to/llvm/compiler-rt/lib/tsan/rtl/tsan_mman.cpp:223
#12 0x00007ffff6a693b5 in ___interceptor_malloc (size=175) at /path/to/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:666
#13 0x00007ffff7fce7f2 in malloc (size=175) at ../include/rtld-malloc.h:56
#14 __GI__dl_exception_create_format (exception=exception at entry=0x7fffffffd0d0, objname=0x7ffff7fc3550 "/path/to/llvm/compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.tsan-x86_64.so",
 fmt=fmt at entry=0x7ffff7ff2db9 "undefined symbol: %s%s%s") at ./elf/dl-exception.c:157
#15 0x00007ffff7fd50e8 in _dl_lookup_symbol_x (undef_name=0x7ffff6af868b "__isoc23_scanf", undef_map=<optimized out>, ref=0x7fffffffd148, symbol_scope=<optimized out>, version=<optimized out>, type_class=0, flags=2, skip_map=0x7ffff7fc35e0) at ./elf/dl-lookup.c:793
--Type <RET> for more, q to quit, c to continue without paging--
#16 0x00007ffff656d6ed in do_sym (handle=<optimized out>, name=0x7ffff6af868b "__isoc23_scanf", who=0x7ffff6a3bb84 <__interception::InterceptFunction(char const*, unsigned long*, unsigned long, unsigned long)+36>, vers=vers at entry=0x0, flags=flags at entry=2) at ./elf/dl-sym.c:146
#17 0x00007ffff656d9dd in _dl_sym (handle=<optimized out>, name=<optimized out>, who=<optimized out>) at ./elf/dl-sym.c:195
#18 0x00007ffff64a2854 in dlsym_doit (a=a at entry=0x7fffffffd3b0) at ./dlfcn/dlsym.c:40
#19 0x00007ffff7fcc489 in __GI__dl_catch_exception (exception=exception at entry=0x7fffffffd310, operate=0x7ffff64a2840 <dlsym_doit>, args=0x7fffffffd3b0) at ./elf/dl-catch.c:237
#20 0x00007ffff7fcc5af in _dl_catch_error (objname=0x7fffffffd368, errstring=0x7fffffffd370, mallocedp=0x7fffffffd367, operate=<optimized out>, args=<optimized out>) at ./elf/dl-catch.c:256
#21 0x00007ffff64a2257 in _dlerror_run (operate=operate at entry=0x7ffff64a2840 <dlsym_doit>, args=args at entry=0x7fffffffd3b0) at ./dlfcn/dlerror.c:138
#22 0x00007ffff64a28e5 in dlsym_implementation (dl_caller=<optimized out>, name=<optimized out>, handle=<optimized out>) at ./dlfcn/dlsym.c:54
#23 ___dlsym (handle=<optimized out>, name=<optimized out>) at ./dlfcn/dlsym.c:68
#24 0x00007ffff6a3bb84 in __interception::GetFuncAddr (name=0x7ffff6af868b "__isoc23_scanf", trampoline=140737311157448) at /path/to/llvm/compiler-rt/lib/interception/interception_linux.cpp:42
#25 __interception::InterceptFunction (name=0x7ffff6af868b "__isoc23_scanf", ptr_to_real=0x7ffff74850e8 <__interception::real___isoc23_scanf>, func=11, trampoline=140737311157448)
 at /path/to/llvm/compiler-rt/lib/interception/interception_linux.cpp:61
#26 0x00007ffff6a9f2d9 in InitializeCommonInterceptors () at /path/to/llvm/compiler-rt/lib/tsan/rtl/../../sanitizer_common/sanitizer_common_interceptors.inc:10315
```

Reviewed By: vitalybuka, MaskRay

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


  Commit: 578e66ac45dfcc5c739f3525bfb82d71282d925c
      https://github.com/llvm/llvm-project/commit/578e66ac45dfcc5c739f3525bfb82d71282d925c
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

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

  Log Message:
  -----------
  [tsan] Intercept __tls_get_addr_earlier

This can be useful because dlsym() may call malloc on failure which could
result in other interposed functions being called that could eventually
make use of TLS. While the crash that I experienced originally has been
fixed differently (by not using global-dynamic TLS accesses in the mutex
deadlock detector, see https://github.com/llvm/llvm-project/pull/83890),
moving this interception earlier is still a good since it makes the code
a bit more robust against initialization order problems.

Reviewed By: MaskRay, vitalybuka

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


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

  Changed paths:
    M llvm/lib/Support/Unix/Process.inc

  Log Message:
  -----------
  [Support] Fix Process::PreventCoreFiles() when coredumps are piped

On many current Linux systems, coredumps are no longer dumped in the CWD
but instead piped to a utility such as systemd-coredumpd that stores
them in a deterministic location. This can be done by setting the
kernel.core_pattern sysctl to start with a '|'. However, when using such
a setup the kernel ignores a coredump limit of 0 (since there is no file
being written) and we can end up piping many gigabytes of data to
systemd-coredumpd which causes the test suite to freeze for a long time.
While most piped coredump handlers do respect the crashing processes'
RLIMIT_CORE, this is notable not the case for Debian's systemd-coredump
due to a local patch that changes sysctl.d/50-coredump.conf to ignore
the specified limit and instead use RLIM_INFINITY
(https://salsa.debian.org/systemd-team/systemd/-/commit/64599ffe44f0d).

Fortunately there is a workaround: the kernel recognizes the magic value
of 1 for RLIMIT_CORE to disable coredumps when piping. One byte is also
too small to generate any coredump, so it effectively behaves as if we
had set the value to zero.

The alternative to using RLIMIT_CORE=1 would be to use prctl() with the
PR_SET_DUMPABLE flag, however that also prevents ptrace(), so makes it
impossible to attach a debugger.

See https://github.com/llvm/llvm-project/pull/83701 and
https://github.com/llvm/llvm-project/issues/45797

Reviewed By: MaskRay

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


  Commit: ba13fa2a5d57581bff1a7e9322234af30f4882f6
      https://github.com/llvm/llvm-project/commit/ba13fa2a5d57581bff1a7e9322234af30f4882f6
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/JSONTransport.cpp
    M clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
    M llvm/include/llvm/Support/Error.h
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Support/AutoConvert.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/Path.cpp
    M llvm/lib/Support/RandomNumberGenerator.cpp
    M llvm/lib/Support/Unix/Memory.inc
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Unix/Process.inc
    M llvm/lib/Support/Windows/Process.inc
    M llvm/lib/Support/Windows/Program.inc
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/lib/Support/raw_socket_stream.cpp

  Log Message:
  -----------
  [llvm][Support] Add and use errnoAsErrorCode (#84423)

LLVM is inconsistent about how it converts `errno` to `std::error_code`.
This can cause problems because values outside of `std::errc` compare
differently if one is system and one is generic on POSIX systems.

This is even more of a problem on Windows where use of the system
category is just wrong, as that is for Windows errors, which have a
completely different mapping than POSIX/generic errors. This patch fixes
one instance of this mistake in `JSONTransport.cpp`.

This patch adds `errnoAsErrorCode()` which makes it so people do not
need to think about this issue in the future. It also cleans up a lot of
usage of `errno` in LLVM and Clang.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/DeclCXX.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp

  Log Message:
  -----------
  Revert "[clang] Fix crash when declaring invalid lambda member" (#84615)

Reverts llvm/llvm-project#74110

Fails on many bots:
https://lab.llvm.org/buildbot/#/builders/5/builds/41633


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

  Changed paths:
    M libc/src/__support/UInt.h
    M libc/src/__support/macros/properties/types.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/test/src/string/memory_utils/op_tests.cpp

  Log Message:
  -----------
  [libc] Provide `LIBC_TYPES_HAS_INT64` (#83441)

Umbrella bug #83182


  Commit: fd3eaf76ba3392a4406247d996e757ef49f7a8b2
      https://github.com/llvm/llvm-project/commit/fd3eaf76ba3392a4406247d996e757ef49f7a8b2
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptradd-int2ptr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ptr-add.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ptr-add.mir
    M llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-load-store.mir
    A llvm/test/CodeGen/X86/GlobalISel/legalize-ptr-add-32.mir
    A llvm/test/CodeGen/X86/GlobalISel/legalize-ptr-add-64.mir
    R llvm/test/CodeGen/X86/GlobalISel/legalize-ptr-add.mir
    M llvm/test/CodeGen/X86/GlobalISel/regbankselect-X86_64.mir
    M llvm/test/MachineVerifier/test_g_ptr_add.mir

  Log Message:
  -----------
  [GISel] Enforce G_PTR_ADD RHS type matching index size for addr space (#84352)


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

  Changed paths:
    M libcxx/include/__utility/pair.h

  Log Message:
  -----------
  [libc++] Simplify the std::pair constructor overload set (#81448)

This depends on enabling extensions in the implementation.


  Commit: 1c7607e8ee6ec4ca3abce1561dd39a98d4efac96
      https://github.com/llvm/llvm-project/commit/1c7607e8ee6ec4ca3abce1561dd39a98d4efac96
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M libcxx/test/std/containers/sequences/array/array.cons/initialization.pass.cpp

  Log Message:
  -----------
  [libc++][test] Fix MSVC warning C4127 in `array.cons/initialization.pass.cpp` (#79793)

This fixes MSVC warning C4127: conditional expression is constant.

Testing `TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED` by itself doesn't
emit this warning, but the condition here is more complicated. I'm
expanding the macro and mechanically simplifying the resulting code.

(Yeah, this warning is often annoying, and I introduced
`TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED` to avoid this warning
elsewhere, so it's disappointing that it doesn't make the compiler happy
here. If this change is undesirable, I can replace it with
`ADDITIONAL_COMPILE_FLAGS(cl-style-warnings)`, but ideally I'd like to
avoid having to suppress it.)

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: a116f0ebaf0304e73b26098a7141c4ab836b7dc9
      https://github.com/llvm/llvm-project/commit/a116f0ebaf0304e73b26098a7141c4ab836b7dc9
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-09 (Sat, 09 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:
  -----------
  [bazel] Port test parts of cb6ff746e0c7b9218b6f5c11db44162cacd623a4


  Commit: 9df719407f808d71d3bf02867da2b01617ef3d55
      https://github.com/llvm/llvm-project/commit/9df719407f808d71d3bf02867da2b01617ef3d55
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmNeon/Transforms.h

  Log Message:
  -----------
  [ArmNeon] Make header self-contained. NFC.


  Commit: 2b5f68a5f63d2342a056bf9f86bd116c100fd81a
      https://github.com/llvm/llvm-project/commit/2b5f68a5f63d2342a056bf9f86bd116c100fd81a
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-09 (Sat, 09 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/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    A clang/test/CodeGenCXX/cxx23-assume.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Parser/cxx23-assume.cpp
    A clang/test/SemaCXX/cxx23-assume-disabled.cpp
    A clang/test/SemaCXX/cxx23-assume-print.cpp
    A clang/test/SemaCXX/cxx23-assume.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang][C++23] Implement P1774R8: Portable assumptions (#81014)

This implements the C++23 `[[assume]]` attribute.

Assumption information is lowered to a call to `@llvm.assume`, unless the expression has side-effects, in which case it is discarded and a warning is issued to tell the user that the assumption doesn’t do anything. A failed assumption at compile time is an error (unless we are in `MSVCCompat` mode, in which case we don’t check assumptions at compile time).

Due to performance regressions in LLVM, assumptions can be disabled with the `-fno-assumptions` flag. With it, assumptions will still be parsed and checked, but no calls to `@llvm.assume` will be emitted and assumptions will not be checked at compile time.


  Commit: ceaf4a0aab86f10199e16a825c1bdabe59d07eb3
      https://github.com/llvm/llvm-project/commit/ceaf4a0aab86f10199e16a825c1bdabe59d07eb3
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Fix status of P1774 Portable assumptions


  Commit: 914f75487673033a6d8d5b9eb15c339a2a4df842
      https://github.com/llvm/llvm-project/commit/914f75487673033a6d8d5b9eb15c339a2a4df842
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

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

  Log Message:
  -----------
  [libc++][format] Update LWG3701 status. (#80545)

The issue has been resolved in https://reviews.llvm.org/D121138 since it
was needed to implement format. This updates the status of the LWG-issue
filed for this review.

Marks as complete:
- LWG3701 Make formatter<remove_cvref_t<const charT[N]>, charT>
requirement explicit


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

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

  Log Message:
  -----------
  [libc++][format] Updates LWG3462 status. (#80550)

The specifications of format had a contradiction, libc++ always
implemented the code as-if LWG3462 has been done; the contradiction was
a bit hard to spot.

Marks as nothing to do:
- LWG3462 §[formatter.requirements]: Formatter requirements forbid use
of fc.arg()


  Commit: 5630dc66369ccec925f27151b495c9f9818638f1
      https://github.com/llvm/llvm-project/commit/5630dc66369ccec925f27151b495c9f9818638f1
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M clang/test/SemaCXX/cxx23-assume.cpp

  Log Message:
  -----------
  [Clang] Only check for error in C++20 mode (#84624)

Fix a test that was added in #81014 and which caused buildbots to fail.
Only check for the ‘never produces a constant expression error’ in C++20
mode.

This fixes #84623.


  Commit: 11cd2a33f1a80c1b8ad1968c1316204b172e4937
      https://github.com/llvm/llvm-project/commit/11cd2a33f1a80c1b8ad1968c1316204b172e4937
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-09 (Sat, 09 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/kmp_runtime.cpp
    M openmp/runtime/src/z_Linux_util.cpp

  Log Message:
  -----------
  [openmp] porting affinity feature to netbsd. (#84618)

netbsd supports the portable hwloc's layer as well. for a hardware with
4 cpus, a cpu set is 4 and maxcpus is 256.


  Commit: 40282674e9808baeb9b88afdd3cbd7da46825544
      https://github.com/llvm/llvm-project/commit/40282674e9808baeb9b88afdd3cbd7da46825544
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A llvm/test/Assembler/range-attribute-invalid-range.ll
    A llvm/test/Assembler/range-attribute-invalid-type.ll
    M llvm/test/Bitcode/attributes.ll
    A llvm/test/Verifier/range-attr.ll
    M llvm/utils/TableGen/Attributes.cpp

  Log Message:
  -----------
  Reapply [IR] Add new Range attribute using new ConstantRange Attribute type (#84617)

The only change from https://github.com/llvm/llvm-project/pull/83171 is the
change of the allocator so the destructor is called for
ConstantRangeAttributeImpl.

reverts https://github.com/llvm/llvm-project/pull/84549


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

  Changed paths:
    M libcxx/include/__fwd/array.h
    M libcxx/include/span
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/ranges/range.utility/range.subrange/operator.pair_like.pass.cpp

  Log Message:
  -----------
  [libc++] Remove <array> include from <span> (#83742)

This reduces the include time of `<span>` from 122ms to 78ms.


  Commit: 5b5c21d772d20320fd876edddfc204cca93fae0f
      https://github.com/llvm/llvm-project/commit/5b5c21d772d20320fd876edddfc204cca93fae0f
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll

  Log Message:
  -----------
  Revert "[SLP]Improve minbitwidth analysis."

This reverts commit 2bd369b48dbf0bc3128becb7ef8f8a1b82514b87.

That commit triggered failed assertions:
$ cat repro.c
short *a;
int b;
void h() {
  short *c = a;
  b = 0;
  for (; b < 4; b++) {
    unsigned d = a[b] + a[b + 4 * 2], e = a[b] - a[b + 4 * 2],
             f = (a[b + 4] >> 1) - a[b + 4 * 3],
             g = a[b + 4] + (a[b + 4 * 3] >> 1);
    c[b] = g;
    c[b + 4] = e + f;
    c[b + 4 * 2] = e - f;
    c[b + 4 * 3] = d - g;
  }
}
$ clang -target aarch64-linux-gnu -c -O2 repro.c
clang: ../lib/Transforms/Vectorize/SLPVectorizer.cpp:12503: llvm::Value* llvm::slpvectorizer::BoUpSLP::vectorizeTree(llvm::slpvectorizer::BoUpSLP::TreeEntry*, bool): Assertion `(MinBWs.contains(getOperandEntry(E, 0)) || MinBWs.contains(getOperandEntry(E, 1))) && "Expected item in MinBWs."' failed.


  Commit: 83fe0b13824bc419092bad47727aa1c8ca69330a
      https://github.com/llvm/llvm-project/commit/83fe0b13824bc419092bad47727aa1c8ca69330a
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

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

  Log Message:
  -----------
  [clang] Fix -Wunused-lambda-capture in TokenAnnotator.cpp (NFC)

llvm-project/clang/lib/Format/TokenAnnotator.cpp:2707:43:
error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
    auto IsQualifiedPointerOrReference = [this](FormatToken *T) {
                                          ^~~~
1 error generated.


  Commit: 124d0b787b5d1ff4aa06bbd61a98d3fc344d0cc6
      https://github.com/llvm/llvm-project/commit/124d0b787b5d1ff4aa06bbd61a98d3fc344d0cc6
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/test/Driver/clang-offload-bundler-zlib.c
    M clang/test/Driver/clang-offload-bundler-zstd.c
    M clang/test/Driver/hip-offload-compress-zlib.hip
    M clang/test/Driver/hip-offload-compress-zstd.hip
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M llvm/include/llvm/Support/Compression.h
    M llvm/lib/Support/Compression.cpp

  Log Message:
  -----------
  [HIP] add --offload-compression-level= option (#83605)

Added --offload-compression-level= option to clang and
-compression-level=
option to clang-offload-bundler for controlling compression level.

Added support of long distance matching (LDM) for llvm::zstd which is
off
by default. Enable it for clang-offload-bundler by default since it
improves compression rate in general.

Change default compression level to 3 for zstd for clang-offload-bundler
since it works well for bundle entry size from 1KB to 32MB, which should
cover most of the clang-offload-bundler usage. Users can still specify
compression level by -compression-level= option if necessary.


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

  Changed paths:
    M clang/test/Driver/clang-offload-bundler-zstd.c

  Log Message:
  -----------
  Fix test clang-offload-bundler-zstd.c


  Commit: 4fdf10faf2b45f4bbbd2ddfb07272d19a47cc531
      https://github.com/llvm/llvm-project/commit/4fdf10faf2b45f4bbbd2ddfb07272d19a47cc531
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-avoid-assignment.cpp

  Log Message:
  -----------
  [clang-tidy]avoid bugprone-unused-return-value false positive for assignment operator overloading (#84489)


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

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/test/CodeGen/X86/apx/kmov-domain-assignment.ll
    M llvm/test/CodeGen/X86/domain-reassignment.mir
    M llvm/test/CodeGen/X86/sqrt-fastmath-mir.ll
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86] Add missing immediate qualifier to the (V)CMPSS/D instructions (#84496)

Matches (V)CMPPS/D and makes it easier to algorithmically recreate the instruction name in various analysis scripts I'm working on


  Commit: 99f5e9634b6921ebb6dad9bef1c76ade83adc847
      https://github.com/llvm/llvm-project/commit/99f5e9634b6921ebb6dad9bef1c76ade83adc847
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/modff128.cpp
    A libc/src/math/modff128.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/ModfTest.h
    A libc/test/src/math/smoke/modff128_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add modff128 C23 math function. (#84532)


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

  Changed paths:
    M libcxx/test/tools/CMakeLists.txt
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
    M libcxx/utils/libcxx/test/features.py
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [RFC][libc++] Reworks clang-tidy selection. (#81362)

The current selection is done in the test scripts which gives the user
no control where to find clang-tidy. The version selection itself is
hard-coded and not based on the version of clang used.

This moves the selection to configuration time and tries to find a
better match.
- Mixing the version of clang-tidy and the clang libraries causes ODR
violations. This results in practice in crashes or incorrect results.
- Mixing the version of clang-tidy and the clang binary sometimes causes
issues with supported diagnostic flags. For example, flags tested
against clang 17 may not be available in clang-tidy 16.

Currently clang-tidy 18.1 can be used, it tests against the clang
libraries version 18. This is caused by the new LLVM version numbering
scheme.

The new selection tries to match the clang version or the version of the
HEAD and the last 3 releases. (During the release period libc++ supports
4 versions instead of the typical 3 versions.)


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/binop-itofp.ll

  Log Message:
  -----------
  [InstCombine] Add more tests for transforming `(binop (uitofp), -C)`; NFC


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/add-sitofp.ll
    M llvm/test/Transforms/InstCombine/binop-itofp.ll

  Log Message:
  -----------
  [InstCombine] Make `(binop ({s|u}itofp),({s|u}itofp))` transform more flexible to mismatched signs

Instead of taking the sign of the cast operation as the required since
for the transform, only force a sign if an operation is maybe
negative.

This gives us more flexability when checking if the floats are safely
converable to integers.

Closes #84389


  Commit: 57a2229a2f62746d5616f0bd82a03b23eb459cf3
      https://github.com/llvm/llvm-project/commit/57a2229a2f62746d5616f0bd82a03b23eb459cf3
  Author: rohit-rao <rohitrao at google.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

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

  Log Message:
  -----------
  [compiler-rt] Adds builtins support for xros. (#83484)

Adds support for xros when compiling builtins. This is disabled by
default and controlled with COMPILER_RT_ENABLE_XROS, similar to
watchOS/tvOS.


  Commit: f5811494b0cde306e98caa339e4dc1c06cb5e8e9
      https://github.com/llvm/llvm-project/commit/f5811494b0cde306e98caa339e4dc1c06cb5e8e9
  Author: Zain Jaffal <zain at jjaffal.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/fdiv-sqrt.ll

  Log Message:
  -----------
  check if operand is div in fold FDivSqrtDivisor (#81970)

This patch fixes the issues introduced in
https://github.com/llvm/llvm-project/commit/bb5c3899d1936ebdf7ebf5ca4347ee2e057bee7f.

I moved the check for the instruction to be div before I check for the
fast math flags which resolves the crash in

```
float a, b;
double sqrt();
void c() { b = a / sqrt(a); }
```

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: b4001e32b1aa4df07dc6babefba19f2b77f487c6
      https://github.com/llvm/llvm-project/commit/b4001e32b1aa4df07dc6babefba19f2b77f487c6
  Author: Amirreza Ashouri <ar.ashouri999 at gmail.com>
  Date:   2024-03-10 (Sun, 10 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [NFC] Eliminate trailing white space causing CI build failure (#84632)

To resolve the following issue in the CI build:
```
*** Checking for trailing whitespace left in Clang source files ***
+ grep -rnI '[[:blank:]]$' clang/lib clang/include clang/docs
clang/docs/ReleaseNotes.rst:412:- PTX is no longer included by default when compiling for CUDA. Using
+ echo '*** Trailing whitespace has been found in Clang source files as described above ***'
*** Trailing whitespace has been found in Clang source files as described above ***
+ exit 1
```


  Commit: 110141b37813dc48af33de5e1407231e56acdfc5
      https://github.com/llvm/llvm-project/commit/110141b37813dc48af33de5e1407231e56acdfc5
  Author: Vadim Paretsky <vadim.paretsky at intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_lock.h
    M openmp/runtime/test/tasking/bug_nested_proxy_task.c
    M openmp/runtime/test/tasking/bug_proxy_task_dep_waiting.c
    M openmp/runtime/test/tasking/hidden_helper_task/common.h

  Log Message:
  -----------
  [OpenMP] fix endianness dependent definitions in OMP headers for MSVC (#84540)

MSVC does not define __BYTE_ORDER__ making the check for BigEndian
erroneously evaluate to true and breaking the struct definitions in MSVC
compiled builds correspondingly. The fix adds an additional check for
whether __BYTE_ORDER__ is defined by the compiler to fix these.

---------

Co-authored-by: Vadim Paretsky <b-vadipa at microsoft.com>


  Commit: 0d6f9bf274c1bc69e71ff7dd740f2cee1a4ca769
      https://github.com/llvm/llvm-project/commit/0d6f9bf274c1bc69e71ff7dd740f2cee1a4ca769
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

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

  Log Message:
  -----------
  [asan] [test] Mark a new test UNSUPPORTED for MinGW targets

This test uses the MSVC/clang-cl specific -EHsc flag.

This test was recently added, in
ea12c1fa15093e24818785b2ca6e06588372a3bf.


  Commit: 6f7ebcb71f4e89309c613da9600991850f15f74f
      https://github.com/llvm/llvm-project/commit/6f7ebcb71f4e89309c613da9600991850f15f74f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M compiler-rt/lib/lsan/lsan_common.cpp

  Log Message:
  -----------
  [NFC][compiler-rt] Try to collect more info about crashes on bot


  Commit: 0be1c3b92b64373df4057f52f9676c36567253ef
      https://github.com/llvm/llvm-project/commit/0be1c3b92b64373df4057f52f9676c36567253ef
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml

  Log Message:
  -----------
  [workflows] Mention the correct user who makes a /cherry-pick comment (#82680)

We were mentioning the creator of the issue with the comment rather than
the creator of the comment.

Fixes #82580


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

  Changed paths:
    M compiler-rt/lib/lsan/lsan_common.cpp

  Log Message:
  -----------
  Revert "[NFC][compiler-rt] Try to collect more info about crashes on bot"

Catches nothing, reported #84654.

This reverts commit 6f7ebcb71f4e89309c613da9600991850f15f74f.


  Commit: 15e9478187d594016c2c355d8688be2e0a9b554e
      https://github.com/llvm/llvm-project/commit/15e9478187d594016c2c355d8688be2e0a9b554e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt

  Log Message:
  -----------
  [sanitizer] Disable COMPILER_RT_HAS_TRIVIAL_AUTO_INIT on PowerPC to fix the bot

See issue #84654.


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

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/test/Dialect/Transform/test-pattern-application.mlir

  Log Message:
  -----------
  [mlir][Transform] `apply_conversion_patterns`: Update handles (#83950)

Until now, `transform.apply_conversion_patterns` consumed the target
handle and potentially invalidated handles. This commit adds tracking
functionality similar to `transform.apply_patterns`, such that handles
are no longer invalidated, but updated based on op replacements
performed by the dialect conversion.

This new functionality is hidden behind a `preserve_handles` attribute
for now.


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

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

  Log Message:
  -----------
  [mlir][IR] Add listener notifications for pattern begin/end (#84131)

This commit adds two new notifications to `RewriterBase::Listener`:
* `notifyPatternBegin`: Called when a pattern application begins during
a greedy pattern rewrite or dialect conversion.
* `notifyPatternEnd`: Called when a pattern application finishes during
a greedy pattern rewrite or dialect conversion.

The listener infrastructure already provides a `notifyMatchFailure`
callback that notifies about the reason for a pattern match failure. The
two new notifications provide additional information about pattern
applications.

This change is in preparation of improving the handle update mechanism
in the `apply_conversion_patterns` transform op.


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

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_popcountg (#84500)

The previous code would truncate IntegerAPs wider than 64 bits.


  Commit: d2353ae00c3b0b0e9a9b93578e9bb067f699f193
      https://github.com/llvm/llvm-project/commit/d2353ae00c3b0b0e9a9b93578e9bb067f699f193
  Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

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

  Log Message:
  -----------
  [utils/TableGen/X86CompressEVEXTablesEmitter.cpp] Make sure the tablegen output for the `checkPredicate` function is deterministic (#84533)

The output for the `checkPredicate` function was depending on a
`std::map` iteration that was non-deterministic from run to run, because
the keys were pointer values.
    
Make a change so that the keys are `StringRef`s so the ordering is
stable.


  Commit: 35b784379e707423f3b4f5a2cfedabcfa6f5b47d
      https://github.com/llvm/llvm-project/commit/35b784379e707423f3b4f5a2cfedabcfa6f5b47d
  Author: Michael Flanders <mkf727 at cs.washington.edu>
  Date:   2024-03-10 (Sun, 10 Mar 2024)

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

  Log Message:
  -----------
  [libc][stdbit][c23] fixes typos in bit_width, bit_floor C type-generic macros (#84659)

Fixes #84658.

Assuming these were typos in the first place.

I am unsure of the best way to ensure that both sides of the
preprocessor condition in
`libc/include/llvm-libc-macros/stdbit-macros.h` are tested. Could
someone point me in the right direction for adding test coverage to the
non `__cplusplus` branch? Or maybe it is being tested and I've missed
it.


  Commit: fa4cc39255767bbaf63a6a3b445dc94b43ebd447
      https://github.com/llvm/llvm-project/commit/fa4cc39255767bbaf63a6a3b445dc94b43ebd447
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-10 (Sun, 10 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/kmp_runtime.cpp
    M openmp/runtime/src/z_Linux_util.cpp

  Log Message:
  -----------
  [openmp] adding affinity support to DragonFlyBSD. (#84672)


  Commit: 54bb4be0185b402565cc76a0c835c56f6441e188
      https://github.com/llvm/llvm-project/commit/54bb4be0185b402565cc76a0c835c56f6441e188
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-03-10 (Sun, 10 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstCombine/icmp-range.ll

  Log Message:
  -----------
  [InstSimplify] Handle vec values when simplifying comparisons using range metadata (#84673)

Found that this failed with an assertion when vec was used in this
optimization while working on https://github.com/llvm/llvm-project/pull/84627.


  Commit: 3ec1f25f3cf9346590892397ec9ddd859397d363
      https://github.com/llvm/llvm-project/commit/3ec1f25f3cf9346590892397ec9ddd859397d363
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-10 (Sun, 10 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h

  Log Message:
  -----------
  [MLIR/OpenACC] Remove unneeded LLVMIR include (#84543)

MLIROpenACCTransforms does not use the LLVMIR dialect yet includes
LLVMIR headers. This causes building MLIROpenACCTransforms only from a
clean build to fail with:
In file included from
mlir/lib/Dialect/OpenACC/Transforms/LegalizeData.cpp:9:
In file included from
mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h:12:
mlir/include/mlir/Dialect/LLVMIR/Transforms/AddComdats.h:21:10: fatal
error: 'mlir/Dialect/LLVMIR/Transforms/Passes.h.inc' file not found

This patch removes the problematic includes.


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

  Changed paths:
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/utils/gpu/loader/Loader.h

  Log Message:
  -----------
  [libc][NFC] Clean up stray ';' and default enum warning

Summary:
Cleans up two warnings I get locally while building.


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

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

  Log Message:
  -----------
  [X86] combineAndShuffleNot - ensure the type is legal before create X86ISD::ANDNP target nodes

Fixes #84660


  Commit: 75b0d384fbac42be7ce2da91cf62ed1027b8424b
      https://github.com/llvm/llvm-project/commit/75b0d384fbac42be7ce2da91cf62ed1027b8424b
  Author: Michael Flanders <mkf727 at cs.washington.edu>
  Date:   2024-03-10 (Sun, 10 Mar 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/bit.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_bit_ceil_uc.cpp
    A libc/src/stdbit/stdc_bit_ceil_uc.h
    A libc/src/stdbit/stdc_bit_ceil_ui.cpp
    A libc/src/stdbit/stdc_bit_ceil_ui.h
    A libc/src/stdbit/stdc_bit_ceil_ul.cpp
    A libc/src/stdbit/stdc_bit_ceil_ul.h
    A libc/src/stdbit/stdc_bit_ceil_ull.cpp
    A libc/src/stdbit/stdc_bit_ceil_ull.h
    A libc/src/stdbit/stdc_bit_ceil_us.cpp
    A libc/src/stdbit/stdc_bit_ceil_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
    A libc/test/src/stdbit/stdc_bit_ceil_ui_test.cpp
    A libc/test/src/stdbit/stdc_bit_ceil_ul_test.cpp
    A libc/test/src/stdbit/stdc_bit_ceil_ull_test.cpp
    A libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit][c23] adds implementation of `stdc_bit_ceil` functions (#84657)

Closes #84652.

Based on #84233.


  Commit: a066f71e70b9cbfdc2f2eb41e7c4d8372d216a6e
      https://github.com/llvm/llvm-project/commit/a066f71e70b9cbfdc2f2eb41e7c4d8372d216a6e
  Author: Michael Flanders <mkf727 at cs.washington.edu>
  Date:   2024-03-10 (Sun, 10 Mar 2024)

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

  Log Message:
  -----------
  [libc][stdbit] Fix truncation err in CPP bit_ceil (#84683)

After #84657 was merged,
[buildbot](https://lab.llvm.org/buildbot/#/builders/250/builds/19808) is
reporting two errors for libc-x86_64-debian-gcc-fullbuild-dbg. This PR
addresses the truncation error for `CPP::bit_ceil<unsigned char>` and
`CPP::bit_ceil<unsigned short>`.

The errors are:

```
FAILED: projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_uc.dir/stdc_bit_ceil_uc.cpp.o
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/src/stdbit -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-vir!
 tual-dtor
  -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -ffreestanding -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_uc.dir/stdc_bit_ceil_uc.cpp.o -MF projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_uc.dir/stdc_bit_ceil_uc.cpp.o.d -o projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_uc.dir/stdc_bit_ceil_uc.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_uc.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_uc.cpp:11:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/CPP/bit.h: In instantiation of ‘constexpr __llvm_libc_19_0_0_git::cpp::enable_if_t<is_unsigned_v<T>, T> __llvm_libc_19_0_0_git::cpp::bit_ceil(T) [with T = unsigned char; enable_if_t<is_unsigned_v<T>, T> = unsigned char]’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_uc.cpp:17:23:   required from here
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/CPP/bit.h:196:57: error: conversion from ‘unsigned int’ to ‘unsigned char’ may change value [-Werror=conversion]
  196 |   return static_cast<T>(T(1) << cpp::bit_width<T>(value - 1u));
      |                                                   ~~~~~~^~~~
cc1plus: all warnings being treated as errors
[138/466] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o
FAILED: projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/src/stdbit -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-vir!
 tual-dtor
  -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -ffreestanding -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o -MF projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o.d -o projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_us.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_us.cpp:11:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/CPP/bit.h: In instantiation of ‘constexpr __llvm_libc_19_0_0_git::cpp::enable_if_t<is_unsigned_v<T>, T> __llvm_libc_19_0_0_git::cpp::bit_ceil(T) [with T = short unsigned int; enable_if_t<is_unsigned_v<T>, T> = short unsigned int]’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_us.cpp:17:23:   required from here
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/CPP/bit.h:196:57: error: conversion from ‘unsigned int’ to ‘short unsigned int’ may change value [-Werror=conversion]
  196 |   return static_cast<T>(T(1) << cpp::bit_width<T>(value - 1u));
      |                                                   ~~~~~~^~~~
cc1plus: all warnings being treated as errors
```


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

  Changed paths:
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/server/CMakeLists.txt
    M libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [libc] Move RPC opcodes include out of the header

Summary:
This header isn't strictly necessary, and is currently broken because we
install these to separate locations.


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

  Changed paths:
    A llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll

  Log Message:
  -----------
  [InstCombine] Add tests for expanding `foldICmpWithLowBitMaskedVal`; NFC

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


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

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

  Log Message:
  -----------
  [InstCombine] Move `foldICmpWithLowBitMaskedVal` to `foldICmpCommutative`; NFC


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

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  [InstCombine] Improve mask detection in `foldICmpWithLowBitMaskedVal`

Make recursive matcher that is able to detect a lot more patterns.
Proofs for all supported patterns: https://alive2.llvm.org/ce/z/fSQ3nZ

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


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
    M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
    M llvm/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
    M llvm/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.ll
    M llvm/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll

  Log Message:
  -----------
  [InstCombine] Recognize `(icmp eq/ne (and X, ~Mask), 0)` pattern in `foldICmpWithLowBitMaskedVal`

`(icmp eq/ne (and X, ~Mask), 0)` is equivilent to `(icmp eq/ne (and X,
Mask), X` and we sometimes generate the former pattern intentionally
to reduce number of uses of `X`.
Proof: https://alive2.llvm.org/ce/z/3u-usC

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

Closes #81562


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

  Changed paths:
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp

  Log Message:
  -----------
  [lld-macho][NFC] Refactor ObjCSelRefsSection out of ObjCStubsSection (#83878)

Currently ObjCStubsSection is handling both the logic for the
"__objc_stubs" section, as well as the logic for the "__objc_selrefs"
section.
While this is OK for now, it will be an issue for other features that
want to interact with the "__objc_selrefs" section, such as upcoming
relative method lists feature - which will also want to create /
reference entries in the "__objc_selrefs" section.
In this PR we split the logic relating to handling the "__objc_selrefs"
section into a new SyntheticSection (ObjCSelRefsSection). Non-functional
change - neither the behavior nor implementation changes, the interface
is just made more friendly to not have "__objc_selrefs" so bound to
"__objc_stubs".

---------

Co-authored-by: Alex B <alexborcan at meta.com>


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

  Changed paths:
    M libc/src/__support/GPU/CMakeLists.txt
    A libc/src/__support/GPU/allocator.cpp
    A libc/src/__support/GPU/allocator.h
    M libc/src/stdlib/gpu/CMakeLists.txt
    M libc/src/stdlib/gpu/free.cpp
    M libc/src/stdlib/gpu/malloc.cpp

  Log Message:
  -----------
  [libc][NFC] Move GPU allocator implementation to common header (#84690)

Summary:
This is a NFC move preceding more radical functional changes to the
allocator implementation. We just move it to a common utility so it will
be easier to write these in tandem.


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

  Changed paths:
    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/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    A libc/src/sys/mman/linux/msync.cpp
    A libc/src/sys/mman/msync.h
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    A libc/test/src/sys/mman/linux/msync_test.cpp

  Log Message:
  -----------
  [libc][mman] Implement msync (#84700)

Implement `msync` as specified in:

1. https://www.man7.org/linux/man-pages/man2/msync.2.html
2. https://pubs.opengroup.org/onlinepubs/9699919799/


  Commit: 7b275aa2438c22604505d618dd37ee60052f2800
      https://github.com/llvm/llvm-project/commit/7b275aa2438c22604505d618dd37ee60052f2800
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    A lld/test/COFF/exportas.test

  Log Message:
  -----------
  [LLD][COFF] Add support for IMPORT_NAME_EXPORTAS import library names. (#83211)

This allows handling importlibs produced by llvm-dlltool in #78772.
ARM64EC import libraries use it by default, but it's supported by MSVC
link.exe on other platforms too.

This also avoids assuming null-terminated input, like in #78769.


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-and-shift.ll

  Log Message:
  -----------
  [InstCombine] Tests for `(icmp eq/ne (and (shl -1, X), Y), 0)` -> `(icmp eq/ne (lshr Y, X), 0)`; NFC


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

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

  Log Message:
  -----------
  [InstCombine] fold `(icmp eq/ne (and (shl -1, X), Y), 0)` -> `(icmp eq/ne (lshr Y, X), 0)`

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

Closes #84691


  Commit: edd4c6c6dca4c556de22b2ab73d5bfc02d28e59b
      https://github.com/llvm/llvm-project/commit/edd4c6c6dca4c556de22b2ab73d5bfc02d28e59b
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/bstrins_w.ll

  Log Message:
  -----------
  [LoongArch] Make sure that the LoongArchISD::BSTRINS node uses the correct `MSB` value (#84454)

The `MSB` must not be greater than `GRLen`. Without this patch, newly
added test cases will crash with LoongArch32, resulting in a 'cannot
select' error.


  Commit: f78688134026686288a8d310b493d9327753a022
      https://github.com/llvm/llvm-project/commit/f78688134026686288a8d310b493d9327753a022
  Author: fpasserby <125797601+fpasserby at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/ExprCXX.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/test/AST/coroutine-locals-cleanup.cpp
    M clang/test/CodeGenCoroutines/coro-always-inline.cpp
    M clang/test/CodeGenCoroutines/coro-await.cpp
    R clang/test/CodeGenCoroutines/coro-awaiter-noinline-suspend.cpp
    M clang/test/CodeGenCoroutines/coro-dwarf.cpp
    M clang/test/CodeGenCoroutines/coro-function-try-block.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
    M clang/test/CodeGenCoroutines/pr56329.cpp
    M clang/test/CodeGenCoroutines/pr59181.cpp
    M clang/test/CodeGenCoroutines/pr65054.cpp
    M llvm/docs/Coroutines.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Coroutines/CoroInstr.h
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    A llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
    A llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll

  Log Message:
  -----------
  [coroutine] Implement llvm.coro.await.suspend intrinsic (#79712)

Implement `llvm.coro.await.suspend` intrinsics, to deal with performance
regression after prohibiting `.await_suspend` inlining, as suggested in
#64945.
Actually, there are three new intrinsics, which directly correspond to
each of three forms of `await_suspend`:
```
void llvm.coro.await.suspend.void(ptr %awaiter, ptr %frame, ptr @wrapperFunction)
i1 llvm.coro.await.suspend.bool(ptr %awaiter, ptr %frame, ptr @wrapperFunction)
ptr llvm.coro.await.suspend.handle(ptr %awaiter, ptr %frame, ptr @wrapperFunction)
```
There are three different versions instead of one, because in `bool`
case it's result is used for resuming via a branch, and in
`coroutine_handle` case exceptions from `await_suspend` are handled in
the coroutine, and exceptions from the subsequent `.resume()` are
propagated to the caller.

Await-suspend block is simplified down to intrinsic calls only, for
example for symmetric transfer:
```
%id = call token @llvm.coro.save(ptr null)
%handle = call ptr @llvm.coro.await.suspend.handle(ptr %awaiter, ptr %frame, ptr @wrapperFunction)
call void @llvm.coro.resume(%handle)
%result = call i8 @llvm.coro.suspend(token %id, i1 false)
switch i8 %result, ...
```
All await-suspend logic is moved out into a wrapper function, generated
for each suspension point.
The signature of the function is `<type> wrapperFunction(ptr %awaiter,
ptr %frame)` where `<type>` is one of `void` `i1` or `ptr`, depending on
the return type of `await_suspend`.
Intrinsic calls are lowered during `CoroSplit` pass, right after the
split.

Because I'm new to LLVM, I'm not sure if the helper function generation,
calls to them and lowering are implemented in the right way, especially
with regard to various metadata and attributes, i. e. for TBAA. All
things that seemed questionable are marked with `FIXME` comments.

There is another detail: in case of symmetric transfer raw pointer to
the frame of coroutine, that should be resumed, is returned from the
helper function and a direct call to `@llvm.coro.resume` is generated.
C++ standard demands, that `.resume()` method is evaluated. Not sure how
important is this, because code has been generated in the same way
before, sans helper function.


  Commit: 6bec4fc76de50a090d1d0b36498da66c4a324851
      https://github.com/llvm/llvm-project/commit/6bec4fc76de50a090d1d0b36498da66c4a324851
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-10 (Sun, 10 Mar 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCFlagRules.cmake

  Log Message:
  -----------
  [libc] Fix flag parsing bugs. (#84706)


  Commit: fab2bb8bfda865bd438dee981d7be7df8017b76d
      https://github.com/llvm/llvm-project/commit/fab2bb8bfda865bd438dee981d7be7df8017b76d
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2024-03-10 (Sun, 10 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/CodeGen/RegAllocPBQP.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
    M llvm/lib/ProfileData/GCOV.cpp
    M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
    M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
    M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
    M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
    M llvm/tools/llvm-mca/Views/BottleneckAnalysis.cpp
    M llvm/tools/llvm-mca/Views/SchedulerStatistics.cpp
    M llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
    M llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
    M llvm/tools/llvm-rc/ResourceFileWriter.cpp
    M llvm/utils/FileCheck/FileCheck.cpp
    M llvm/utils/TableGen/CodeGenSchedule.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
    M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
    M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
    M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/UnifyAliasedResourcePass.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/Reducer/ReductionNode.cpp

  Log Message:
  -----------
  Add llvm::min/max_element and use it in llvm/ and mlir/ directories. (#84678)

For some reason this was missing from STLExtras.


  Commit: 7dfa8398354e435cdee5a8ea6d6b17d1e4557733
      https://github.com/llvm/llvm-project/commit/7dfa8398354e435cdee5a8ea6d6b17d1e4557733
  Author: Amirreza Ashouri <ar.ashouri999 at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Type.cpp
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [clang] Fix behavior of `__is_trivially_relocatable(volatile int)` (#77092)

Consistent with `__is_trivially_copyable(volatile int) == true` and
`__is_trivially_relocatable(volatile Trivial) == true`,
`__is_trivially_relocatable(volatile int)` should also be `true`.

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

[clang] [test] New tests for __is_trivially_relocatable(cv-qualified
type)


  Commit: 099be86433a69f264aeb70e512ba1bbd0c7aefd7
      https://github.com/llvm/llvm-project/commit/099be86433a69f264aeb70e512ba1bbd0c7aefd7
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2024-03-10 (Sun, 10 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp

  Log Message:
  -----------
  Fix broken build after https://github.com/llvm/llvm-project/pull/84678 (sorry).


  Commit: 3f6bc1adf805681293c2ef0b93b708ff52244c00
      https://github.com/llvm/llvm-project/commit/3f6bc1adf805681293c2ef0b93b708ff52244c00
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/Modules/hashing-decls-in-exprs-from-gmf.cppm

  Log Message:
  -----------
  [C++20] [Moduls] Avoid computing odr hash for functions from comparing constraint expression

Previously we disabled to compute ODR hash for declarations from the
global module fragment. However, we missed the case that the functions
lives in the concept requiments (see the attached the test files for
example). And the mismatch causes the potential crashment.

Due to we will set the function body as lazy after we deserialize it and
we will only take its body when needed. However, we don't allow to take
the body during deserializing. So it is actually potentially problematic
if we set the body as lazy first and computing the hash value of the
function, which requires to deserialize its body. So we will meet a
crash here.

This patch tries to solve the issue by not taking the body of the
function from GMF. Note that we can't skip comparing the constraint
expression from the GMF directly since it is an key part of the
function selecting and it may be the reason why we can't return 0
directly for `FunctionDecl::getODRHash()` from the GMF.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll

  Log Message:
  -----------
  [RISCV] Handle FP riscv_masked_strided_load with 0 stride. (#84576)

Previously, we tried to create an integer extending load. We need to a
non-extending FP load instead.

Fixes #84541.


  Commit: d9e6aa70484955c9f581577c3b93efc1d277fa46
      https://github.com/llvm/llvm-project/commit/d9e6aa70484955c9f581577c3b93efc1d277fa46
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/acc-ldst.ll
    M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll

  Log Message:
  -----------
  [AMDGPU] Update LiveInterval def index for early-clobber (#79285)

On converting an instruction to an early-clobber definition in
convertToThreeAddress, we must also update live intervals for the
register to start at the early-clobber index.


  Commit: b7f97d3661814c4ae11b8772f8a27c029d01648b
      https://github.com/llvm/llvm-project/commit/b7f97d3661814c4ae11b8772f8a27c029d01648b
  Author: Kito Cheng <kito.cheng at sifive.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
    A llvm/test/CodeGen/RISCV/srodata.ll

  Log Message:
  -----------
  [RISCV] Place mergeable small read only data into srodata section (#82214)

Small mergeable read only data was place on the sdata before, but it
also means it lose the mergeable property, which means lose some code
size optimization opportunity during link time.


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

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/SyntheticSections.cpp

  Log Message:
  -----------
  [ELF] Move getSymbol/getRelocTargetSym from ObjFile<ELFT> to InputFile. NFC

This removes lots of unneeded `template getFile<ELFT>()`.


  Commit: 4a21e3afa29521192ce686605eb945495455ca5e
      https://github.com/llvm/llvm-project/commit/4a21e3afa29521192ce686605eb945495455ca5e
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/test/CodeGen/AMDGPU/lds-misaligned-bug.ll

  Log Message:
  -----------
  [LiveIntervals] repairIntervalsInRange: recompute width changes (#78564)

Extend repairIntervalsInRange to completely recompute the interva for a
register if subregister defs exist without precise subrange matches
(LaneMask exactly matching subregister).
This occurs when register sequences are lowered to copies such that the
size of the copies do not match any uses of the subregisters formed
(i.e. during twoaddressinstruction).

The subranges without this change are probably legal, but do not match
those generated by live interval computation. This creates problems with
other code that assumes subranges precisely cover all subregisters
defined, e.g. shrinkToUses().


  Commit: cf1319f9c6561afea381bbfc1a18f5c1fb7b46b0
      https://github.com/llvm/llvm-project/commit/cf1319f9c6561afea381bbfc1a18f5c1fb7b46b0
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/test/tsan/pthread_atfork_deadlock3.c
    A compiler-rt/test/tsan/signal_in_read.c

  Log Message:
  -----------
  [compiler-rt] Mark more calls as blocking (#77789)

If we're in a blocking call, we need to run the signal immediately, as
the call may not return for a very long time (if ever). Not running the
handler can cause deadlocks if the rest of the program waits (in one way
or another) for the signal handler to execute.

I've gone through the list of functions in
sanitizer_common_interceptors and marked as blocking those that I know
can block, but I don't claim the list to be exhaustive. In particular, I
did not mark libc FILE* functions as blocking, because these can end up
calling user functions. To do that correctly, /I think/ it would be
necessary to clear the "is in blocking call" flag inside the fopencookie
wrappers.

The test for the bug (deadlock) uses the read call (which is the one
that I ran into originally), but the same kind of test could be written
for any other blocking syscall.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
    M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
    M llvm/test/CodeGen/AMDGPU/add.ll
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/ctpop64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll

  Log Message:
  -----------
  [SelectionDAG] Switch to LiveRegUnits (#84197)


  Commit: 561ddb1687c21b82feb92890762a85c2ae1f6e0c
      https://github.com/llvm/llvm-project/commit/561ddb1687c21b82feb92890762a85c2ae1f6e0c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/test/CodeGen/AArch64/and-mask-removal.ll
    M llvm/test/CodeGen/AArch64/signed-truncation-check.ll
    M llvm/test/CodeGen/AArch64/typepromotion-overflow.ll
    M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
    M llvm/test/Transforms/TypePromotion/ARM/icmps.ll
    M llvm/test/Transforms/TypePromotion/ARM/wrapping.ll

  Log Message:
  -----------
  Revert "[TypePromotion] Support positive addition amounts in isSafeWrap. (#81690)"

This reverts commit 0813b90ff5d195d8a40c280f6b745f1cc43e087a.

Fixes miscompile reported in #84718.


  Commit: 3093d731dff93df02899dcc62f5e7ba02461ff2a
      https://github.com/llvm/llvm-project/commit/3093d731dff93df02899dcc62f5e7ba02461ff2a
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/IncludeCleaner.cpp
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/SourceCode.cpp
    M clang-tools-extra/clangd/SourceCode.h
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/unittests/SourceCodeTests.cpp

  Log Message:
  -----------
  [clangd] Avoid libFormat's objective-c guessing heuristic where possible (#84133)

This avoids a known libFormat bug where the heuristic can OOM on certain
large files (particularly single-header libraries such as miniaudio.h).

The OOM will still happen on affected files if you actually try to
format them (this is harder to avoid since the underlyting issue affects
the actual formatting logic, not just the language-guessing heuristic),
but at least it's avoided during non-modifying operations like hover,
and modifying operations that do local formatting like code completion.

Fixes https://github.com/clangd/clangd/issues/719
Fixes https://github.com/clangd/clangd/issues/1384
Fixes https://github.com/llvm/llvm-project/issues/70945


  Commit: d4569d42b5cb8ba076f0115d3d21d89f68e6ce9d
      https://github.com/llvm/llvm-project/commit/d4569d42b5cb8ba076f0115d3d21d89f68e6ce9d
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    R llvm/test/CodeGen/AMDGPU/lds-reject-absolute-addresses.ll
    A llvm/test/CodeGen/AMDGPU/lds-reject-mixed-absolute-addresses.ll
    A llvm/test/CodeGen/AMDGPU/lds-run-twice-absolute-md.ll
    A llvm/test/CodeGen/AMDGPU/lds-run-twice.ll

  Log Message:
  -----------
  [AMDGPU] Let LowerModuleLDS run twice on the same module (#81729)

If all variables in the module are absolute, this means we're running
the pass again on an already lowered module, and that works.
If none of them are absolute, lowering can proceed as usual.
Only diagnose cases where we have a mix of absolute/non-absolute GVs,
which means we added LDS GVs after lowering, which is broken.

See #81491
Split from #75333


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

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
    M mlir/lib/IR/PatternMatch.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp

  Log Message:
  -----------
  [mlir][IR] Fix overload resolution on MSVC build (#84589)

#82629 added additional overloads to `replaceAllUsesWith` and
`replaceUsesWithIf`. This caused a build breakage with MSVC when called
with ops that can implicitly convert to `Value`.

```
external/llvm-project/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp(881): error C2666: 'mlir::RewriterBase::replaceAllUsesWith': 2 overloads have similar conversions
external/llvm-project/mlir/include\mlir/IR/PatternMatch.h(631): note: could be 'void mlir::RewriterBase::replaceAllUsesWith(mlir::Operation *,mlir::ValueRange)'
external/llvm-project/mlir/include\mlir/IR/PatternMatch.h(626): note: or       'void mlir::RewriterBase::replaceAllUsesWith(mlir::ValueRange,mlir::ValueRange)'
external/llvm-project/mlir/include\mlir/IR/PatternMatch.h(616): note: or       'void mlir::RewriterBase::replaceAllUsesWith(mlir::Value,mlir::Value)'
external/llvm-project/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp(882): note: while trying to match the argument list '(mlir::tensor::ExtractSliceOp, T)'
        with
        [
            T=mlir::Value
        ]
```

Note: The LLVM build bots (Linux and Windows) did not break, this seems
to be an issue with `Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe`.

This change renames the newly added overloads to `replaceAllOpUsesWith`
and `replaceOpUsesWithIf`.


  Commit: c9465e4771c93adfbc99ffca5963a48a5334d98d
      https://github.com/llvm/llvm-project/commit/c9465e4771c93adfbc99ffca5963a48a5334d98d
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Assert if we mix PHIs and debug-info (#84054)

A potentially erroneous code construction with the work we've done to
remove debug intrinsics, is inserting PHIs into blocks when the position
hasn't been "sourced correctly". Specifically, if you have:

    %foo = PHI
    #dbg_value
    %bar = add i32...

And plan on inserting a new PHI, you have to use the iterator form of
`getFirstNonPHI` or getFirstInsertionPt (or begin()) to acquire an
iterator that tells the debug-info maintenance code "this is supposed to
be at the start of the block, put it in front of #dbg_value". We can
detect call-sites that aren't doing this at runtime, and should do with
this assertion. It might invalidate code that's doing something very
unexpected, like walking backwards to find a PHI, then going forwards,
then inserting: however that's just an inefficient way of calling
`getFirstNonPHI`.


  Commit: 0f501c30b9601627c236f9abca8a3befba5dc161
      https://github.com/llvm/llvm-project/commit/0f501c30b9601627c236f9abca8a3befba5dc161
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    R clang/test/SemaCXX/gh84064-1.cpp
    R clang/test/SemaCXX/gh84064-2.cpp

  Log Message:
  -----------
  Revert "[C++20][Coroutines] Lambda-coroutine with operator new in promise_type (#84193)"

This reverts commit 35d3b33ba5c9b90443ac985f2521b78f84b611fe.

See the comments in https://github.com/llvm/llvm-project/pull/84193 for
details


  Commit: 3b30559c088d679ca8fe491158e6c32db630f223
      https://github.com/llvm/llvm-project/commit/3b30559c088d679ca8fe491158e6c32db630f223
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90

  Log Message:
  -----------
  [flang][OpenMP] Only use HLFIR base in privatization logic (#84123)

Modifies the privatization logic so that the emitted code only used the
HLFIR base (i.e. SSA value `#0` returned from `hlfir.declare`). Before
that, that emitted privatization logic was a mix of using `#0` and `#1`
which leads to some difficulties trying to move to delayed privatization
(see the discussion on #84033).


  Commit: 718962f53bfc610f670f1674457a426e01117097
      https://github.com/llvm/llvm-project/commit/718962f53bfc610f670f1674457a426e01117097
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/SystemZ/reduce-add.ll

  Log Message:
  -----------
  [SystemZ] Provide improved cost estimates (#83873)

This commit provides better cost estimates for
the llvm.vector.reduce.add intrinsic on SystemZ. These apply to all
vector lengths and integer types up to i128. For integer types larger
than i128, we fall back to the default cost estimate.

This has the effect of lowering the estimated costs of most common
instances of the intrinsic. The expected performance impact of this is
minimal with a tendency to slightly improve performance of some
benchmarks.

This commit also provides a test to check the proper computation of the
new estimates, as well as the fallback for types larger than i128.


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

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

  Log Message:
  -----------
  [RISCV] Don't run combineBinOp_VLToVWBinOp_VL until after legalize types. NFCI (#84125)

I noticed this from a discrepancy in fillUpExtensionSupport between how
we apparently need to check for legal types for ISD::{ZERO,SIGN}_EXTEND,
but we don't need to for RISCVISD::V{Z,S}EXT_VL.

Prior to #72340, combineBinOp_VLToVWBinOp_VL only ran after type
legalization because it only operated on _VL nodes. _VL nodes are only
emitted during op legalization, which takes place **after** type
legalization, which is presumably why the existing code didn't need to
check for legal types.

After #72340 we now handle generic ops like ISD::ADD that exist before
op legalization and thus **before** type legalization. This meant that
we needed to add extra checks that the narrow type was legal in #76785.

I think the easiest thing to do here is to just maintain the invariant
that the types are legal and only run the combine after type
legalization.


  Commit: d3ec8c2a25f43225efe997569925aa57324db0dd
      https://github.com/llvm/llvm-project/commit/d3ec8c2a25f43225efe997569925aa57324db0dd
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
    M llvm/unittests/Analysis/LazyCallGraphTest.cpp

  Log Message:
  -----------
  Typo: ponit


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

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

  Log Message:
  -----------
  [RISCV] Move NodeExtensionHelper assert to getOrCreateExtendedOp. NFC

Move the narrow types assert from the ZERO_EXTEND/SIGN_EXTEND case in
fillUpExtensionSupport to getOrCreateExtendedOp so we check the other nodes
too.


  Commit: 9277a32305c1083653ffaa7955cd26deffc10988
      https://github.com/llvm/llvm-project/commit/9277a32305c1083653ffaa7955cd26deffc10988
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [VPlan] Funnel recipe insert* through VPBasicBlock::insert (NFCI).

This allows relying on VPBasicBlock::insert to make sure insertion is
well formed, i.e. by updating the recipe's parent as well as other
potential invariants in the future.


  Commit: ec2875ce2690010f7dd894c9b56802297dd6cb84
      https://github.com/llvm/llvm-project/commit/ec2875ce2690010f7dd894c9b56802297dd6cb84
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    A clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [clang-repl] Expose RuntimeInterfaceBuilder to allow customization (#83126)

RuntimeInterfaceBuilder wires up JITed expressions with the hardcoded
Interpreter runtime. It's used only for value printing right now, but it
is not limited to that. The default implementation focuses on an
evaluation process where the Interpreter has direct access to the memory
of JITed expressions (in-process execution or shared memory).

We need a different approach to support out-of-process evaluation or
variations of the runtime. It seems reasonable to expose a minimal
interface for it. The new RuntimeInterfaceBuilder is an abstract base
class in the public header. For that, the TypeVisitor had to become a
component (instead of inheriting from it). FindRuntimeInterface() was
adjusted to return an instance of the RuntimeInterfaceBuilder and it can
be overridden from derived classes.


  Commit: 483c3364fe914280536b1ea0591bac4ba5f6c5de
      https://github.com/llvm/llvm-project/commit/483c3364fe914280536b1ea0591bac4ba5f6c5de
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

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


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

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

  Log Message:
  -----------
  [X86] Assert that the supportedVectorShift* helpers are only called with generic shift opcodes. NFC.


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

  Changed paths:
    M flang/CMakeLists.txt
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/intrinsics-library.cpp

  Log Message:
  -----------
  [flang] Fix Darwin build after 4762c6557d15 (#84478)

Select POSIX 2008 standard to avoid including Darwin extensions.
Otherwise, Darwin's math.h header defines HUGE, which conflicts
with Flang's HUGE function.

This started happening after 4762c6557d15 (#82443), that added the
"utility" include, which seems to include "math.h".


  Commit: 66f0984385fe3d3c1ece0ac22ff338ee348b2862
      https://github.com/llvm/llvm-project/commit/66f0984385fe3d3c1ece0ac22ff338ee348b2862
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h

  Log Message:
  -----------
  Reorder fields for better packing (#77998)

The RelocationEntry's fields are poorly ordered when considering
padding. This reordering reduces the size from 56 bytes to 40 bytes (on
LP64).


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

  Changed paths:
    M lldb/docs/resources/build.rst

  Log Message:
  -----------
  [lldb][Docs] Add libxml2 to apt install command


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

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

  Log Message:
  -----------
  [RemoveDIs] Add additional debug-mode verifier checks (#84308)

Separated from #83251


  Commit: 878097dff3ea4bad6b7f50017224a84bbf2af406
      https://github.com/llvm/llvm-project/commit/878097dff3ea4bad6b7f50017224a84bbf2af406
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/lib/APINotes/APINotesManager.cpp

  Log Message:
  -----------
  [APINotes] Fix failing tests after a PCM logic change

This fixes tests that are going to be upstreamed in the near future.
Currently they are failing downstream in the Apple open source fork.

Failing tests
  Clang :: APINotes/retain-count-convention.m
  Clang :: APINotes/types.m
  Clang :: APINotes/versioned-multi.c
  Clang :: APINotes/versioned.m

Since 2e5af56 got merged, Clang now enables `LangOpts.APINotesModules`
when reading a precompiled module that was built with API Notes enabled.
This is correct. The logic in APINotesManager needs to be adjusted to
handle this.

rdar://123526142


  Commit: 5ff672045a97cf7f9d7f3a93d3a02e76994d50fb
      https://github.com/llvm/llvm-project/commit/5ff672045a97cf7f9d7f3a93d3a02e76994d50fb
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-reduce/CMakeLists.txt
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    R llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
    R llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
    A llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
    A llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
    M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn

  Log Message:
  -----------
  [RemoveDIs][NFC] Rename DPValues->DbgRecords in llvm-reduce's ReduceDPValues (#84506)

llvm-reduce currently has a file `ReduceDPValues`, which really is
concerned with DbgRecords. Therefore, we rename the file and its
function accordingly.


  Commit: 9b2386e82dedafade233c8871637ee76da9ebe0e
      https://github.com/llvm/llvm-project/commit/9b2386e82dedafade233c8871637ee76da9ebe0e
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/Protocol.cpp

  Log Message:
  -----------
  [clangd] Fix JSON conversion for symbol tags (#84747)

The wrong constructor of json::Value got called, making every tag an
array instead of a number.


  Commit: 702e2da15a1c5e728c042afd094eccf1cb3741f0
      https://github.com/llvm/llvm-project/commit/702e2da15a1c5e728c042afd094eccf1cb3741f0
  Author: Kevin P. Neal <52762977+kpneal at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/HardwareLoops.cpp
    A llvm/test/Transforms/HardwareLoops/scalar-while-strictfp.ll

  Log Message:
  -----------
  [HardwareLoops] Add support for strictfp functions. (#84531)

This pass was adding new function calls without adding the strictfp
attribute as required by the rules laid out in the langref. With this
change a make check has 4-5 fewer failing tests with the Verifier
changes in D146845.

LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics

Test failures found with "https://reviews.llvm.org/D146845".


  Commit: aec92830b79a8c49cdce0d592627d5f18bb6370b
      https://github.com/llvm/llvm-project/commit/aec92830b79a8c49cdce0d592627d5f18bb6370b
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/Interpreter.cpp

  Log Message:
  -----------
  [clang-repl] Refactor locking of runtime PTU stack (NFC) (#84176)

The Interpreter locks PTUs that originate from implicit runtime code and
initialization to prevent users from undoing them accidentally.

The previous implementation seemed hacky, because it required the reader
to be familiar with the internal workings of the PTU stack. The concept
itself is a pragmatic solution and not very surprising. This patch
introduces a function for it and adds a comment.


  Commit: 546f32df26f58fdfe02d99e6d91d681dd9ed6839
      https://github.com/llvm/llvm-project/commit/546f32df26f58fdfe02d99e6d91d681dd9ed6839
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp

  Log Message:
  -----------
  [flang][CodeGen] Fix use-after-free in BoxedProcedurePass (#84376)

Avoid inspecting an operation that has been replaced.

This was detected by address sanitizer.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86] Add missing immediate qualifier to the SSE42 (V)PCMPEST/PCMPIST string instruction names


  Commit: 2a38551457cb2b38dcca35e30e9f2d7fce9ae3e7
      https://github.com/llvm/llvm-project/commit/2a38551457cb2b38dcca35e30e9f2d7fce9ae3e7
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__tuple/find_index.h
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/include/tuple
    M libcxx/include/variant
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/utilities/variant/variant.variant/variant_size.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.verify.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

  Log Message:
  -----------
  [libc++] Remove <tuple> from <variant> (#83183)

This moves a utility from `<tuple>` into an implementation detail header
and refactors the selection of the variant index type to use.


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

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

  Log Message:
  -----------
  Revert "[RemoveDIs] Add additional debug-mode verifier checks" (#84757)

Reverts llvm/llvm-project#84308

Failing bots, e.g.
https://lab.llvm.org/buildbot/#/builders/16/builds/62432


  Commit: 6f7e940c2d6711c7be8bc5365a1f4da3a328b2eb
      https://github.com/llvm/llvm-project/commit/6f7e940c2d6711c7be8bc5365a1f4da3a328b2eb
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeEmitterGen.cpp
    M llvm/utils/TableGen/CodeGenInstruction.h
    M llvm/utils/TableGen/CodeGenTarget.cpp
    M llvm/utils/TableGen/CodeGenTarget.h
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] More efficiency improvements for encode/decode emission. (#84647)

DecoderEmitter and CodeEmitterGen perform repeated linear walks over the
entire instruction list. This patch eliminates two more such walks.

The eliminated traversals visit every instruction merely to determine
whether the target has variable length encodings. For a target with
variable length encodings, the original any_of will terminate quickly.
But all targets other than M68k use fixed length encodings and thus
any_of must visit the entire instruction list.


  Commit: facb89ae1228c067b2b14f32e7e70608fe50704b
      https://github.com/llvm/llvm-project/commit/facb89ae1228c067b2b14f32e7e70608fe50704b
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h

  Log Message:
  -----------
  [openmp] __kmp_x86_cpuid fix for i386/PIC builds. (#84626)


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

  Changed paths:
    M libc/src/math/amdgpu/CMakeLists.txt
    R libc/src/math/amdgpu/modf.cpp
    R libc/src/math/amdgpu/modff.cpp
    M libc/src/math/nvptx/CMakeLists.txt
    R libc/src/math/nvptx/modf.cpp
    R libc/src/math/nvptx/modff.cpp

  Log Message:
  -----------
  [libc] Remove use of `__builtin_modf` in GPU math

Summary:
This function was not actually supported, see
https://godbolt.org/z/MP1j5EeWc. Unsure why we only now begun seeing
failures related to it.


  Commit: fcd0dd37936957be27a3583c7daaafa2bf282a90
      https://github.com/llvm/llvm-project/commit/fcd0dd37936957be27a3583c7daaafa2bf282a90
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 2a38551457cb


  Commit: 0fae9a24b9acf03ab072bb8aca92a467b697a08a
      https://github.com/llvm/llvm-project/commit/0fae9a24b9acf03ab072bb8aca92a467b697a08a
  Author: Zain Jaffal <zain at jjaffal.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-remarkutil.rst

  Log Message:
  -----------
  [Docs] Fix `llvm-remarkutil` docs (#84661)

Code blocks and option points weren't rendered correctly


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

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86SchedAlderlakeP.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86ScheduleBdVer2.td
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86] Add missing immediate qualifier to the (V)PCLMULQDQ instruction names


  Commit: 02e0b7d405c3ace86e731450c0dd73556f1452d9
      https://github.com/llvm/llvm-project/commit/02e0b7d405c3ace86e731450c0dd73556f1452d9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp

  Log Message:
  -----------
  [libc++] Add missing include in test (#84579)

That test is using std::toupper.


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

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libc] Only enable `LLVM_FULL_BUILD_MODE` by default for GPU targets (#84664)

Summary:
Currently we have a conditional that turns the full build on by default
if it is a default target. This used to work fine when the GPU was the
only target that was ever present. However, we've recently changed to
allow building multiple of these at the same time. That means we should
have the ability to build overlay mode in the CPU mode and full build in
the GPU mode. This patch makes some simple adjustments to pass the
arguments per-triple. This slightly extends the existing `-DRUNTIMES_`
argument support to also transform any extra CMake inputs rather than
just the passed CMake variables.


  Commit: b1be69f4dbc7e3557e381d413e1b8c31ce974cc8
      https://github.com/llvm/llvm-project/commit/b1be69f4dbc7e3557e381d413e1b8c31ce974cc8
  Author: Mark Zhuang <mark.zhuang at spacemit.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [NFC] Remove duplicate 'see' in CMake.rst (#84680)


  Commit: 3f302eaca46ec068879831cae76d4aeda2bf82f8
      https://github.com/llvm/llvm-project/commit/3f302eaca46ec068879831cae76d4aeda2bf82f8
  Author: elhewaty <mohamedatef1698 at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll

  Log Message:
  -----------
  [InstCombine] Fold usub_sat((sub nuw C1, A), C2) to usub_sat(C1 - C2, A) or 0 (#82280)

- Fixes: https://github.com/llvm/llvm-project/issues/82177
- Alive2: https://alive2.llvm.org/ce/z/Q7mMC3


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

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/utils/CMakeLists.txt
    M libc/utils/gpu/CMakeLists.txt
    M libc/utils/gpu/loader/CMakeLists.txt
    M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
    M libc/utils/gpu/loader/nvptx/CMakeLists.txt
    M libc/utils/gpu/server/CMakeLists.txt
    M llvm/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libc] Build the GPU during the projects setup like libc-hdrgen (#84667)

Summary:
The libc build has a few utilties that need to be built before we can do
everything in the full build. The one requirement currently is the
`libc-hdrgen` binary. If we are doing a full build runtimes mode we
first add `libc` to the projects list and then only use the `projects`
portion to buld the `libc` portion. We also use utilities for the GPU
build, namely the loader utilities. Previously we would build these
tools on-demand inside of the cross-build, which tool some hacky
workarounds for the dependency finding and target triple. This patch
instead just builds them similarly to libc-hdrgen and then passses them
in. We now either pass it manually it it was built, or just look it up
like we do with the other `clang` tools.

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


  Commit: 5e688f0dbdaaf8ef06c1affa90db985acf401237
      https://github.com/llvm/llvm-project/commit/5e688f0dbdaaf8ef06c1affa90db985acf401237
  Author: Sivan Shani <sivan.shani at arm.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
    M llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.mir
    M llvm/test/CodeGen/ARM/vlldm-vlstm-uops.mir
    M llvm/test/MC/ARM/thumbv8m.s
    A llvm/test/MC/ARM/vlstm-vlldm-8.1m.s
    A llvm/test/MC/ARM/vlstm-vlldm-8m.s
    A llvm/test/MC/ARM/vlstm-vlldm-diag.s
    A llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.1.main.txt
    A llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.main.txt
    M llvm/unittests/Target/ARM/MachineInstrTest.cpp

  Log Message:
  -----------
  [llvm][arm] add T1 and T2 assembly options for vlldm and vlstm

Re-land 634b0243b8f7acc85af4f16b70e91d86ded4dc83.

T1 allow for an optional registers list,
the register list must be {d0-d15}.
T2 define a mandatory register list,
the register list must be {d0-d31}.

The requirements for T1/T2 are as follows:
                T1              T2
Require:        v8-M.Main,      v8.1-M.Main,
                secure state    secure state
16 D Regs       valid           valid
32 D Regs       UNDEFINED       valid
No D Regs       NOP             NOP


  Commit: 769eab47194c2a67a5939bb6a077bf48b0ba9ddb
      https://github.com/llvm/llvm-project/commit/769eab47194c2a67a5939bb6a077bf48b0ba9ddb
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [NFC][AMDGPU] Fix redundant assignment from #77952 (#84586)

Someone pointed out a typo (Value* RsrcRes = RsrcRes = ...) in PR the
address space 7 lowering, this commit fixes it.


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

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

  Log Message:
  -----------
  [RemoveDIs] Copy debug mode to new functions in amdgpu-lower-buffer-fat-pointers

Fixes failing tests after https://github.com/llvm/llvm-project/pull/84308

LLVM :: CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
LLVM :: CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces.ll
LLVM :: CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
LLVM :: CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
LLVM :: CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
LLVM :: CodeGen/AMDGPU/pal-metadata-3.0.ll

Buildbots: https://lab.llvm.org/buildbot/#/builders/121/builds/39855


  Commit: 538aeb180bcdf82cd86a46b44d6622a1c13d2877
      https://github.com/llvm/llvm-project/commit/538aeb180bcdf82cd86a46b44d6622a1c13d2877
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp
    M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp

  Log Message:
  -----------
  [AMDGPU] Use a consistent DwarfEH register flavour (#84513)

Previously, we always used the wave64 encodings for EH registers
regardless of whether we were compiling for wave32, which seems wrong.
We don't seem to use the EH registers, so this commit is mostly just
about papering over code that converts from non-EH dwarf registers to
LLVM registers while claiming they are EH dwarf registers. That kind of
code should be okay on any non-darwin target (since darwin is the only
target that uses a different encoding for EH registers).


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

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

  Log Message:
  -----------
  Reapply "[RemoveDIs] Add additional debug-mode verifier checks" (#84757)

Test failures fixed in d0117b71193787ebfd92d96a4ecc261f0aaeac86


  Commit: f14224d92b0e43aa508c8d800db57f8f674e1c7b
      https://github.com/llvm/llvm-project/commit/f14224d92b0e43aa508c8d800db57f8f674e1c7b
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV] Rename schedule classes for vmv.s.x, vmv.x.s, vfmv.s.f, and vfmv.f.s [nfc] (#84563)

The prior naming scheme is incredibly hard to make sense out of. I
suspect the usage was actually backwards from intent - though that
didn't matter for any in tree schedule model.


  Commit: 63ae5099b7339e87e6ce67fc7da63d26b8e7cb27
      https://github.com/llvm/llvm-project/commit/63ae5099b7339e87e6ce67fc7da63d26b8e7cb27
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/parse.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.bool.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.c_string.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.handle.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.string.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.unsigned_integral.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/parse.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/parse.pass.cpp

  Log Message:
  -----------
  [libc++][test] Don't include `test_format_context.h` in `parse.pass.cpp` (#83734)

The `parse.pass.cpp` tests doen't need to call
`test_format_context_create` to create a `basic_format_context`, so they
shouldn't include `test_format_context.h`.

The `to_address` mechanism works around the iterator debugging
mechanisms of MSVC STL. Related to
[LWG3989](https://cplusplus.github.io/LWG/issue3989).

Discovered when implementing `formatter<tuple>` in MSVC STL. With the
inclusion removed, `std/utilities/format/format.tuple/parse.pass.cpp`
when using enhanced MSVC STL (and `/utf-8` option for MSVC).


  Commit: 63c77d84756793ad38e3a5b830a27b400308fe7a
      https://github.com/llvm/llvm-project/commit/63c77d84756793ad38e3a5b830a27b400308fe7a
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU] Make generic versioning docs easier to find (#84761)


  Commit: 63af8584fc7ea81ef6f2176e0ada0533a3495745
      https://github.com/llvm/llvm-project/commit/63af8584fc7ea81ef6f2176e0ada0533a3495745
  Author: itrofimow <i.trofimow at yandex.ru>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/include/__exception/exception_ptr.h

  Log Message:
  -----------
  [libc++] Only forward-declare ABI-functions in exception_ptr.h if they are meant to be used (#84707)

This patch fixes the unconditional forward-declarations of ABI-functions
in exception_ptr.h, and makes it dependent on the availability macro, as
it should've been from the beginning.

The declarations being unconditional break the build with libcxxrt
before 045c52ce8 [1], now they are opt-out.

[1]: https://github.com/libcxxrt/libcxxrt/commit/045c52ce821388f4ae4d119fe4fb75f1eb547b85


  Commit: b05c15259bcbe3eba353b77ca4fc9ec2a81dd3fb
      https://github.com/llvm/llvm-project/commit/b05c15259bcbe3eba353b77ca4fc9ec2a81dd3fb
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [mlir][AMDGPU] Improve amdgpu.lds_barrier, add warnings (#77942)

On some architectures (currently gfx90a, gfx94*, and gfx10**), we can
implement an LDS barrier using compiler intrinsics instead of inline
assembly, improving optimization possibilities and decreasing the
fragility of the underlying code.

Other AMDGPU chipsets continue to require inline assembly to implement
this barrier, as, by the default, the LLVM backend will insert waits on
global memory (s_waintcnt vmcnt(0)) before barriers in order to ensure
memory watchpoints set by debuggers work correctly.

Use of amdgpu.lds_barrier, on these architectures, imposes a tradeoff
between debugability and performance. The documentation, as well as the
generated inline assembly, have been updated to explicitly call
attention to this fact.

For chipsets that did not require the inline assembly hack, we move to
the s.waitcnt and s.barrier intrinsics, which have been added to the
ROCDL dialect. The magic constants used as an argument to the waitcnt
intrinsic can be derived from
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp


  Commit: b4e39ad1176aa7fc1528aa3f7b447bf27350549f
      https://github.com/llvm/llvm-project/commit/b4e39ad1176aa7fc1528aa3f7b447bf27350549f
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [OpenMP] Remove dead code of checking int > INT_MAX (#83305)


  Commit: 1ed463d9617324c37d7efe117233f68f794ac619
      https://github.com/llvm/llvm-project/commit/1ed463d9617324c37d7efe117233f68f794ac619
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_settings.cpp
    M openmp/runtime/src/kmp_threadprivate.cpp

  Log Message:
  -----------
  [OpenMP] Make sure ptr is used after NULL check (#83304)


  Commit: de4d7015d05ee3d140298207bb09c239884a71f7
      https://github.com/llvm/llvm-project/commit/de4d7015d05ee3d140298207bb09c239884a71f7
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [OpenMP] Remove unnecessary check of ap (#83303)


  Commit: 9b1c496898cbefdce74eb1cf1a0911eb3230d65b
      https://github.com/llvm/llvm-project/commit/9b1c496898cbefdce74eb1cf1a0911eb3230d65b
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_tasking.cpp

  Log Message:
  -----------
  [OpenMP] Fixup while loops to avoid bad NULL check (#83302)


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

  Changed paths:
    M flang/unittests/Runtime/Ragged.cpp

  Log Message:
  -----------
  [flang][unittests] Use malloc when memory will be deallcated with free (#84380)

Runtime unit tests used `new[]` to allocate memory, which then was
released using `free`.

This was detected by address sanitizer.


  Commit: 63a5dc4aedaf8a4b26e536afb22612b4d69100bf
      https://github.com/llvm/llvm-project/commit/63a5dc4aedaf8a4b26e536afb22612b4d69100bf
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
    M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp

  Log Message:
  -----------
  [CodeGen] Do not pass MF into MachineRegisterInfo methods. NFC. (#84770)

MachineRegisterInfo already knows the MF so there is no need to pass it
in as an argument.


  Commit: d99bb01422a984e50043588a6bfafd2c6ce0b7e7
      https://github.com/llvm/llvm-project/commit/d99bb01422a984e50043588a6bfafd2c6ce0b7e7
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libc/docs/math/index.rst
    M libc/src/math/docs/add_math_function.md
    M libc/test/src/math/CMakeLists.txt
    R libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
    R libc/test/src/math/differential_testing/CMakeLists.txt
    R libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
    R libc/test/src/math/differential_testing/Timer.cpp
    R libc/test/src/math/differential_testing/Timer.h
    R libc/test/src/math/differential_testing/ceilf_diff.cpp
    R libc/test/src/math/differential_testing/ceilf_perf.cpp
    R libc/test/src/math/differential_testing/cosf_diff.cpp
    R libc/test/src/math/differential_testing/cosf_perf.cpp
    R libc/test/src/math/differential_testing/exp2f_diff.cpp
    R libc/test/src/math/differential_testing/exp2f_perf.cpp
    R libc/test/src/math/differential_testing/expf_diff.cpp
    R libc/test/src/math/differential_testing/expf_perf.cpp
    R libc/test/src/math/differential_testing/expm1f_diff.cpp
    R libc/test/src/math/differential_testing/expm1f_perf.cpp
    R libc/test/src/math/differential_testing/fabsf_diff.cpp
    R libc/test/src/math/differential_testing/fabsf_perf.cpp
    R libc/test/src/math/differential_testing/floorf_diff.cpp
    R libc/test/src/math/differential_testing/floorf_perf.cpp
    R libc/test/src/math/differential_testing/fmod_diff.cpp
    R libc/test/src/math/differential_testing/fmod_perf.cpp
    R libc/test/src/math/differential_testing/fmodf_diff.cpp
    R libc/test/src/math/differential_testing/fmodf_perf.cpp
    R libc/test/src/math/differential_testing/hypot_diff.cpp
    R libc/test/src/math/differential_testing/hypot_perf.cpp
    R libc/test/src/math/differential_testing/hypotf_diff.cpp
    R libc/test/src/math/differential_testing/hypotf_perf.cpp
    R libc/test/src/math/differential_testing/log10f_perf.cpp
    R libc/test/src/math/differential_testing/log1pf_perf.cpp
    R libc/test/src/math/differential_testing/log2f_diff.cpp
    R libc/test/src/math/differential_testing/log2f_perf.cpp
    R libc/test/src/math/differential_testing/logbf_diff.cpp
    R libc/test/src/math/differential_testing/logbf_perf.cpp
    R libc/test/src/math/differential_testing/logf_diff.cpp
    R libc/test/src/math/differential_testing/logf_perf.cpp
    R libc/test/src/math/differential_testing/nearbyintf_diff.cpp
    R libc/test/src/math/differential_testing/nearbyintf_perf.cpp
    R libc/test/src/math/differential_testing/rintf_diff.cpp
    R libc/test/src/math/differential_testing/rintf_perf.cpp
    R libc/test/src/math/differential_testing/roundf_diff.cpp
    R libc/test/src/math/differential_testing/roundf_perf.cpp
    R libc/test/src/math/differential_testing/sinf_diff.cpp
    R libc/test/src/math/differential_testing/sinf_perf.cpp
    R libc/test/src/math/differential_testing/sqrtf_diff.cpp
    R libc/test/src/math/differential_testing/sqrtf_perf.cpp
    R libc/test/src/math/differential_testing/truncf_diff.cpp
    R libc/test/src/math/differential_testing/truncf_perf.cpp
    A libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
    A libc/test/src/math/performance_testing/CMakeLists.txt
    A libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
    A libc/test/src/math/performance_testing/Timer.cpp
    A libc/test/src/math/performance_testing/Timer.h
    A libc/test/src/math/performance_testing/ceilf_perf.cpp
    A libc/test/src/math/performance_testing/cosf_perf.cpp
    A libc/test/src/math/performance_testing/exp2f_perf.cpp
    A libc/test/src/math/performance_testing/expf_perf.cpp
    A libc/test/src/math/performance_testing/expm1f_perf.cpp
    A libc/test/src/math/performance_testing/fabsf_perf.cpp
    A libc/test/src/math/performance_testing/floorf_perf.cpp
    A libc/test/src/math/performance_testing/fmod_perf.cpp
    A libc/test/src/math/performance_testing/fmodf_perf.cpp
    A libc/test/src/math/performance_testing/hypot_perf.cpp
    A libc/test/src/math/performance_testing/hypotf_perf.cpp
    A libc/test/src/math/performance_testing/log10f_perf.cpp
    A libc/test/src/math/performance_testing/log1pf_perf.cpp
    A libc/test/src/math/performance_testing/log2f_perf.cpp
    A libc/test/src/math/performance_testing/logbf_perf.cpp
    A libc/test/src/math/performance_testing/logf_perf.cpp
    A libc/test/src/math/performance_testing/nearbyintf_perf.cpp
    A libc/test/src/math/performance_testing/rintf_perf.cpp
    A libc/test/src/math/performance_testing/roundf_perf.cpp
    A libc/test/src/math/performance_testing/sinf_perf.cpp
    A libc/test/src/math/performance_testing/sqrtf_perf.cpp
    A libc/test/src/math/performance_testing/truncf_perf.cpp

  Log Message:
  -----------
  [libc][NFC] Clean up test/src/math/differential_testing folder, renaming it to performance_testing. (#84646)

Removing all the diff tests.


  Commit: 818af71b72219d149174faf9420dfc00f2c03470
      https://github.com/llvm/llvm-project/commit/818af71b72219d149174faf9420dfc00f2c03470
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/invalid_types.mlir
    M mlir/test/Dialect/EmitC/types.mlir
    M mlir/test/Target/Cpp/common-cpp.mlir
    M mlir/test/Target/Cpp/declare_func.mlir
    M mlir/test/Target/Cpp/func.mlir
    M mlir/test/Target/Cpp/invalid.mlir
    A mlir/test/Target/Cpp/invalid_declare_variables_at_top.mlir
    M mlir/test/Target/Cpp/variable.mlir

  Log Message:
  -----------
  [mlir][emitc] Add ArrayType (#83386)

This models a one or multi-dimensional C/C++ array.

The type implements the `ShapedTypeInterface` and prints similar to
memref/tensor:
```
  %arg0: !emitc.array<1xf32>,
  %arg1: !emitc.array<10x20x30xi32>,
  %arg2: !emitc.array<30x!emitc.ptr<i32>>,
  %arg3: !emitc.array<30x!emitc.opaque<"int">>
```

It can be translated to a C array type when used as function parameter
or as `emitc.variable` type.


  Commit: 575ca6744b755f75799c1d092f56953e776a80a6
      https://github.com/llvm/llvm-project/commit/575ca6744b755f75799c1d092f56953e776a80a6
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [CodeGen] Remove unused MachineRegisterInfo methods


  Commit: a924da6d4b8733e5bf08098b18dd7ad1a5ba5f46
      https://github.com/llvm/llvm-project/commit/a924da6d4b8733e5bf08098b18dd7ad1a5ba5f46
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/include/mlir/IR/Types.h
    M mlir/lib/IR/Types.cpp

  Log Message:
  -----------
  [mlir][IR] Add `isInteger()` (without width) (#84467)

For the singless and signed integers overloads exist, so that the width
does not need to be specified as an argument. This adds the same for
integers without checking for signedness.


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

  Changed paths:
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86SchedAlderlakeP.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86] Add missing register qualifier to the VBLENDVPD/VBLENDVPS/VPBLENDVB instruction names

Matches the SSE variants (which has a 0 qualifier to indicate the xmm0 explicit dependency)


  Commit: ad8c8281363261929b53b0a519cd20e9e2445343
      https://github.com/llvm/llvm-project/commit/ad8c8281363261929b53b0a519cd20e9e2445343
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-11 (Mon, 11 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-avx2.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse41.s

  Log Message:
  -----------
  [X86] (V)MPSADBW instructions can run on Port1 or Port5 for one uop stage

When we copied the IceLake model from the SkylakeServer model we missed this diff

Confirmed with uops.info and Agner


  Commit: 2c93beccdf8e026534a737eddaf8f5f26f3a23c3
      https://github.com/llvm/llvm-project/commit/2c93beccdf8e026534a737eddaf8f5f26f3a23c3
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/include/clang/InstallAPI/Visitor.h
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    A clang/test/InstallAPI/cpp.test
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] Collect C++ Decls (#84403)

This includes capturing symbols for global variables, functions,
classes, and templated defintions. As pre-determing what symbols are
generated from C++ declarations can be non-trivial, InstallAPI only
parses select declarations for symbol generation when parsing c++.

For example, installapi only looks at explicit template instantiations
or full template specializations, instead of general function or class
templates, for symbol emittion.


  Commit: 34acdb3ec2113265ea221fb20747ecbffb4f6a2d
      https://github.com/llvm/llvm-project/commit/34acdb3ec2113265ea221fb20747ecbffb4f6a2d
  Author: annamthomas <anna at azul.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/pr81872.ll

  Log Message:
  -----------
  Precommit testcase for pr81872 (#84782)

Testcase shows miscompile when dropping disjoint flag from disjoint or
during vectorization.


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

  Changed paths:
    M llvm/test/CodeGen/X86/combine-shl.ll
    M llvm/test/CodeGen/X86/combine-sra.ll
    M llvm/test/CodeGen/X86/combine-srl.ll

  Log Message:
  -----------
  [X86] Add AVX512 (x86-64-v4) coverage to generic shift combines tests


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

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

  Log Message:
  -----------
  [X86] Add base SSE2 coverage to SRL/SRA combines tests


  Commit: 81e20472a0c5a4a8edc5ec38dc345d580681af81
      https://github.com/llvm/llvm-project/commit/81e20472a0c5a4a8edc5ec38dc345d580681af81
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    A cmake/Modules/LLVMVersion.cmake
    M llvm/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [cmake] Exposes LLVM version number in the runtimes. (#84641)

This allows sharing the LLVM version number in libc++.


  Commit: 9a9aa41dea83039154601082b1aa2c56e35a5a17
      https://github.com/llvm/llvm-project/commit/9a9aa41dea83039154601082b1aa2c56e35a5a17
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M lldb/docs/resources/build.rst

  Log Message:
  -----------
  [LLDB][doc] Updates build instructions. (#84630)

Recently building libc++ requires building libunwind too. This updates
the LLDB instructions.

I noticed this recently and it was separately filed as
https://github.com/llvm/llvm-project/issues/84053


  Commit: 501bc101c04675969ab673b247f2a58fa72bd09e
      https://github.com/llvm/llvm-project/commit/501bc101c04675969ab673b247f2a58fa72bd09e
  Author: karzan <61278770+karzanWang at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [lldb] Save the edited line before clearing it in Editline::PrintAsync (#84154)

If the `m_editor_status` is `EditorStatus::Editing`, PrintAsync clears
the currently edited line. In some situations, the edited line is not
saved. After the stream flushes, PrintAsync tries to display the unsaved
line, causing the loss of the edited line.

The issue arose while I was debugging REPRLRun in
[Fuzzilli](https://github.com/googleprojectzero/fuzzilli). I started
LLDB and attempted to set a breakpoint in libreprl-posix.c. I entered
`breakpoint set -f lib` and used the "tab" key for command completion.
After completion, the edited line was flushed, leaving a blank line.


  Commit: 07d7b9c255078edc6f04bd4e68416bdf3e8735ab
      https://github.com/llvm/llvm-project/commit/07d7b9c255078edc6f04bd4e68416bdf3e8735ab
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libc/test/src/string/memory_utils/CMakeLists.txt
    M libc/test/src/string/memory_utils/op_tests.cpp

  Log Message:
  -----------
  [libc] Fix forward arm32 builtbot (#84794)

Introduced by https://github.com/llvm/llvm-project/pull/83441.


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

  Changed paths:
    M lldb/source/Core/DumpDataExtractor.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp

  Log Message:
  -----------
  Turn off instruction flow control annotations by default (#84607)

Walter Erquinigo added optional instruction annotations for x86
instructions in 2022 for the `thread trace dump instruction` command,
and code to DisassemblerLLVMC to add annotations for instructions that
change flow control, v. https://reviews.llvm.org/D128477

This was added as an option to `disassemble`, and the trace dump command
enables it by default, but several other instruction dumpers were
changed to display them by default as well. These are only implemented
for Intel instructions, so our disassembly on other targets ends up
looking like

```
(lldb) x/5i 0x1000086e4
0x1000086e4: 0xa9be6ffc   unknown     stp    x28, x27, [sp, #-0x20]!
0x1000086e8: 0xa9017bfd   unknown     stp    x29, x30, [sp, #0x10]
0x1000086ec: 0x910043fd   unknown     add    x29, sp, #0x10
0x1000086f0: 0xd11843ff   unknown     sub    sp, sp, #0x610
0x1000086f4: 0x910c63e8   unknown     add    x8, sp, #0x318
```

instead of `disassemble`'s output style of

```
lldb`main:
lldb[0x1000086e4] <+0>:  stp    x28, x27, [sp, #-0x20]!
lldb[0x1000086e8] <+4>:  stp    x29, x30, [sp, #0x10]
lldb[0x1000086ec] <+8>:  add    x29, sp, #0x10
lldb[0x1000086f0] <+12>: sub    sp, sp, #0x610
lldb[0x1000086f4] <+16>: add    x8, sp, #0x318
```

Adding symbolic annotations for assembly instructions is something I'm
interested in too, because we may have users investigating a crash or
apparent-incorrect behavior who must debug optimized assembly and they
may not be familiar with the ISA they're using, so short of flipping
through a many-thousand-page PDF to understand each instruction, they're
lost. They don't write assembly or work at that level, but to understand
a bug, they have to understand what the instructions are actually doing.

But the annotations that exist today don't move us forward much on that
front - I'd argue that the flow control instructions on Intel are not
hard to understand from their names, but that might just be my personal
bias. Much trickier instructions exist in any event.

Displaying this information by default for all targets when we only have
one class of instructions on one target is not a good default.

Also, in 2011 when Greg implemented the `memory read -f i` (aka `x/i`)
command
```
commit 5009f9d5010a7e34ae15f962dac8505ea11a8716
Author: Greg Clayton <gclayton at apple.com>
Date:   Thu Oct 27 17:55:14 2011 +0000
[...]
    eFormatInstruction will print out disassembly with bytes and it will use the
    current target's architecture. The format character for this is "i" (which
    used to be being used for the integer format, but the integer format also has
    "d", so we gave the "i" format to disassembly), the long format is
    "instruction".
```

he had DumpDataExtractor's DumpInstructions print the bytes of the
instruction -- that's the first field we see above for the `x/5i` after
the address -- and this is only useful for people who are debugging the
disassembler itself, I would argue. I don't want this displayed by
default either.

tl;dr this patch removes both fields from `memory read -f -i` and I
think this is the right call today. While I'm really interested in
instruction annotation, I don't think `x/i` is the right place to have
it enabled by default unless it's really compelling on at least some of
our major targets.


  Commit: 36a2752923a76f0b747bc35b7cd1bd1d1bf5bf05
      https://github.com/llvm/llvm-project/commit/36a2752923a76f0b747bc35b7cd1bd1d1bf5bf05
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M utils/bazel/configure.bzl

  Log Message:
  -----------
  [bazel] Grab correct version info after 81e20472a0c5a4a8edc5ec38dc345d580681af81

This is a bit awkward.


  Commit: 866ac9a165d65606910987c119ebee6a85480192
      https://github.com/llvm/llvm-project/commit/866ac9a165d65606910987c119ebee6a85480192
  Author: annamthomas <anna at azul.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll

  Log Message:
  -----------
  [LV] Address postcommit review for PR84782 (#84797)

This testcase was added to show miscompile in
https://github.com/llvm/llvm-project/issues/81872


  Commit: 8467457afc61d70e881c9817ace26356ef757733
      https://github.com/llvm/llvm-project/commit/8467457afc61d70e881c9817ace26356ef757733
  Author: Bhuminjay Soni <Soni5Happy at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Misc/warning-wall.c
    A clang/test/Sema/return-type-mismatch.c

  Log Message:
  -----------
  Add new flag -Wreturn-mismatch (#82872)

This pull request fixes #72116 where a new flag is introduced for
compatibility with GCC 14, the functionality of -Wreturn-type is
modified to split some of its behaviors into -Wreturn-mismatch

Fixes #72116


  Commit: 034cc2f5d0abcf7a465665246f16a1b75fbde93a
      https://github.com/llvm/llvm-project/commit/034cc2f5d0abcf7a465665246f16a1b75fbde93a
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/MachineVerifier/test_g_extract_subvector.mir
    A llvm/test/MachineVerifier/test_g_insert_subvector.mir

  Log Message:
  -----------
  [GISEL] Add G_INSERT_SUBVECTOR and G_EXTRACT_SUBVECTOR (#84538)

G_INSERT and G_EXTRACT are not sufficient to use to represent both
INSERT/EXTRACT on a subregister and INSERT/EXTRACT on a vector.

We would like to be able to INSERT/EXTRACT on vectors in cases that
INSERT/EXTRACT on vector subregisters are not sufficient, so we add
these opcodes.

I tried to do a patch where we treated G_EXTRACT as both
G_EXTRACT_SUBVECTOR and G_EXTRACT_SUBREG, but ran into an infinite loop
at this
[point](https://github.com/llvm/llvm-project/blob/8b5b294ec2cf876bc5eb5bd5fcb56ef487e36d60/llvm/lib/Target/RISCV/RISCVISelLowering.cpp#L9932)
in the SDAG equivalent code.


  Commit: 2a3f27cce8983e5d6871b9ebb8f5e9dd91884f0c
      https://github.com/llvm/llvm-project/commit/2a3f27cce8983e5d6871b9ebb8f5e9dd91884f0c
  Author: Joe Nash <Sisyph at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td

  Log Message:
  -----------
  [AMDGPU][True16] Make NotHasTrue16BitInsts a True16Predicate (#84771)

NFC.
Test coverage on VOPC shows NotHasTrue16BitInsts on the pre-gfx11
instructions is necessary (we cannot use the default NoTrue16Predicate).
Update the VOP2 instructions in the same manner.


  Commit: 725a0523a18ef1a75a6d4a010dc3debe1b08c9d1
      https://github.com/llvm/llvm-project/commit/725a0523a18ef1a75a6d4a010dc3debe1b08c9d1
  Author: Paul T Robinson <paul.robinson at sony.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [Headers][X86] Add specific results to comparisons (#83316)

Some comparison intrinsics were described as returning the "result" without
specifying how. The "cmp" intrinsics return zero or all 1's in the
corresponding elements of a returned vector; the "com" intrinsics return
an integer 0 or 1.

Also removed some redundant information.


  Commit: 212604698c0f265702ec9c9486fe5b74a6fc2ff7
      https://github.com/llvm/llvm-project/commit/212604698c0f265702ec9c9486fe5b74a6fc2ff7
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx10_asm_mubuf.s
    M llvm/test/MC/AMDGPU/mtbuf-gfx10.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_mtbuf.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_mubuf.txt

  Log Message:
  -----------
  [AMDGPU] Add missing tests for GFX10 (t)buffer format d16 instructions (#84789)


  Commit: 23be73208d63898611b81d4b93a0c254a40c879c
      https://github.com/llvm/llvm-project/commit/23be73208d63898611b81d4b93a0c254a40c879c
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  AMDGPU: Add an argument to DS_Real_gfx12 to disable alias, NFC (#84717)

This is for cased that we simply want to rename from ps.Mnemonic, but
ps.Mnemonic itself is not supported as an alias.


  Commit: 5b4c35064760816e4c29921df8f7ff4f2621d4f9
      https://github.com/llvm/llvm-project/commit/5b4c35064760816e4c29921df8f7ff4f2621d4f9
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M flang/runtime/command.cpp

  Log Message:
  -----------
  [flang][unittests] Fix buffer underrun in LengthWithoutTrailingSpaces (#84382)

Account for the descriptor containing a zero-length string. Also, avoid
iterating backwards too far.

This was detected by address sanitizer.


  Commit: 8846b91e15d4c8d280ee727c0f69b958f9b1440b
      https://github.com/llvm/llvm-project/commit/8846b91e15d4c8d280ee727c0f69b958f9b1440b
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  Revert "[CMake][LIT] Add option to run lit testsuites in parallel" (#84813)

Reverts llvm/llvm-project#82899

Per the discussion on the PR, this needs more design and justification.


  Commit: b4e0890458043ef486fdecba9aad65799ec0ab35
      https://github.com/llvm/llvm-project/commit/b4e0890458043ef486fdecba9aad65799ec0ab35
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [scudo] move static_assert closer to class it relates to (#84257)

delete other static_assert


  Commit: a8eb2f0dabacb334cbfc78eaffde9a75b1ba64a4
      https://github.com/llvm/llvm-project/commit/a8eb2f0dabacb334cbfc78eaffde9a75b1ba64a4
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/lib/AST/DeclPrinter.cpp
    M clang/test/AST/ast-print-objectivec.m

  Log Message:
  -----------
  [Clang][AST] Print attributes of Obj-C interfaces

When pretty printing an Objective-C interface declaration, Clang
previously didn't print any attributes that are applied to the
declaration.


  Commit: 337a20071518d647a0d453f93055817131aa15e9
      https://github.com/llvm/llvm-project/commit/337a20071518d647a0d453f93055817131aa15e9
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [scudo] Move static_assert to class it concerns (#84245)


  Commit: 08a9207f947b8b022d70f8ee7eeeda7acc6aac76
      https://github.com/llvm/llvm-project/commit/08a9207f947b8b022d70f8ee7eeeda7acc6aac76
  Author: Usama Hameed <u_hameed at apple.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/InstrumentationRuntime/ASanLibsanitizers/InstrumentationRuntimeASanLibsanitizers.cpp
    M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp

  Log Message:
  -----------
  [LLDB] ASanLibsanitizers Use `sanitizers_address_on_report` breakpoint (#84583)

symbol

This patch puts the default breakpoint on the
sanitizers_address_on_report symbol, and uses the old symbol as a backup
if the default case is not found

rdar://123911522


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

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    A clang/test/CodeGen/remote-traps.c

  Log Message:
  -----------
  [clang] Add optional pass to remove UBSAN traps using PGO (#84214)

With #83471 it reduces UBSAN overhead from 44% to 6%.
Measured as "Geomean difference" on "test-suite/MultiSource/Benchmarks"
with PGO build.

On real large server binary we see 95% of code is still instrumented,
with 10% -> 1.5% UBSAN overhead improvements. We can pass this test only
with subset of UBSAN, so base overhead is smaller.

We have followup patches to improve it even further.


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

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/hip-binding.hip

  Log Message:
  -----------
  [HIP] Make the new driver bundle outputs for device-only (#84534)

Summary:
The current behavior of HIP is that when --offload-device-only is set it
still bundles the outputs into a fat binary. Even though this is
different from how all the other targets handle this, it seems to be
dependned on by some tooling so just make it backwards compatible for
the `-fno-gpu-rdc` case.


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

  Changed paths:
    M bolt/lib/Core/DebugNames.cpp
    A bolt/test/X86/Inputs/dwarf5-debug-names-ftu-ltu-mix-helper.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-ftu-ltu-mix-helper1.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-ftu-ltu-mix-main.s
    A bolt/test/X86/dwarf5-df-main-debug-names-ftu-ltu-mix.test

  Log Message:
  -----------
  [BOLT][DWWARF] Fix foreign TU index with local TUs (#84594)

The foreign TU list immediately follows the local TU list and they both
use the same index, so that if there are N local TU entries, the index
for the first foreign TU is N.

Changed so that the size of local TU is accounted for when setting
foreign TU index.


  Commit: 6aef8dfe440c8234ce491dabb111a55b89754b4e
      https://github.com/llvm/llvm-project/commit/6aef8dfe440c8234ce491dabb111a55b89754b4e
  Author: amilendra <amilendra.kodithuwakku at arm.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libcxx] Update 128-bit-atomics feature test (#83841)

The `128-bit-atomics` libcxx feature is incorrectly named because tests
that are Xfailed with it is really using `int[128]`. Additionally,
because toolchain support for that feature is determined based on a much
smaller size (`char[16]`), tests would execute incorrectly without
required toolchain support.

So, rename `128-bit-atomics` as `1024-bit-atomics`, and use an
appropriate type to check for the presence of the feature.


  Commit: 18f49cf2e69676497cccc81ad5f5296fedcde338
      https://github.com/llvm/llvm-project/commit/18f49cf2e69676497cccc81ad5f5296fedcde338
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp

  Log Message:
  -----------
  [libc++] Remove XFAIL for SIMD in optimized build (#84767)

It seems that updating the compiler in the CI resolved the issue, which
causes the test to be XPASSing now.

Fixes #74327


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

  Changed paths:
    M libcxx/test/libcxx/clang_modules_include.gen.py

  Log Message:
  -----------
  [libc++] Re-enable the clang_modules_include test for Objective-C++ (#66801)

This reverts commit aa60b2687, which was a temporary workaround.
The underlying issue was fixed in Clang via c2c840bd92cf.

This was originally https://reviews.llvm.org/D158694.


  Commit: 42ee286e51260286c59fa1186d0e56ad0f446054
      https://github.com/llvm/llvm-project/commit/42ee286e51260286c59fa1186d0e56ad0f446054
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp

  Log Message:
  -----------
  Fixing test from 8467457afc61d70e881c9817ace26356ef757733

The clangd test was testing the previous diagnostic logic and now it's
testing with the new warning flag.


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

  Changed paths:
    M flang/include/flang/Evaluate/integer.h

  Log Message:
  -----------
  [flang] Avoid left shifts of negative signed values (#84786)

Shifting left a signed, negative value is an undefined behavior in C++.

This was detected by the undefined behavior sanitizer.


  Commit: 1def98d9f2eb2ae39e774369693e6f2f74551b7f
      https://github.com/llvm/llvm-project/commit/1def98d9f2eb2ae39e774369693e6f2f74551b7f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M flang/lib/Parser/token-sequence.cpp

  Log Message:
  -----------
  [flang] Avoid forming a reference from null pointer (#84787)

Doing so is an undefined behavior.

This was detected by the undefined behavior sanitizer.


  Commit: a25fa92d870a5cbb3eeccdc7458d1bc6834b695a
      https://github.com/llvm/llvm-project/commit/a25fa92d870a5cbb3eeccdc7458d1bc6834b695a
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libc/test/include/CMakeLists.txt
    A libc/test/include/stdbit_stub.h
    A libc/test/include/stdbit_test.c
    M libc/test/include/stdbit_test.cpp

  Log Message:
  -----------
  [libc][stdbit] Add C tests for stdbit generic macros. (#84670)

Currently there is no tests for generic macros of generated `stdbit.h`
header in C, and it is easy to make typo mistakes as in
https://github.com/llvm/llvm-project/issues/84658. In this patch, we
add a simple test for them in C.


  Commit: 884b051a42896e94dc6032013e10483d84910f27
      https://github.com/llvm/llvm-project/commit/884b051a42896e94dc6032013e10483d84910f27
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/test/CodeGen/AArch64/and-mask-removal.ll
    M llvm/test/CodeGen/AArch64/signed-truncation-check.ll
    M llvm/test/CodeGen/AArch64/typepromotion-overflow.ll
    M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
    M llvm/test/Transforms/TypePromotion/ARM/icmps.ll
    M llvm/test/Transforms/TypePromotion/ARM/wrapping.ll

  Log Message:
  -----------
  Recommit "[TypePromotion] Support positive addition amounts in isSafeWrap. (#81690)"

With special case with Add constant is 0.

Original message:
We can support these by changing the sext promotion to -zext(-C) and
replacing a sgt check with ugt. Reframing the logic in terms of how the
unsigned range are affected. More comments in the patch.

The new cases check isLegalAddImmediate to avoid some
regressions in lit tests.


  Commit: 5feaef63c08b6fefb6b0eaff2270ccb14740cca2
      https://github.com/llvm/llvm-project/commit/5feaef63c08b6fefb6b0eaff2270ccb14740cca2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/test/CodeGen/tbaa-struct.cpp

  Log Message:
  -----------
  [TBAA] Generate tbaa.struct single field with char tag for unions. (#84370)

At the moment,distinct fields for each union member are generated. When
copying a union, we don't know which union member is active, so there's
no benefit from recording the different fields. It can result in
converting tbaa.struct fields to incorrect tbaa nodes when extracting
fields.

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


  Commit: 94c988bcfdea596e5c9078be8ec28688eb0d96a3
      https://github.com/llvm/llvm-project/commit/94c988bcfdea596e5c9078be8ec28688eb0d96a3
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/M68k/M68kSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
    M llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/VE/VEISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp

  Log Message:
  -----------
  [NFC] Remove unused parameter from shouldAssumeDSOLocal()


  Commit: 6462eadbd316aed1b1074ed73bcaf1698886bba1
      https://github.com/llvm/llvm-project/commit/6462eadbd316aed1b1074ed73bcaf1698886bba1
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
    M lldb/source/Core/ValueObjectVariable.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/CompilerType.cpp
    A lldb/test/API/functionalities/valobj_errors/Makefile
    A lldb/test/API/functionalities/valobj_errors/TestValueObjectErrors.py
    A lldb/test/API/functionalities/valobj_errors/hidden.c
    A lldb/test/API/functionalities/valobj_errors/main.c
    M lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_declaration-with-children.s
    M lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-missing-signature.test

  Log Message:
  -----------
  Report back errors in GetNumChildren() (#84265)

This is a proof-of-concept patch that illustrates how to use the
Expected return values to surface rich error messages all the way up
to the ValueObjectPrinter.

This is the final patch in the series that includes
https://github.com/llvm/llvm-project/pull/83501 and
https://github.com/llvm/llvm-project/pull/84219


  Commit: 4628e33a7762384180a72cc9074a7ec49fbbdb95
      https://github.com/llvm/llvm-project/commit/4628e33a7762384180a72cc9074a7ec49fbbdb95
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [NFC][docs] Rename duplicate label to something unique


  Commit: 4d21e75210d936d4f05e8aa9ea33beb552cd19b1
      https://github.com/llvm/llvm-project/commit/4d21e75210d936d4f05e8aa9ea33beb552cd19b1
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/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/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/fmodf128.h
    A libc/src/math/fmodl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/fmodf.cpp
    A libc/src/math/generic/fmodf128.cpp
    A libc/src/math/generic/fmodl.cpp
    M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
    M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
    M libc/test/src/math/performance_testing/CMakeLists.txt
    A libc/test/src/math/performance_testing/fmodf128_perf.cpp
    A libc/test/src/math/performance_testing/fmodl_perf.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/fmodf128_test.cpp
    A libc/test/src/math/smoke/fmodl_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add fmodl and fmodf128 math functions. (#84600)

- Allow `FMod` template to have different computational types and make
it work for 80-bit long double.
- Switch to use `uint64_t` as the intermediate computational types for
`float`, significantly reduce the latency of `fmodf` when the exponent
difference is large.


  Commit: f4c1e8747b33815969e60a53cab3dac4d0f55f6c
      https://github.com/llvm/llvm-project/commit/f4c1e8747b33815969e60a53cab3dac4d0f55f6c
  Author: David Benjamin <davidben at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/include/string_view

  Log Message:
  -----------
  [libc++][hardening] Reclassify string_view(ptr, len)'s size assertion (#79297)

The comment makes this error condition sound less problematic than it
is. If the length does not match the pointer's bounds, all
bounds-checking in string_view goes wrong. A length over PTRDIFF_MAX
cannot possibly be a correct bounds and was mostly an underflowed
negative number cast to a size_t.

The documentation for _LIBCPP_ASSERT_VALID_INPUT_RANGE discusses ranges
being valid, including an iterator and a count, which seemed appropriate
here.


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIRDialect.h
    M flang/include/flang/Optimizer/Dialect/FIRDialect.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp

  Log Message:
  -----------
  [flang][NFC] Use the tablegen definition for FIR dialect (#84822)

FIROpsDialect has been declared manually with a class inheriting from
the MLIR Dialect class. Another declaration is done using tablegen here
`flang/include/flang/Optimizer/Dialect/FIRDialect.td`. This patch merge
the two declaration so we can use the tablegen generated class for all
the FIROpsDialect needs.

This is part of a series of patch to bring FIR up to date with the
current MLIR infra.


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

  Changed paths:
    A llvm/test/Analysis/ValueTracking/knownbits-shift.ll

  Log Message:
  -----------
  [KnownBits] Add test for computing more information for `lshr`/`ashr` with `exact` flag; NFC


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

  Changed paths:
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Support/KnownBits.cpp

  Log Message:
  -----------
  [KnownBits] Add API support for `exact` in `lshr`/`ashr`; NFC


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

  Changed paths:
    M llvm/lib/Support/KnownBits.cpp
    M llvm/test/Analysis/ValueTracking/knownbits-shift.ll
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [KnownBits] Implement knownbits `lshr`/`ashr` with exact flag

The exact flag basically allows us to set an upper bound on shift
amount when we have a known 1 in `LHS`.

Typically we deduce exact using knownbits (on non-exact incoming
shifts), so this is particularly impactful, but may be useful in some
circumstances.

Closes #84254


  Commit: 65fd664daf4fb283d9a09e01f19709b38b99173a
      https://github.com/llvm/llvm-project/commit/65fd664daf4fb283d9a09e01f19709b38b99173a
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  Run pre-merge build with -k 0 to ensure all tests runs (#84828)

The -k option allows to continue the build after failures as much as
possible. This is useful here because when we run

> ninja check-llvm check-clang

we would like the clang tests to run even if there is a failure in a
llvm tests.

The downside is that a build failure in one file that would prevent from
running any test does not prevent from building more targets, wasting
build resources potentially.

Fixes #83371


  Commit: 31ffdb56b4df9b772d763dccabbfde542545d695
      https://github.com/llvm/llvm-project/commit/31ffdb56b4df9b772d763dccabbfde542545d695
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/ArgumentPromotion/aliasing-and-non-aliasing-loads-with-clobber.ll

  Log Message:
  -----------
  [ArgPromotion] Add test case for #84807.

Test case for https://github.com/llvm/llvm-project/issues/84807,
showing a mis-compile in ArgPromotion.


  Commit: 0f0f0ffc750b5d1364d20b8ecd3f070e9e816ecf
      https://github.com/llvm/llvm-project/commit/0f0f0ffc750b5d1364d20b8ecd3f070e9e816ecf
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Target/VE/VEISelLowering.cpp

  Log Message:
  -----------
  [NFC] Remove unused variable after 94c988bc


  Commit: 3707c540d23a5684a1c37b0f7e41c1d8ed7f1f8a
      https://github.com/llvm/llvm-project/commit/3707c540d23a5684a1c37b0f7e41c1d8ed7f1f8a
  Author: jimingham <jingham at apple.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M lldb/source/Core/ValueObject.cpp
    M lldb/test/API/python_api/value/TestValueAPI.py
    M lldb/test/API/python_api/value/main.c

  Log Message:
  -----------
  Make ValueObject::Cast work for casts from smaller to larger structs in the cases where this currently can work. (#84588)

The ValueObjectConstResult classes that back expression result variables
play a complicated game with where the data for their values is stored.
They try to make it appear as though they are still tied to the memory
in the target into which their value was written when the expression is
run, but they also keep a copy in the Host which they use after the
value is made (expression results are "history values" so that's how we
make sure they have "the value at the time of the expression".)

However, that means that if you ask them to cast themselves to a value
bigger than their original size, they don't have a way to get more
memory for that purpose. The same thing is true of ValueObjects backed
by DataExtractors, the data extractors don't know how to get more data
than they were made with in general.

The only place where we actually ask ValueObjects to sample outside
their captured bounds is when you do ValueObject::Cast from one
structure type to a bigger structure type. In
https://reviews.llvm.org/D153657 I handled this by just disallowing
casts from one structure value to a larger one. My reasoning at the time
was that the use case for this was to support discriminator based C
inheritance schemes, and you can't directly cast values in C, only
pointers, so this was not a natural way to handle those types. It seemed
logical that since you would have had to start with pointers in the
implementation, that's how you would write your lldb introspection code
as well.

Famous last words...

Turns out there are some heavy users of the SB API's who were relying on
this working, and this is a behavior change, so this patch makes this
work in the cases where it used to work before, while still disallowing
the cases we don't know how to support.

Note that if you had done this Cast operation before with either
expression results or value objects from data extractors, lldb would not
have returned the correct results, so the cases this patch outlaws are
ones that actually produce invalid results. So nobody should be using
Cast in these cases, or if they were, this patch will point out the bug
they hadn't yet noticed.


  Commit: 762cbd82da4debf8b026a4eb4ade66720acf3182
      https://github.com/llvm/llvm-project/commit/762cbd82da4debf8b026a4eb4ade66720acf3182
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [libc][NFC] Do not add libc test framework and -fno-rtti to C tests. (#84837)


  Commit: c93c76b562784926b22a69d3f82a5032dcb4a274
      https://github.com/llvm/llvm-project/commit/c93c76b562784926b22a69d3f82a5032dcb4a274
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lld/COFF/DLL.cpp
    M lld/test/COFF/delayimports-armnt.yaml

  Log Message:
  -----------
  [LLD] [COFF] Set the right alignment for DelayDirectoryChunk (#84697)

This makes a difference when linking executables with delay loaded
libraries for arm32; the delay loader implementation can load data from
the registry with instructions that assume alignment.

This issue does not show up when linking in MinGW mode, because a
PseudoRelocTableChunk gets injected, which also sets alignment, even if
the chunk itself is empty.


  Commit: 60e562d11aeca8020de8d50ded7f0ba9e10e8843
      https://github.com/llvm/llvm-project/commit/60e562d11aeca8020de8d50ded7f0ba9e10e8843
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir

  Log Message:
  -----------
  [mlir][linalg] Add unit dim folding pattern for tensor.pad (#84684)

Unit extent dims that are not padded by a tensor.pad can be folded away.
When folding unit extent dims of surrounding linalg ops, this increases
the chance that the iteration space of the linalg op will align with
nearby pad ops, improving fusion opportunities.


  Commit: 6397f223c456ce5a0cc246cd81673794a4860fd1
      https://github.com/llvm/llvm-project/commit/6397f223c456ce5a0cc246cd81673794a4860fd1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M clang/test/CodeGen/remote-traps.c

  Log Message:
  -----------
  [clang] Fix test after #84214


  Commit: a950c06d9864ec34d401702f398dc09fbec87891
      https://github.com/llvm/llvm-project/commit/a950c06d9864ec34d401702f398dc09fbec87891
  Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [CI] Run pre-merge build with -k 0 placed after "${BUILD_DIR}" (#84846)

#84828 added `-k 0` to pre-merge CI so that if one job fails the others
would continue building. This pull request fixes the location of `-k 0`
in the ninja command line.

Resolves #84842 and #83371


  Commit: 83c9244ae4bee8a494a7abe313a6e9f22ac4be55
      https://github.com/llvm/llvm-project/commit/83c9244ae4bee8a494a7abe313a6e9f22ac4be55
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0_permute.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1_permute.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_codegen_dim.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_codegen_foreach.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_collapse_shape.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_constant_to_sparse_tensor.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_55.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nchw_fchw.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nhwc_hwcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d_ndhwc_dhwcf.mlir

  Log Message:
  -----------
  [mlir][sparse] Migrate more tests to use sparse_tensor.print (#84833)

Continuous efforts following #84249.


  Commit: ad23127222fe23e28ac3deaa16f3ae64d13b7b6f
      https://github.com/llvm/llvm-project/commit/ad23127222fe23e28ac3deaa16f3ae64d13b7b6f
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/Inliner.cpp
    A mlir/test/Transforms/inlining-recursive-self.mlir

  Log Message:
  -----------
  [mlir][inline] avoid inline self-recursive function (#83092)


  Commit: 8d220d109d28dac352c563ab062fb72132b7eca1
      https://github.com/llvm/llvm-project/commit/8d220d109d28dac352c563ab062fb72132b7eca1
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows: Fix incorrect input name in release-binaries.yml (#84604)

In aa02002491333c42060373bc84f1ff5d2c76b4ce the input name was changed
from tag to release-version, but the code was never updated.


  Commit: d125d5576ec85eb2517ced0fe4b68da7b8209d0c
      https://github.com/llvm/llvm-project/commit/d125d5576ec85eb2517ced0fe4b68da7b8209d0c
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  github-automation.py: Set maintainer_can_modify=True for backport PRs (#84819)

This makes it possible to rebase the branch using the Web UI, which
makes it easier to manually merge the PRs. Manual merge is required when
squash merge won't preserve author information of the backport.


  Commit: 75790dd2d0cff5b0c3e543e256f6c8f0fb5d0689
      https://github.com/llvm/llvm-project/commit/75790dd2d0cff5b0c3e543e256f6c8f0fb5d0689
  Author: Daniel Sanders <daniel_l_sanders at apple.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [RemoveDIs] Fix nullptr dereference in getFirstNonPHIIt() (#84595)

getFirstNonPHI() returns nullptr for blocks that lack a non-phi
(including a terminator) but getFirstNonPHIIt() may dereference its
result unconditionally. Return end() instead.

This came up for us downstream while correcting our getFirstNonPHI()
calls that intended to return the position after the phi's but before
the debug info to getFirstNonPHIIt(). The pass in question is populating
new BB's and hasn't added terminators yet.


  Commit: 9688a6dae4de16e79ba677846df32099ec012627
      https://github.com/llvm/llvm-project/commit/9688a6dae4de16e79ba677846df32099ec012627
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/NVVMToLLVM/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Add missing MLIRFuncDialect dep to MLIRNVVMToLLVM (#84548)

This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRNVVMToLLVM.a only:
```
In file included from mlir/lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp:18:
mlir/include/mlir/Dialect/Func/IR/FuncOps.h:29:10: fatal error: mlir/Dialect/Func/IR/FuncOps.h.inc: No such file or directory
```


  Commit: 36cf982d6cddaa65da24fcb853295a99a9154a53
      https://github.com/llvm/llvm-project/commit/36cf982d6cddaa65da24fcb853295a99a9154a53
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Add missing MLIRFuncDialect dep to MLIRAMDGPUTransforms (#84550)

This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRAMDGPUTransforms.a only:
```
In file included from mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp:21:
mlir/include/mlir/Dialect/Func/IR/FuncOps.h:29:10: fatal error: mlir/Dialect/Func/IR/FuncOps.h.inc: No such file or directory
```


  Commit: b2ea04673b782f95ac9841f87df8bb5f7b561067
      https://github.com/llvm/llvm-project/commit/b2ea04673b782f95ac9841f87df8bb5f7b561067
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Add missing omp_gen dep to MLIROpenMPDialect (#84552)

This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIROpenMPDialect.a only:
```
In file included from mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp:29:
llvm/include/llvm/Frontend/OpenMP/OMPConstants.h:20:10: fatal error: llvm/Frontend/OpenMP/OMP.h.inc: No such file or directory
```


  Commit: 8d61f82bd3676bc541edfad1014e3ed599cc1390
      https://github.com/llvm/llvm-project/commit/8d61f82bd3676bc541edfad1014e3ed599cc1390
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp

  Log Message:
  -----------
  [lld][RISCV] Avoid second map lookup in mergeArch. NFC (#84687)

Instead of using find and then inserting into the map, we can use
insert and fix up the version using the iterator if the insert fails.


  Commit: 67ef4ae2c3cc4e2700e873aa6f251b70a09c3fea
      https://github.com/llvm/llvm-project/commit/67ef4ae2c3cc4e2700e873aa6f251b70a09c3fea
  Author: James Newling <james.newling at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir

  Log Message:
  -----------
  [MLIR][Tensor,MemRef] Fold expand_shape and collapse_shape if identity (#80658)

Before: op verifiers failed if the input and output ranks were the same
(i.e. no expansion or collapse). This behavior requires users of these
shape ops to verify manually that they are not creating identity
versions of these ops every time they build them -- problematic. This PR
removes this strict verification, and introduces folders for the the
identity cases.

The PR also removes the special case handling of rank-0 tensors for
expand_shape and collapse_shape, there doesn't seem to be any reason to
treat them differently.


  Commit: 672fc89347b831f2845e7825affc30c865758270
      https://github.com/llvm/llvm-project/commit/672fc89347b831f2845e7825affc30c865758270
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [hwasan] factor out selective instrumentation logic (#84408)

sanitizeFunction is long enough already.


  Commit: 41658bafb70680d0aafb7e79c7f694b8c2a5217d
      https://github.com/llvm/llvm-project/commit/41658bafb70680d0aafb7e79c7f694b8c2a5217d
  Author: David Benjamin <davidben at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/include/__hash_table
    A libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.increment.pass.cpp

  Log Message:
  -----------
  [libc++][hardening] Add iterator validity checks on unordered containers (#80230)

These are simply null checks, so use `_LIBCPP_ASSERT_NON_NULL`. This
allows us to restore a bunch of the old debug tests. I've extended them
to also cover the const iterators, as those run through different
codepaths than the const ones.

This does the easier (and less important) half of #80212.


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

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

  Log Message:
  -----------
  [mlir][Transforms] Use correct listener in dialect conversion (#84861)

There was a typo in the dialect conversion: `RewriterBase::Listener`
should be used instead of `ForwardingListener`.


  Commit: 26722f5b61575fb0e58ff2933e7bea03353ff441
      https://github.com/llvm/llvm-project/commit/26722f5b61575fb0e58ff2933e7bea03353ff441
  Author: Sayan Saha <sayan.jubiee at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [MLIR] Fix incorrect memref::DimOp canonicalization, add tensor::DimOp canonicalization (#84225)

The current canonicalization of `memref.dim` operating on the result of
`memref.reshape` into `memref.load` is incorrect as it doesn't check
whether the `index` operand of `memref.dim` dominates the source
`memref.reshape` op. It always introduces `memref.load` right after
`memref.reshape` to ensure the `memref` is not mutated before the
`memref.load` call. As a result, the following error is observed:

```
$> mlir-opt --canonicalize input.mlir

func.func @reshape_dim(%arg0: memref<*xf32>, %arg1: memref<?xindex>, %arg2: index) -> index {
    %c4 = arith.constant 4 : index
    %reshape = memref.reshape %arg0(%arg1) : (memref<*xf32>, memref<?xindex>) -> memref<*xf32>
    %0 = arith.muli %arg2, %c4 : index
    %dim = memref.dim %reshape, %0 : memref<*xf32>
    return %dim : index
  }
```

results in:

```
dominator.mlir:22:12: error: operand #1 does not dominate this use
    %dim = memref.dim %reshape, %0 : memref<*xf32>
           ^
dominator.mlir:22:12: note: see current operation: %1 = "memref.load"(%arg1, %2) <{nontemporal = false}> : (memref<?xindex>, index) -> index
dominator.mlir:21:10: note: operand defined here (op in the same block)
    %0 = arith.muli %arg2, %c4 : index
```

Properly fixing this issue requires a dominator analysis which is
expensive to run within a canonicalization pattern. So, this patch fixes
the canonicalization pattern by being more strict/conservative about the
legality condition in which we perform this canonicalization.
The more general pattern is also added to `tensor.dim`. Since tensors are
immutable we don't need to worry about where to introduce the
`tensor.extract` call after canonicalization.


  Commit: e40cabfea48c617fe6efaace588e80474bc80fe8
      https://github.com/llvm/llvm-project/commit/e40cabfea48c617fe6efaace588e80474bc80fe8
  Author: lifengxiang1025 <lifengxiang.1025 at bytedance.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    A llvm/test/ThinLTO/X86/summary-matching.ll

  Log Message:
  -----------
  [MemProf] Match function's summary and definition strictly (#83665)

Problem description:
https://github.com/llvm/llvm-project/pull/81008#issuecomment-1933468520
Solution:
https://github.com/llvm/llvm-project/pull/81008#issuecomment-1934192548
(choose plan2)


  Commit: e4a546756c15a609be2f65d99c8b2be13ca9ddbf
      https://github.com/llvm/llvm-project/commit/e4a546756c15a609be2f65d99c8b2be13ca9ddbf
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/SourceMgrUtils.h

  Log Message:
  -----------
  [MLIR][LSP][NFC] Fix a header guard (#84862)

This header guard is wrong and conflicts with the one from Transport.h


  Commit: a83f8e0314fcdda162e54cbba1c9dcf230dff093
      https://github.com/llvm/llvm-project/commit/a83f8e0314fcdda162e54cbba1c9dcf230dff093
  Author: David Benjamin <davidben at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/include/__iterator/bounded_iter.h
    A libcxx/test/libcxx/containers/views/views.span/assert.iterator-indexing.pass.cpp
    R libcxx/test/libcxx/containers/views/views.span/debug.iterator-indexing.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
    A libcxx/test/libcxx/strings/string.view/string.view.iterators/assert.iterator-indexing.pass.cpp
    R libcxx/test/libcxx/strings/string.view/string.view.iterators/debug.iterator-indexing.pass.cpp

  Log Message:
  -----------
  [libc++][hardening] Check bounds on arithmetic in __bounded_iter (#78876)

Previously, `__bounded_iter` only checked `operator*`. It allowed the
pointer to go out of bounds with `operator++`, etc., and relied on
`operator*` (which checked `begin <= current < end`) to handle
everything. This has several unfortunate consequences:

First, pointer arithmetic is UB if it goes out of bounds. So by the time
`operator*` checks, it may be too late and the optimizer may have done
something bad. Checking both operations is safer.

Second, `std::copy` and friends currently bypass bounded iterator
checks. I think the only hope we have to fix this is to key on `iter +
n` doing a check. See #78771 for further discussion. Note this PR is not
sufficient to fix this. It adds the output bounds check, but ends up
doing it after the `memmove`, which is too late.

Finally, doing these checks is actually *more* optimizable. See #78829,
which is fixed by this PR. Keeping the iterator always in bounds means
`operator*` can rely on some invariants and only needs to check `current
!= end`. This aligns better with common iterator patterns, which use
`!=` instead of `<`, so it's easier to delete checks with local
reasoning.

See https://godbolt.org/z/vEWrWEf8h for how this new `__bounded_iter`
impacts compiler output. The old `__bounded_iter` injected checks inside
the loops for all the `sum()` functions, which not only added a check
inside a loop, but also impeded Clang's vectorization. The new
`__bounded_iter` allows all the checks to be optimized out and we emit
the same code as if it wasn't here.

Not everything is ideal however. `add_and_deref` ends up emitting two
comparisons now instead of one. This is because a missed optimization in
Clang. I've filed #78875 for that. I suspect (with no data) that this PR
is still a net performance win because impeding ranged-for loops is
particularly egregious. But ideally we'd fix the optimizer and make
`add_and_deref` fine too.

There's also something funny going on with `std::ranges::find` which I
have not yet figured out yet, but I suspect there are some further
missed optimization opportunities.

Fixes #78829.

(CC @danakj)


  Commit: d02d8df0cd797342f7042440e07133e99ad5e0a2
      https://github.com/llvm/llvm-project/commit/d02d8df0cd797342f7042440e07133e99ad5e0a2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Implement _Complex negation

Factor complex unary operations into their own function.


  Commit: 71590e7d1ec29c3ba9f6f5b4cfe36345a7ccd25b
      https://github.com/llvm/llvm-project/commit/71590e7d1ec29c3ba9f6f5b4cfe36345a7ccd25b
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    A llvm/test/MC/Disassembler/X86/apx/ctest.txt
    A llvm/test/MC/X86/apx/ctest-att.s
    A llvm/test/MC/X86/apx/ctest-intel.s

  Log Message:
  -----------
  [X86][test] Add missing enc/dec tests for CTEST

These tests were accidentally missed in #83863


  Commit: e89b4bcf32b8f6ddce9d7e95659e9f092a55c021
      https://github.com/llvm/llvm-project/commit/e89b4bcf32b8f6ddce9d7e95659e9f092a55c021
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86.td
    M llvm/test/CodeGen/X86/bypass-slow-division-tune.ll

  Log Message:
  -----------
  [X86] Remove SlowDivide tuning from GRTTuning (#84676)

The DIV32/64 throughput was improved since Goldmont in the Atom
architecture. The Alder Lake-E shows similar number too. So we shouldn't
add such tunings to Gracemont and later products.

Checked from Agner Fog's table and uops.info.


  Commit: f95710c76519c611868c16f92586b6d0baedad54
      https://github.com/llvm/llvm-project/commit/f95710c76519c611868c16f92586b6d0baedad54
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/lib/Evaluate/fold-implementation.h

  Log Message:
  -----------
  [flang] Fixed compiler build on glibc 2.17 systems after 3149c93. (#84873)


  Commit: 1d900e298449d43547312364751f730b7a0d07d1
      https://github.com/llvm/llvm-project/commit/1d900e298449d43547312364751f730b7a0d07d1
  Author: Dhruv Chawla (work) <dhruvc at nvidia.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-shufflevec-undef-mask-elt.mir
    M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
    M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
    M llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/arm64-dup.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/bswap.ll
    M llvm/test/CodeGen/AArch64/fabs.ll
    M llvm/test/CodeGen/AArch64/faddsub.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/fcopysign.ll
    M llvm/test/CodeGen/AArch64/fcvt.ll
    M llvm/test/CodeGen/AArch64/fdiv.ll
    M llvm/test/CodeGen/AArch64/fexplog.ll
    M llvm/test/CodeGen/AArch64/fminimummaximum.ll
    M llvm/test/CodeGen/AArch64/fminmax.ll
    M llvm/test/CodeGen/AArch64/fmla.ll
    M llvm/test/CodeGen/AArch64/fmul.ll
    M llvm/test/CodeGen/AArch64/fneg.ll
    M llvm/test/CodeGen/AArch64/fpext.ll
    M llvm/test/CodeGen/AArch64/fpow.ll
    M llvm/test/CodeGen/AArch64/fpowi.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/fptrunc.ll
    M llvm/test/CodeGen/AArch64/frem.ll
    M llvm/test/CodeGen/AArch64/fsincos.ll
    M llvm/test/CodeGen/AArch64/fsqrt.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/llvm.exp10.ll
    M llvm/test/CodeGen/AArch64/load.ll
    M llvm/test/CodeGen/AArch64/sext.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    M llvm/test/CodeGen/AArch64/xtn.ll
    M llvm/test/CodeGen/AArch64/zext.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Avoid generating inserts for undefs when selecting G_BUILD_VECTOR (#84452)

It is safe to ignore undef values when selecting G_BUILD_VECTOR as undef
values choose random registers for copying values from.


  Commit: 1dd104db59d145d516a5e9cbb081ed01262961ef
      https://github.com/llvm/llvm-project/commit/1dd104db59d145d516a5e9cbb081ed01262961ef
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Implement _Complex Not unary operators

This only happens in C as far as I can tell. The complex varialbe
will have undergone a conversion to bool in C++ before reaching
the unary operator.


  Commit: 103469b5f7467d5df15799c2d8ad150729bc33bd
      https://github.com/llvm/llvm-project/commit/103469b5f7467d5df15799c2d8ad150729bc33bd
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Implement more easy _Complex unary operators


  Commit: 85f6669de59b2bb75c6848afa79de63be988721c
      https://github.com/llvm/llvm-project/commit/85f6669de59b2bb75c6848afa79de63be988721c
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    A flang/test/Lower/Intrinsics/sizeof.f90

  Log Message:
  -----------
  [flang] implement sizeof lowering for polymorphic entities (#84498)

For non polymorphic entities, semantics knows the type size and rewrite
sizeof to `"cst element size" * size(x)`.

Lowering has to deal with the polymorphic case where the type size must
be retrieved from the descriptor (note that the lowering implementation
would work with any entity, polymorphic on not, it is just not used for
the non polymorphic cases).


  Commit: 8e0f4b943fee13afc970ca8277a8e76b9da63b96
      https://github.com/llvm/llvm-project/commit/8e0f4b943fee13afc970ca8277a8e76b9da63b96
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/atomics-sm70.ll
    M llvm/test/CodeGen/NVPTX/atomics.ll

  Log Message:
  -----------
  [NVPTX] Add support for atomic add for f16 type (#84295)

atom.add.noftz.f16 is supported since SM 7.0


  Commit: 36dece001325bbf00129c48ddb3c83668b0ac36e
      https://github.com/llvm/llvm-project/commit/36dece001325bbf00129c48ddb3c83668b0ac36e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/test/MC/AMDGPU/gfx10_asm_mubuf.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_mubuf.txt

  Log Message:
  -----------
  [AMDGPU] Add missing GFX10 buffer format d16 hi instructions (#84809)


  Commit: 6bbe8a296ee91754d423c59c35727eaa624f7140
      https://github.com/llvm/llvm-project/commit/6bbe8a296ee91754d423c59c35727eaa624f7140
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 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:
  -----------
  [llvm-exegesis] Add thread IDs to subprocess memory names (#84451)

This patch adds the thread ID to the subprocess memory shared memory
names. This avoids conflicts for downstream consumers that might want to
consume llvm-exegesis across multiple threads, which would otherwise run
into conflicts due to the same PID running multiple instances.


  Commit: aefad27096bba513f06162fac2763089578f3de4
      https://github.com/llvm/llvm-project/commit/aefad27096bba513f06162fac2763089578f3de4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-12 (Tue, 12 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:
  -----------
  Revert "[llvm-exegesis] Add thread IDs to subprocess memory names (#84451)"

This reverts commit 6bbe8a296ee91754d423c59c35727eaa624f7140.

This breaks building LLVM on macOS, failing with

    llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp:146:33: error: out-of-line definition of 'setupAuxiliaryMemoryInSubprocess' does not match any declaration in 'llvm::exegesis::SubprocessMemory'
    Expected<int> SubprocessMemory::setupAuxiliaryMemoryInSubprocess(


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/underlying-object-loop-varying-phi.ll

  Log Message:
  -----------
  [ValueTracking] Treat phi as underlying obj when not decomposing further (#84339)

At the moment, getUnderlyingObjects simply continues for phis that do
not refer to the same underlying object in loops, without adding them to
the list of underlying objects, effectively ignoring those phis.

Instead of ignoring those phis, add them to the list of underlying
objects. This fixes a miscompile where LoopAccessAnalysis fails to
identify a memory dependence, because no underlying objects can be found
for a set of memory accesses.

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

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


  Commit: 939f038296e601abd9143955f1b347aee1e99c06
      https://github.com/llvm/llvm-project/commit/939f038296e601abd9143955f1b347aee1e99c06
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/test/HLFIR/element-addr.fir
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90

  Log Message:
  -----------
  [flang] lower vector subscripted polymorphic designators (#84778)

A mold argument need to be added to the hlfir.element_addr and set in
lowering so that when the hlfir.element_addr need to be turned into an
hlfir.elemental operation because the designator must be turned into a
value, the mold can be set on the hlfir.elemental to later allocate the
temporary according the the dynamic type.

This situation happens whenever the vector subscripted polymorphic
designator does not appear as an assignment left-hand side, or as an
IO-input item.


I initially thought retrieving the mold would be tricky if the dynamic
type of the designator was set by a part-ref of the right of the vector
subscripts ("array(vector)%polymorphic_comp"), but this turned out to be
impossible because:
1. A derived type component can be polymorphic only if it has the
POINTER or ALLOCATABLE attribute (F2023 C708).
2. Vector-subscripted part are ranked and F2023 C919 prohibits any
part-ref on the right of the rank part to have the POINTER or
ALLOCATABLE attribute.

=> If a vector subscripted designator is polymorphic, the vector
subscripted part is the rightmost part, and the mold is the base of the
vector subscripted part. This makes the retrieval of the mold easy in
lowering. The mold argument is always set to be the base of the vector
subscripted part when lowering the vector subscripted part, and it is
removed at the end of the designator lowering if the designator is not
polymorphic. This way there is no need to find back the mold from the
inside of the hlfir.element_addr body.


  Commit: 9d16e79aac09e68c46b89cbbad9fe7edd915b8c3
      https://github.com/llvm/llvm-project/commit/9d16e79aac09e68c46b89cbbad9fe7edd915b8c3
  Author: Dani <daniel.kiss at arm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [AArch64] Fix COMPILER_RT_HAS_AUXV for builtins. (#84816)

COMPILER_RT_HAS_AUXV is used now in builtins so the test need to be in
the builtin-config-ix.cmake too.


  Commit: 368db5683bb9f8c619a8a6d3d15522429ef615c6
      https://github.com/llvm/llvm-project/commit/368db5683bb9f8c619a8a6d3d15522429ef615c6
  Author: Luke Weiler <163067703+lwmaia at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/source/Symbol/Symtab.cpp

  Log Message:
  -----------
  [lldb] Fix build break on windows (#84863)

This is a one line fix for a Windows specific (I believe) build break.

The build failure looks like this:
`D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): error C2440:
'<function-style-cast>': cannot convert from 'lldb_private::ConstString'
to 'llvm::StringRef'
D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): note:
'llvm::StringRef::StringRef': ambiguous call to overloaded function
D:\a\_work\1\s\llvm\include\llvm/ADT/StringRef.h(840): note: could be
'llvm::StringRef::StringRef(llvm::StringRef &&)'
D:\a\_work\1\s\llvm\include\llvm/ADT/StringRef.h(104): note: or
'llvm::StringRef::StringRef(std::string_view)'
D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): note: while trying to
match the argument list '(lldb_private::ConstString)'
D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): error C2672:
'std::multimap<llvm::StringRef,const lldb_private::Symbol
*,std::less<llvm::StringRef>,std::allocator<std::pair<const
llvm::StringRef,const lldb_private::Symbol *>>>::emplace': no matching
overloaded function found
C:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Tools\MSVC\14.37.32822\include\map(557): note:
could be
'std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const
llvm::StringRef,const lldb_private::Symbol *>>>>
std::multimap<llvm::StringRef,const lldb_private::Symbol
*,std::less<llvm::StringRef>,std::allocator<std::pair<const
llvm::StringRef,const lldb_private::Symbol *>>>::emplace(_Valty &&...)'
`

The StringRef constructor here is intended to take a ConstString object,
which I assume is implicitly converted to a std::string_view by
compilers other than Visual Studio's. To fix the VS build I made the
StringRef initialization more explicit, as you can see in the diff.


  Commit: a3b52509d522442915a51d8aabcec1df49e95b23
      https://github.com/llvm/llvm-project/commit/a3b52509d522442915a51d8aabcec1df49e95b23
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/test/Transforms/InstCombine/icmp-range.ll

  Log Message:
  -----------
  [InstSimpliy] Use range attribute to simplify comparisons (#84627)

Use the new range attribute from https://github.com/llvm/llvm-project/pull/84617
to simplify comparisons where both sides have range information.


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

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/test/Transforms/ArgumentPromotion/aliasing-and-non-aliasing-loads-with-clobber.ll

  Log Message:
  -----------
  [ArgPromotion] Remove incorrect TranspBlocks set for loads. (#84835)

The TranspBlocks set was used to cache aliasing decision for all
processed loads in the parent loop. This is incorrect, because each load
can access a different location, which means one load not being modified
in a block doesn't translate to another load not being modified in the
same block.

All loads access the same underlying object, so we could perhaps use a
location without size for all loads and retain the cache, but that would
mean we loose precision.

For now, just drop the cache.

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

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


  Commit: 9228859c2a5aed307dc61edb4cfd6bee7b4c5949
      https://github.com/llvm/llvm-project/commit/9228859c2a5aed307dc61edb4cfd6bee7b4c5949
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/cmake/modules/TableGen.cmake
    M llvm/docs/CMake.rst
    M llvm/docs/GettingStarted.rst

  Log Message:
  -----------
  [CMake] Add tablegen job pool support (#84762)

Add the ability to set the number of tablegen jobs that can run in
parallel
similar to the LLVM_PARALLEL_[COMPILE|LINK]_JOBS options that already
exist.


  Commit: ce1fd9281707c2163728085d126ff83041e1db51
      https://github.com/llvm/llvm-project/commit/ce1fd9281707c2163728085d126ff83041e1db51
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py

  Log Message:
  -----------
  Update test past bdbad0d07bb600301cb324e87a6be37ca4af591a (#84889)


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

  Changed paths:
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp

  Log Message:
  -----------
  [RemoveDIs] Update DIBuilder to conditionally insert DbgRecords (#84739)

Have DIBuilder conditionally insert either debug intrinsics or DbgRecord
depending on the module's IsNewDbgInfoFormat flag. The insertion methods
now return a `DbgInstPtr` (a `PointerUnion<Instruction *, DbgRecord
*>`).

Add a unittest for both modes (I couldn't find an existing test testing
insertion behaviours specifically).

This patch changes the existing assumption that DbgRecords are only ever
inserted if there's an instruction to insert-before because clang
currently inserts debug intrinsics while CodeGening (like any other
instruction) meaning it'll try inserting to the end of a block without a
terminator. We already have machinery in place to maintain the
DbgRecords when a terminator is removed - these become "trailing
DbgRecords" which are re-attached when a new instruction is inserted.
All I've done is allow this state to occur while inserting DbgRecords
too, i.e., it's not only removing terminators that causes this valid
transient state, but inserting DbgRecords into incomplete blocks too.

The C API will be updated in follow up patches.

---

Note: this doesn't mean clang is emitting DbgRecords yet, because the
modules it creates are still always in the old debug mode. That will
come in a future patch.


  Commit: 19266ca389e3fc3bce9d24c074b836d6e69873ce
      https://github.com/llvm/llvm-project/commit/19266ca389e3fc3bce9d24c074b836d6e69873ce
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Target/Cpp/conditional.mlir

  Log Message:
  -----------
  [mlir][EmitC] Add an `emitc.conditional` operator (#84883)

This adds an `emitc.conditional` operation for the ternary conditional
operator. Furthermore, this adds a converion from `arith.select` to the
new op.


  Commit: 23ffb2bdb96cf5a8eebce86b1ab21acf88979661
      https://github.com/llvm/llvm-project/commit/23ffb2bdb96cf5a8eebce86b1ab21acf88979661
  Author: Dave Abrahams <dabrahams at adobe.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cmake/Modules/CMakePolicy.cmake

  Log Message:
  -----------
  [CMake] Enable new policy for CMAKE_MSVC_DEBUG_INFORMATION_FORMAT (#82371)


  Commit: 5a100551d5652da586800c67edd4ccb3b18b10dc
      https://github.com/llvm/llvm-project/commit/5a100551d5652da586800c67edd4ccb3b18b10dc
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/test/Transforms/InstCombine/exp2-1.ll

  Log Message:
  -----------
  [Analysis] Treat ldexpf() as missing on MinGW (#84748)

The function does exist, but it is a plain wrapper over regular ldexp(),
so there's no benefit in calling it over regular ldexp(). Therefore,
treat it as missing.

This fixes builds of Wine for aarch64 with Clang in mingw mode, which
regressed recently in 8d976c7f20fe8d92fe6f54af411594e15fac25ae. That
commit unlocked transforming calls to ldexp into ldexpf, for some
codepaths within Wine. Wine can use compilers in mingw mode without
the regular mingw runtime libraries, which caused this to fail.
(However, if the transformation to use ldexpf() would have made sense,
the right fix would have been for Wine to provide a similar
ldexpf->ldexp wrapper just like mingw does.)


  Commit: 1b945e35a6a59fda436585f8fca12c82a27fc6a9
      https://github.com/llvm/llvm-project/commit/1b945e35a6a59fda436585f8fca12c82a27fc6a9
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cmake/Modules/CMakePolicy.cmake

  Log Message:
  -----------
  [CMake] Fix a typo in 23ffb2bdb96cf5a8eebce86b1ab21acf88979661


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

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [ADT] Add APIntOps::abds signed absolute difference and rename absdiff -> abdu (#84791)

When I created APIntOps::absdiff, I totally missed that we already have ISD::ABDS/ABDU nodes, and we use this term in other places/targets as well.

I've added the APIntOps::abds implementation and renamed APIntOps::absdiff to APIntOps::abdu.

Given that APIntOps::absdiff is so young I don't think we need to create a deprecation wrapper, but I can if anyone thinks it important.

I'll do a KnownBits rename patch after this.


  Commit: a7ef83f005beeb3b1c7f34d44167b5abc5b6c4e5
      https://github.com/llvm/llvm-project/commit/a7ef83f005beeb3b1c7f34d44167b5abc5b6c4e5
  Author: Dani <daniel.kiss at arm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M compiler-rt/lib/builtins/aarch64/sme-abi.S

  Log Message:
  -----------
  [AArch64][SME] Add BTI and No Exec Stack markers to sme-abi.S (#84895)

Adding BTI landing pads compiler-rt is built with -mbranch-protectoin.
Tabulators are changed to 2 spaces for consistency.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/SemaCXX/overload-bitint.cpp

  Log Message:
  -----------
  Add bit-precise overloads for builtin operators  (#84755)

We previously were not adding them to the candidate set and so use of a
bit-precise integer as a class member could lead to ambiguous overload
sets.

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


  Commit: 4e3310a81391fbc283d263715a68d8732e73d01d
      https://github.com/llvm/llvm-project/commit/4e3310a81391fbc283d263715a68d8732e73d01d
  Author: mikaoP <raul.penacoba at bsc.es>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/bug60602.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_reduction_task_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/metadirective_device_arch_codegen.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_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_reduction_task_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_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.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/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_reduction_task_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_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen.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

  Log Message:
  -----------
  [clang] Fix OMPT ident flag in combined distribute parallel for pragma (#80987)

Authored-by: Raúl Peñacoba Veigas <rpenacob at bsc.es>


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

  Changed paths:
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [Support] Add KnownBits::abds signed absolute difference and rename absdiff -> abdu (#84897)

When I created KnownBits::absdiff, I totally missed that we already have ISD::ABDS/ABDU nodes, and we use this term in other places/targets as well.

I've added the KnownBits::abds implementation and renamed KnownBits::absdiff to KnownBits::abdu.

Followup to #84791


  Commit: b5a16b6d8ad51df7c14cd696f3dc1f98b6984905
      https://github.com/llvm/llvm-project/commit/b5a16b6d8ad51df7c14cd696f3dc1f98b6984905
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    A clang/test/OpenMP/attr-assume.cpp

  Log Message:
  -----------
  [Clang] [Parser] Support [[omp::assume]] (#84582)

This pr implements the `[[omp::assume]]` spelling for the `__attribute__((assume))` attribute. It does not change anything about how that attribute is handled by the rest of Clang.


  Commit: 80ab8234ac309418637488b97e0a62d8377b2ecf
      https://github.com/llvm/llvm-project/commit/80ab8234ac309418637488b97e0a62d8377b2ecf
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CheckerContext.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:
  -----------
  [analyzer] Accept C library functions from the `std` namespace (#84469)

Previously, the function `isCLibraryFunction()` and logic relying on it
only accepted functions that are declared directly within a TU (i.e. not
in a namespace or a class). However C++ headers like <cstdlib> declare
many C standard library functions within the namespace `std`, so this
commit ensures that functions within the namespace `std` are also
accepted.

After this commit it will be possible to match functions like `malloc`
or `free` with `CallDescription::Mode::CLibrary`.

---------

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 0b2c24e0b33236c1dec39fe8b007b4c6aeb170b3
      https://github.com/llvm/llvm-project/commit/0b2c24e0b33236c1dec39fe8b007b4c6aeb170b3
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/range.c

  Log Message:
  -----------
  Fix warning message when using negative complex range options. (#84567)

When `-fcx-no-limited-range` or` -fno-cx-fortran-rules` follows another
complex range option on the command line, it will trigger a warning with
empty message.
`warning: overriding '-fcx-fortran-rules' option with ''
[-Woverriding-option]`
or
`warning: overriding '-fcx-limited-range' option with ''
[-Woverriding-option]`
This patch fixes that.


  Commit: 629afd4dea1860755b4b7c05bb48538b8710c9d1
      https://github.com/llvm/llvm-project/commit/629afd4dea1860755b4b7c05bb48538b8710c9d1
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [flang][Lower] Fix use-after-free with TypeRange (#84369)

TypeRange is an iterator range, it does not own storage spanned by the
iterators. When using TypeRange, make sure that the actual contents
don't "expire" while the range is in use.

This was detected by address sanitizer.


  Commit: c7f1a987a66a1ba0865ecc18adbe4dc8dbc0c788
      https://github.com/llvm/llvm-project/commit/c7f1a987a66a1ba0865ecc18adbe4dc8dbc0c788
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [OpenCL] Elaborate about BIenqueue_kernel expansion; NFC


  Commit: 871086bf7fad42d610bfe02224662bdc71494a70
      https://github.com/llvm/llvm-project/commit/871086bf7fad42d610bfe02224662bdc71494a70
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M flang/include/flang/Parser/char-block.h
    M flang/runtime/buffer.h
    M flang/runtime/temporary-stack.cpp

  Log Message:
  -----------
  [flang] Avoid passing null pointers to nonnull parameters (#84785)

Certain functions in glibc have "nonnull" attributes on pointer
parameters (even in cases where passing a null pointer should be handled
correctly). There are a few cases of such calls in flang: memcmp and
memcpy with the length parameter set to 0.

Avoid passing a null pointer to these functions, since the conflict with
the nonnull attribute could cause an undefined behavior.

This was detected by the undefined behavior sanitizer.


  Commit: bde7a6b791872b63456cb4e50e63046728a65196
      https://github.com/llvm/llvm-project/commit/bde7a6b791872b63456cb4e50e63046728a65196
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [clang-repl] Expose CreateExecutor() and ResetExecutor() in extended Interpreter interface (#84460)

IncrementalExecutor is an implementation detail of the Interpreter. In
order to test extended features properly, we must be able to setup and
tear down the executor manually.


  Commit: ee137e234cb70e24dbfd8903904c5d5eceda3fb0
      https://github.com/llvm/llvm-project/commit/ee137e234cb70e24dbfd8903904c5d5eceda3fb0
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  Update BUILD.bazel for 80ab8234ac309418637488b97e0a62d8377b2ecf (#84908)


  Commit: f03aaa3c0cca77c15adfbb4544f296bc0441f6fc
      https://github.com/llvm/llvm-project/commit/f03aaa3c0cca77c15adfbb4544f296bc0441f6fc
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [clang] Silence -Wlogical-op-parentheses in Clang.cpp (NFC)

llvm-project/clang/lib/Driver/ToolChains/Clang.cpp:2721:49:
error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
        !Option.empty() && !NegateFortranOption && !NegateLimitedOption)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
llvm-project/clang/lib/Driver/ToolChains/Clang.cpp:2721:49:
note: place parentheses around the '&&' expression to silence this warning
        !Option.empty() && !NegateFortranOption && !NegateLimitedOption)
                                                ^
        (                                                              )
1 error generated.


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

  Changed paths:
    A llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-lifetime-ends.ll

  Log Message:
  -----------
  [Matrix] Add tests showing mis-compile with lifetime.end and fusion.

Add a set of tests showing miscompiles due to multiply fusion
introducing loads to dead objects after lifetime.end.


  Commit: ffd31c5e92da9da37cf57ca653e22db38b5af9a3
      https://github.com/llvm/llvm-project/commit/ffd31c5e92da9da37cf57ca653e22db38b5af9a3
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/unittests/Interpreter/CMakeLists.txt

  Log Message:
  -----------
  Fix build after #84460: link LLVMTestingSupport explicitly in clang unittest

This is supposed to fix the DYLIB-enabled build, i.e. https://lab.llvm.org/buildbot/#/builders/196


  Commit: 9f7ed36f92c304050d401f00b013186de15130e8
      https://github.com/llvm/llvm-project/commit/9f7ed36f92c304050d401f00b013186de15130e8
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    A clang/test/CodeGen/SystemZ/atomic_fp_load_store.c
    M clang/test/CodeGen/atomic.c
    M clang/test/CodeGen/c11atomics-ios.c
    M clang/test/OpenMP/atomic_read_codegen.c
    M clang/test/OpenMP/atomic_write_codegen.c

  Log Message:
  -----------
  Don't do casting of atomic FP loads/stores in FE. (#83446)

The casting of FP atomic loads and stores were always done by the
front-end, even though the AtomicExpandPass will do it if the target
requests it (which is the default).

This patch removes this casting in the front-end entirely.


  Commit: afd47587039e5a93919eb962cfe3a230cc91c504
      https://github.com/llvm/llvm-project/commit/afd47587039e5a93919eb962cfe3a230cc91c504
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    R llvm/test/CodeGen/NVPTX/atomics-sm70.ll
    M llvm/test/CodeGen/NVPTX/atomics.ll

  Log Message:
  -----------
  Revert "[NVPTX] Add support for atomic add for f16 type" (#84918)

Reverts llvm/llvm-project#84295 due to breakages.


  Commit: f8fab2126ffab713f4ab4619360b6941be6d4e35
      https://github.com/llvm/llvm-project/commit/f8fab2126ffab713f4ab4619360b6941be6d4e35
  Author: Kupa-Martin <84517188+Kupa-Martin at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/AST/Expr.cpp
    A clang/test/Sema/enum-constant-type.cpp
    M clang/test/Sema/warn-compare-enum-types-mismatch.c

  Log Message:
  -----------
  [Clang][Sema] Fix type of enumerators in incomplete enumerations (#84068)

Enumerators dont have the type of their enumeration before the closing
brace. In these cases Expr::getEnumCoercedType() incorrectly returned
the enumeration type.

Introduced in PR #81418
Fixes #84712


  Commit: a4aac22683a44264bb3883242b1c6b711f534e8b
      https://github.com/llvm/llvm-project/commit/a4aac22683a44264bb3883242b1c6b711f534e8b
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
    A flang/test/Lower/OpenMP/threadprivate-host-association.f90

  Log Message:
  -----------
  [Flang][OpenMp] Fix to threadprivate not working with host-association. (#74966)

This patch considers host-associated variables to generate threadprivate
Ops.

Fixes: #60763 #84561


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

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/loops-with-indirect-reads-and-writes.ll
    M llvm/test/Analysis/LoopAccessAnalysis/underlying-object-loop-varying-phi.ll

  Log Message:
  -----------
  [LAA] Fix typo IndidrectUnsafe -> IndirectUnsafe.

Fix type in textual analysis output.


  Commit: 2cae13d60590c999c37828d709ff4ba58e5f261b
      https://github.com/llvm/llvm-project/commit/2cae13d60590c999c37828d709ff4ba58e5f261b
  Author: bvlgah <octopus.busts_0w at icloud.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DominanceFrontier.h

  Log Message:
  -----------
  [DominanceFrontierBase] Fix doc of compare()'s  return value. (#81352)

This is a trivial fix ( I guess it has not been noticed because of no
use). Currently, the doc says the function returns `true` if two
instances of `DominanceFrontierBase` matches, otherwise `false` is
returned. I have checked the implementation


https://github.com/llvm/llvm-project/blob/9308d6688c673606fee1625d777a52539ae72015/llvm/include/llvm/Analysis/DominanceFrontierImpl.h#L71-L94

which examines whether two dominance frontier mappings are equal, and
the actual value it returns contradicts the description in the doc.


  Commit: 0aefd702f6c5346f216d29c704c4d0e4ec7397ac
      https://github.com/llvm/llvm-project/commit/0aefd702f6c5346f216d29c704c4d0e4ec7397ac
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

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


  Commit: 15f3f446c504d1bb85282fb3bd98db6eab69829d
      https://github.com/llvm/llvm-project/commit/15f3f446c504d1bb85282fb3bd98db6eab69829d
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/ADCE.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/ValueTest.cpp
    M llvm/unittests/Transforms/Utils/DebugifyTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  [RemoveDIs][NFC] Rename common interface functions for DPValues->DbgRecords (#84793)

As part of the effort to rename the DbgRecord classes, this patch
renames the widely-used functions that operate on DbgRecords but refer
to DbgValues or DPValues in their names to refer to DbgRecords instead;
all such functions are defined in one of `BasicBlock.h`,
`Instruction.h`, and `DebugProgramInstruction.h`.

This patch explicitly does not change the names of any comments or
variables, except for where they use the exact name of one of the
renamed functions. The reason for this is reviewability; this patch can
be trivially examined to determine that the only changes are direct
string substitutions and any results from clang-format responding to the
changed line lengths. Future patches will cover renaming variables and
comments, and then renaming the classes themselves.


  Commit: 0fe271c35368a9190661bcca87101fc0916d6a8b
      https://github.com/llvm/llvm-project/commit/0fe271c35368a9190661bcca87101fc0916d6a8b
  Author: Fanbo Meng <fanbo.meng at ibm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Support/AutoConvert.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Add missing include header to AutoConvert.cpp to fix build (#84909)

ba13fa2a5d57581bff1a7e9322234af30f4882f6
added usages of `errnoAsErrorCode()` to AutoConvert.cpp, need to include
Error.h header to fix build failure.


  Commit: f32b04d4ea91ad1018c25a1d4178cc4392d34968
      https://github.com/llvm/llvm-project/commit/f32b04d4ea91ad1018c25a1d4178cc4392d34968
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    R clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn

  Log Message:
  -----------
  Revert "[analyzer] Accept C library functions from the `std` namespace" (#84926)

Reverts llvm/llvm-project#84469 because it causes buildbot failures.
I'll examine them and re-submit the change.


  Commit: 083da46ff07170471f8bb9ed2947f6ebc725670b
      https://github.com/llvm/llvm-project/commit/083da46ff07170471f8bb9ed2947f6ebc725670b
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/test/ClangScanDeps/working-directory-option.c

  Log Message:
  -----------
  [clang][deps] Fix dependency scanning with -working-directory (#84525)

Stop overriding -working-directory to CWD during argument parsing, which
should no longer necessary after we set the VFS working directory, and
set FSOpts correctly after parsing arguments so that working-directory
behaves correctly.


  Commit: 3238b92142c8fb70a1b2c72ee06bb47d57229dc9
      https://github.com/llvm/llvm-project/commit/3238b92142c8fb70a1b2c72ee06bb47d57229dc9
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [LoopSimplifyCFG] Drop no longer needed DependenceAnalysis.h include


  Commit: 4d0f79e346ceb0ddb25a94053c612a5b34a72100
      https://github.com/llvm/llvm-project/commit/4d0f79e346ceb0ddb25a94053c612a5b34a72100
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/freeze-binary.ll

  Log Message:
  -----------
  Pre commit test cases SRL/SRA support in canCreateUndefOrPoison. NFC

Add test cases to show that we can't push freeze through SRA/SRL with
'exact' flag when there are multiple uses.


  Commit: beba307c5bc206168bdea3b893e02ea31579fe62
      https://github.com/llvm/llvm-project/commit/beba307c5bc206168bdea3b893e02ea31579fe62
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/pr84709.ll

  Log Message:
  -----------
  [LSR] Clear SCEVExpander before deleting phi nodes

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


  Commit: 08dd645c15a091a53313e278d8f3c090e7c385d1
      https://github.com/llvm/llvm-project/commit/08dd645c15a091a53313e278d8f3c090e7c385d1
  Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll

  Log Message:
  -----------
  [RISC-V] Bad immediate value for Zcmp instructions with E extension (#84925)

When we are using the Zcmp extension together with the E extension in
32-bit mode and we need to spill both callee-saved registers as well as
needing a couple of 32-bit stack slots, we emit a meaningless stack
adjustment with cm.push/cm.popret. Furthermore this leads to the stack
slot for the ra being clobbered so control returns to a random location.

This is just a pre-commit test so that the PR for the fix shows the
difference in code generation.


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

  Changed paths:
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/integer_to_string_test.cpp

  Log Message:
  -----------
  [libc] fix another build failure from using limits.h (#84827)

My GCC build is failing with issues similar why we added our own. Looks
like
we missed one spot. See also:

commit 72ce62941579 ("[libc] Add C23 limits.h header. (#78887)")


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

  Changed paths:
    M libc/docs/c23.rst
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/test/include/stdbit_test.cpp

  Log Message:
  -----------
  [libc] implement the final macros for stdbit.h support (#84798)


Relevant sections of n3096:
- 7.18.1p1
- 7.18.2


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

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/Mapping.cpp

  Log Message:
  -----------
  [Libomptarget] Use NVPTX lane id intrinsic in DeviceRTL (#84928)

Summary:
We are currently taking the lower 5 bites of the thread ID as the warp
ID. This doesn't work in non-1D grids and is also slower than just using
the dedicated hardware register.


  Commit: 392436383a52bc5e188bd28bec5bc71b3cb5384a
      https://github.com/llvm/llvm-project/commit/392436383a52bc5e188bd28bec5bc71b3cb5384a
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc] fix typo in stdbit.h macro spec files (#84780)


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

  Changed paths:
    M libc/src/__support/GPU/nvptx/utils.h

  Log Message:
  -----------
  [libc] Fix lane-id utility function not using built-in (#84902)

Summary:
Previously we got the lane-id from taking the global thread ID and
taking off the bottom 5 bits. This works but is inefficient compared to
the NVPTX intrinsic simply dedicated to get this value.


  Commit: 261e5648e70b363aecf86acfcd7fb416eb48fb7b
      https://github.com/llvm/llvm-project/commit/261e5648e70b363aecf86acfcd7fb416eb48fb7b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/generic/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/GPU/utils.h
    M libc/test/integration/src/__support/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/scan_reduce.cpp

  Log Message:
  -----------
  [libc] Add utility functions for warp-level scan and reduction (#84866)

Summary:
The GPU uses a SIMT execution model. That means that each value actually
belongs to a group of 32 or 64 other lanes executing next to it. These
platforms offer some intrinsic fuctions to actually take elements from
neighboring lanes. With these we can do parallel scans or reductions.
These functions do not have an immediate user, but will be used in the
allocator interface that is in-progress and are generally good to have.
This patch is a precommit for these new utilitly functions.


  Commit: 0ebf511ad011a83022edb171e044c98d9d16b1fa
      https://github.com/llvm/llvm-project/commit/0ebf511ad011a83022edb171e044c98d9d16b1fa
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/math_extras.h
    M libc/src/stdbit/CMakeLists.txt
    M libc/src/stdbit/stdc_count_zeros_uc.cpp
    M libc/src/stdbit/stdc_count_zeros_ui.cpp
    M libc/src/stdbit/stdc_count_zeros_ul.cpp
    M libc/src/stdbit/stdc_count_zeros_ull.cpp
    M libc/src/stdbit/stdc_count_zeros_us.cpp
    M libc/src/stdbit/stdc_first_leading_one_uc.cpp
    M libc/src/stdbit/stdc_first_leading_one_ui.cpp
    M libc/src/stdbit/stdc_first_leading_one_ul.cpp
    M libc/src/stdbit/stdc_first_leading_one_ull.cpp
    M libc/src/stdbit/stdc_first_leading_one_us.cpp
    M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    M libc/src/stdbit/stdc_first_leading_zero_us.cpp
    M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_one_us.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/math_extras_test.cpp

  Log Message:
  -----------
  [libc] move non <bit> functions to math_extras (#84818)

As per TODOs added in

https://github.com/llvm/llvm-project/pull/84035/commits/48b0bc837085a38ff1de33010d9222363f70238f.


  Commit: 87dc068280aaddc98acb7865ae3df1d248f4a170
      https://github.com/llvm/llvm-project/commit/87dc068280aaddc98acb7865ae3df1d248f4a170
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/tools/debugserver/source/RNBSocket.cpp

  Log Message:
  -----------
  [lldb] [debugserver] Handle interrupted reads correctly (#84872)

The first half of this patch is a long-standing annoyance, if I attach
to debugserver with lldb while it is waiting for an lldb connection, the
syscall is interrupted and it doesn't retry, debugserver exits
immediately.

The second half is a request from another tool that is communicating
with debugserver, that we retry reads on our sockets in the same way. I
haven't dug in to the details of how they're communicating that this is
necessary, but the best I've been able to find reading the POSIX API
docs, this is fine.

rdar://117113298


  Commit: fa1d13590cfd0be77c452cca929bc32efb456627
      https://github.com/llvm/llvm-project/commit/fa1d13590cfd0be77c452cca929bc32efb456627
  Author: Jake Egan <jake.egan at ibm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/lds-run-twice-absolute-md.ll
    M llvm/test/CodeGen/AMDGPU/lds-run-twice.ll

  Log Message:
  -----------
  [AIX][tests] Disable failing tests on AIX

These new tests are failing on the AIX bot because the -I option isn't supported.

Disable these tests for now until they can be fixed.


  Commit: 65eea3e5dc907c3059c57ab4d16770522c5b9fb0
      https://github.com/llvm/llvm-project/commit/65eea3e5dc907c3059c57ab4d16770522c5b9fb0
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libcxx/src/tzdb.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp

  Log Message:
  -----------
  [libc++][TZDB] Fixes parsing interleaved rules. (#84808)

Typically the rules in the database are contiguous, but that is not a
requirement. This fixes the case when they are not.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


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

  Changed paths:
    M libcxx/utils/ci/Dockerfile

  Log Message:
  -----------
  [libc++][CI] Installs tzdata package in Docker. (#84643)

This allows testing the time zone information in the CI. This is needed
to let https://github.com/llvm/llvm-project/pull/82108 pass the CI.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp

  Log Message:
  -----------
  [clang][ASTMatchers] Fix forEachArgumentWithParam* for deducing "this" operator calls (#84887)

This is a follow-up commit of #84446.
In this patch, I demonstrate that `forEachArgumentWithParam` and
`forEachArgumentWithParamType` did not correctly handle the presence of
the explicit object parameter for operator calls.

Prior to this patch, the matcher would skip the first (and only)
argument of the operator call if the explicit object param was used.

Note that I had to move the definition of
`isExplicitObjectMemberFunction`, to be declared before the matcher I
fix to be visible.

I also had to do some gymnastics for passing the language standard
version command-line flags to the invocation as
`matchAndVerifyResultTrue` wasn't really considered for non-c++11 code.
See the that it always prepends `-std=gnu++11` to the command-line
arguments. I workarounded it by accepting extra args, which get
appended, thus possibly overriding the hardcoded arguments.

I'm not sure if this qualifies for backporting to clang-18 (probably not
because its not a crash, but a semantic problem), but I figure it might
be useful for some vendors (like us).
But we are also happy to cherry-pick this fix to downstream. Let me know
if you want this to be backported or not.

CPP-5074


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

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

  Log Message:
  -----------
  [SelectionDAG] Replace some basic patterns in visitADDLike with SDPatternMatch (#84759)

Resolves #84745.

Based on SDPatternMatch introduced by #78654, this patch replaces some
of basic patterns in `visitADDLike` with corresponding patterns in
SDPatternMatch.

This patch only replaces original folds, instead of introducing new ones.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir

  Log Message:
  -----------
  AMDGPU: Add some more mfma hazard recognizer tests (#84727)


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

  Changed paths:
    M libcxx/include/ios
    M libcxx/src/ios.cpp
    A libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp

  Log Message:
  -----------
  [libc++] Improves UB handling in ios_base destructor. (#76525)

Destroying an ios_base object before it is properly initialized is
undefined behavior. Unlike typical C++ classes the initialization is not
done in the constructor, but in a dedicated init function. Due to
virtual inheritance of the basic_ios object in ostream and friends this
undefined behaviour can be triggered when inheriting from classes that
can throw in their constructor and inheriting from ostream.

Use the __loc_ member of ios_base as sentinel to detect whether the
object has or has not been initialized.

Addresses https://github.com/llvm/llvm-project/issues/57964


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

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

  Log Message:
  -----------
  [X86] combineVectorPack - use APInt::truncSSat for PACKSS constant folding. NFC.

Unfortunately PACKUS can't use APInt::truncUSat


  Commit: 7bee91fadf8db90f71b458aaff4de0efa7dc23a0
      https://github.com/llvm/llvm-project/commit/7bee91fadf8db90f71b458aaff4de0efa7dc23a0
  Author: Diego A. Estrada Rivera <diego.estrada1 at proton.me>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp

  Log Message:
  -----------
  [analyzer][NFC] Turn NodeBuilderContext into a class (#84638)

>From issue #73088. I changed `NodeBuilderContext` into a class.
Additionally, there were some other mentions of the former being a
struct which I also changed into a class. This is my first time working
with an issue so I will be open to hearing any advice or changes that
need to be done.


  Commit: 93503aafcdc66837ecf220243aaa530c05c35895
      https://github.com/llvm/llvm-project/commit/93503aafcdc66837ecf220243aaa530c05c35895
  Author: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Utility/ConstString.h
    M lldb/source/Core/Mangled.cpp
    M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp

  Log Message:
  -----------
  Fix MSVC build issues (#84362)

MSVC fails when there is ambiguity (multiple options) around implicit
type conversion operators.

Make ConstString's conversion operator to string_view explicit to avoid
ambiguity with one to StringRef and remove an unused local variable that
MSVC also fails on.


  Commit: c4e517f59c086eafe2eb61d23197820f05be799c
      https://github.com/llvm/llvm-project/commit/c4e517f59c086eafe2eb61d23197820f05be799c
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 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/Sema/Sema.h
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
    M clang/test/CodeGenOpenCL/amdgpu-attrs.cl
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/SemaCUDA/amdgpu-attrs.cu
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    A llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-workgroups.ll
    A llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-workgroups_error_check.ll

  Log Message:
  -----------
  [AMDGPU] Adding the amdgpu_num_work_groups function attribute (#79035)

A new function attribute named amdgpu_num_work_groups is added. This
attribute, which consists of three integers, allows programmers to let
the compiler know the number of workgroups to be launched in each of the
three dimensions and do optimizations based on that information.

---------

Co-authored-by: Jun Wang <jun.wang7 at amd.com>


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll

  Log Message:
  -----------
  [X86] getFauxShuffleMask - recognise CONCAT(SUB0, SUB1) style patterns

Handles the INSERT_SUBVECTOR(INSERT_SUBVECTOR(UNDEF,SUB0,0),SUB1,N) pattern

Currently limited to v8i64/v8f64 cases as only AVX512 has decent cross lane 2-input shuffles, the plan is to relax this as I deal with some regressions


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

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    M lld/test/ELF/compress-sections-err.s
    A lld/test/ELF/compress-sections-special.s
    A lld/test/ELF/compress-sections.s
    A lld/test/ELF/linkerscript/compress-sections.s

  Log Message:
  -----------
  [ELF] Add --compress-section to compress matched non-SHF_ALLOC sections

--compress-sections <section-glib>=[none|zlib|zstd] is similar to
--compress-debug-sections but applies to broader sections without the
SHF_ALLOC flag. lld will report an error if a SHF_ALLOC section is
matched. An interesting use case is to compress `.strtab`/`.symtab`,
which consume a significant portion of the file size (15.1% for a
release build of Clang).

An older revision is available at https://reviews.llvm.org/D154641 .
This patch focuses on non-allocated sections for safety. Moving
`maybeCompress` as D154641 does not handle STT_SECTION symbols for
`-r --compress-debug-sections=zlib` (see `relocatable-section-symbol.s`
from #66804).

Since different output sections may use different compression
algorithms, we need CompressedData::type to generalize
config->compressDebugSections.

GNU ld feature request: https://sourceware.org/bugzilla/show_bug.cgi?id=27452

Link: https://discourse.llvm.org/t/rfc-compress-arbitrary-sections-with-ld-lld-compress-sections/71674

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


  Commit: 536e0ebaaa842471ae91bbda4f8cc1821690861e
      https://github.com/llvm/llvm-project/commit/536e0ebaaa842471ae91bbda4f8cc1821690861e
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member-2.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member.cpp

  Log Message:
  -----------
  Remove XFAIL from tests passing on green dragon


  Commit: 42ecccfe346daf342b6c46a6a471ba5ed99b1139
      https://github.com/llvm/llvm-project/commit/42ecccfe346daf342b6c46a6a471ba5ed99b1139
  Author: amilendra <amilendra.kodithuwakku at arm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [libcxx] Fix incorrect type in the has-1024-bit-atomics feature test (#84904)


  Commit: a843f26a77dee7900891b6748d43cf8d4e423bfe
      https://github.com/llvm/llvm-project/commit/a843f26a77dee7900891b6748d43cf8d4e423bfe
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [NFC] SLVectorizer comparator refactoring that preserves behavior (#84966)

Spinning off from #79321 / 35f4592 - looked like the comparator could be
simplified & made more clear/less risk of leaving hidden bugs.


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll

  Log Message:
  -----------
  [InstCombine] Add test for detecting `(x ^ -x)` as a ~Mask; NFC


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll

  Log Message:
  -----------
  [InstCombine] Detect `(x ^ -x)` as a ~Mask

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

This is a lemma for clearing up some of the regressions that #84688
causes.

Closes #84868


  Commit: 9ac03158987802706110ef465c4b6a7553cc4b86
      https://github.com/llvm/llvm-project/commit/9ac03158987802706110ef465c4b6a7553cc4b86
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  Add comment to assert from a843f26


  Commit: f5334f5da5166ac26fb24ca44669b3d425f0d131
      https://github.com/llvm/llvm-project/commit/f5334f5da5166ac26fb24ca44669b3d425f0d131
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_sched.cpp

  Log Message:
  -----------
  [OpenMP] Add debug checks for divide by zero (#83300)


  Commit: 3303be63fc2ac196568b03f58c146655e19183f6
      https://github.com/llvm/llvm-project/commit/3303be63fc2ac196568b03f58c146655e19183f6
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h

  Log Message:
  -----------
  [OpenMP] Make sure mask is set to nullptr (#83299)


  Commit: 6272500e0b1456a87256f0c8659fdc86cfe3ef9a
      https://github.com/llvm/llvm-project/commit/6272500e0b1456a87256f0c8659fdc86cfe3ef9a
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_utility.cpp

  Log Message:
  -----------
  [OpenMP] Remove unused logical/physical CPUID information (#83298)


  Commit: 7c83d1bd612783634aae33baf8765ecfdcc5cd0d
      https://github.com/llvm/llvm-project/commit/7c83d1bd612783634aae33baf8765ecfdcc5cd0d
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir

  Log Message:
  -----------
  [mlir][vector] Use inferRankReducedResultType for subview type inference. (#84395)

Fixes https://github.com/openxla/iree/issues/16475


  Commit: 45219702e77f6f834ea2dfe2a68b140e59f7e0e2
      https://github.com/llvm/llvm-project/commit/45219702e77f6f834ea2dfe2a68b140e59f7e0e2
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/code-model-elf.ll

  Log Message:
  -----------
  [test][X86] Precommit test for large data threshold and i1 global


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

  Changed paths:
    M clang/include/clang/InstallAPI/Context.h
    M clang/include/clang/InstallAPI/Frontend.h
    A clang/include/clang/InstallAPI/FrontendRecords.h
    A clang/include/clang/InstallAPI/MachO.h
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] Break up headers and add common header for TextAPI types (#84960)

Before it gets too unwieldy, add a common header for all MachO types
that are used across InstallAPI. Also, break up the types in
`InstallAPI/Frontend`. This both avoids circular dependencies and is
logically easier to maintain as more functionality gets added.


  Commit: 6bbb73b4cbc89b7291a8088aaa635814a216fbf6
      https://github.com/llvm/llvm-project/commit/6bbb73b4cbc89b7291a8088aaa635814a216fbf6
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/test/CodeGen/X86/code-model-elf.ll

  Log Message:
  -----------
  [X86] Fix determining if globals with size <8 bits are large (#84975)

Previously any global under 8 bits would accidentally be considered 0
sized, which is considered a large global.


  Commit: 6095f8bbc410d2f8b926a32ba969d507f7343949
      https://github.com/llvm/llvm-project/commit/6095f8bbc410d2f8b926a32ba969d507f7343949
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/lib/IR/AsmPrinter.cpp

  Log Message:
  -----------
  Get rid of noisy debug log in verifyOpAndAdjustFlags. (#84677)

This debug log adds noise to a large fraction of *other* debug logs when
you run with -debug, because it prints "Verifying operation: blah blah\n"
whenever those other debug logs dump an op.

You can use -debug-only to get around this, but sometimes -debug really
is what's called for!


  Commit: 97fb91ee665660036f8beffd064b44c6fbbf1b73
      https://github.com/llvm/llvm-project/commit/97fb91ee665660036f8beffd064b44c6fbbf1b73
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with non-profitable alternate vectorized
instructions.


  Commit: 2377beba8d10ce1092db7f8ddd5b10a2c0d3bfd1
      https://github.com/llvm/llvm-project/commit/2377beba8d10ce1092db7f8ddd5b10a2c0d3bfd1
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia.cmake

  Log Message:
  -----------
  [Fuchsia] Add LLDB_TEST_USE_VENDOR_PACKAGES to boostrap passthrough


  Commit: 54f631d11640732af0dc9c2aa53af4e118d9fe36
      https://github.com/llvm/llvm-project/commit/54f631d11640732af0dc9c2aa53af4e118d9fe36
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    A llvm/test/CodeGen/DirectX/exp2_error.ll
    M llvm/test/CodeGen/DirectX/frac.ll
    A llvm/test/CodeGen/DirectX/frac_error.ll
    A llvm/test/CodeGen/DirectX/round_error.ll
    M llvm/test/CodeGen/DirectX/sin.ll
    A llvm/test/CodeGen/DirectX/sin_error.ll
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX][NFC] Model precise overload type specification of DXIL Ops (#83917)

Implement an abstraction to specify precise overload types supported by
DXIL ops. These overload types are typically a subset of LLVM
intrinsics.

Implement the corresponding changes in DXILEmitter backend.

Add tests to verify expected errors for unsupported overload types at
code generation time.

Add tests to check for correct overload error output.


  Commit: e9492ccae085b5feb850ff17a96fe8211f7f6d7d
      https://github.com/llvm/llvm-project/commit/e9492ccae085b5feb850ff17a96fe8211f7f6d7d
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [TableGen] DecoderEmitter clean-ups and modernization. (#84832)

The decoder emitter is showing some signs of age. This patch makes a few
kinds of clean-ups:
- Use ranged-for more widely, including using enumerate() for those
loops maintaining a loop index along with the items.
- Reduce the number of arguments to fieldFromInsn (removes an out
reference parameter: CodingStandards). The insn_t argument to insnWithID
can/should probably be removed soon too since modern C++ allows us to
return a local container without a copy.
- Use raw strings for the large emitted code segments. This enhances
both readability and modifiability.


  Commit: 498b7d2f86b4bceb381e66b093670c7ec4bc6cc4
      https://github.com/llvm/llvm-project/commit/498b7d2f86b4bceb381e66b093670c7ec4bc6cc4
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  AMDGPU: Copy TSFlags from Pseudo to DS_Real (#84977)

We need TSFalgs from pseudo to real.


  Commit: 1a6ec906fb3781c2fc98979ec37a2a76479b0b08
      https://github.com/llvm/llvm-project/commit/1a6ec906fb3781c2fc98979ec37a2a76479b0b08
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/test/tools/llvm-dlltool/arm64ec.test
    M llvm/test/tools/llvm-lib/arm64ec-implib.test

  Log Message:
  -----------
  [Arm64EC] Copy import descriptors to the EC Map (#84834)

As noted in <https://github.com/llvm/llvm-project/pull/78537>, MSVC
places import descriptors in both the EC and regular map - that PR moved
the descriptors to ONLY the regular map, however this causes linking
errors when linking as Arm64EC:

```
bcryptprimitives.lib(bcryptprimitives.dll) : error LNK2001: unresolved external symbol __IMPORT_DESCRIPTOR_bcryptprimitives (EC Symbol)
```

This change copies import descriptors from the regular map to the EC
map, which fixes this linking error.


  Commit: d73c2d5df21735805a1f46a85790db64c0615e1c
      https://github.com/llvm/llvm-project/commit/d73c2d5df21735805a1f46a85790db64c0615e1c
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  Fix unittest after #84460: only applicable if the platform supports JIT


  Commit: 76f3a084e77991cffbb8108959457ffd75f8e9c8
      https://github.com/llvm/llvm-project/commit/76f3a084e77991cffbb8108959457ffd75f8e9c8
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/docs/GettingStarted.rst

  Log Message:
  -----------
  Update GettingStarted.rst doc with negative refspec to filter user branches (#75015)

This allows to keep fetching release branches as well.


  Commit: beb47e78be6a819b6501f99302c1c4c1ae84b90e
      https://github.com/llvm/llvm-project/commit/beb47e78be6a819b6501f99302c1c4c1ae84b90e
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/ordinary-name.c

  Log Message:
  -----------
  [clang][CodeCompletion] Allow debuggers to code-complete reserved identifiers (#84891)


  Commit: 88bf64097e453deca73c91ec7de1af7eebe296a9
      https://github.com/llvm/llvm-project/commit/88bf64097e453deca73c91ec7de1af7eebe296a9
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/test/API/commands/expression/completion/Makefile
    M lldb/test/API/commands/expression/completion/TestExprCompletion.py
    M lldb/test/API/commands/expression/completion/main.cpp
    A lldb/test/API/commands/expression/completion/sys/reserved.h

  Log Message:
  -----------
  [lldb][test] TestExprCompletion.py: add tests for completion of reserved identifiers (#84890)


  Commit: 47625e47db1d8fef6936ef48103e9aeb1fa3d328
      https://github.com/llvm/llvm-project/commit/47625e47db1d8fef6936ef48103e9aeb1fa3d328
  Author: Dave Clausen <daveclausen at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
    A compiler-rt/test/tsan/compare_exchange_acquire_fence.cpp

  Log Message:
  -----------
  Fix race in the implementation of __tsan_acquire() (#84923)

`__tsan::Acquire()`, which is called by `__tsan_acquire()`, has a
performance optimization which attempts to avoid acquiring the atomic
variable's mutex if the variable has no associated memory model state.

However, if the atomic variable was recently written to by a
`compare_exchange_weak/strong` on another thread, the memory model state
may be created *after* the atomic variable is updated. This is a data
race, and can cause the thread calling `Acquire()` to not realize that
the atomic variable was previously written to by another thread.

Specifically, if you have code that writes to an atomic variable using
`compare_exchange_weak/strong`, and then in another thread you read the
value using a relaxed load, followed by an
`atomic_thread_fence(memory_order_acquire)`, followed by a call to
`__tsan_acquire()`, TSAN may not realize that the store happened before
the fence, and so it will complain about any other variables you access
from both threads if the thread-safety of those accesses depended on the
happens-before relationship between the store and the fence.

This change eliminates the unsafe optimization in `Acquire()`. Now,
`Acquire()` acquires the mutex before checking for the existence of the
memory model state.


  Commit: fd32e744a58fe61b4bd6acfa1d501bc1d6c1d96f
      https://github.com/llvm/llvm-project/commit/fd32e744a58fe61b4bd6acfa1d501bc1d6c1d96f
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    A bolt/test/X86/linux-pci-fixup.s

  Log Message:
  -----------
  [BOLT] Add support for Linux kernel PCI fixup section (#84982)

.pci_fixup section contains a table with entries allowing to invoke a
fixup hook whenever a problem is encountered with a PCI device. The
hookup code typically points to the start of a function. As we are not
relocating functions in the kernel (at least not yet), verify this
assumption while reading the table and ignore any functions with a fixup
code in the middle.


  Commit: 422d240dc9b4b36f505c43e6fe650af4f4cf4f98
      https://github.com/llvm/llvm-project/commit/422d240dc9b4b36f505c43e6fe650af4f4cf4f98
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member-2.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member.cpp

  Log Message:
  -----------
  Relax tests to also work with newer versions of lldb.

- result variables are optional
- static members may print their values
- public/protected shows up in ptype output


  Commit: 418f0066ebfcde8cd72d33cc103fc1c3e36a1205
      https://github.com/llvm/llvm-project/commit/418f0066ebfcde8cd72d33cc103fc1c3e36a1205
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/test_debuginfo.pl

  Log Message:
  -----------
  Modernize llgdb script and make it easier to debug.


  Commit: 65f07b804c2c05cf49bd043f2a6e9a0020198165
      https://github.com/llvm/llvm-project/commit/65f07b804c2c05cf49bd043f2a6e9a0020198165
  Author: anbbna <117081688+anbbna at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/Mips/Mips32r6InstrFormats.td
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/lib/Target/Mips/MipsScheduleGeneric.td
    A llvm/test/MC/Mips/mips32/nal.s
    A llvm/test/MC/Mips/mips32r6/nal.s

  Log Message:
  -----------
  [MIPS] Introduce NAL instruction support for Mipsr6 and prer6 (#84429)

NAL is an assembly idiom on Pre-R6 instruction sets (which is
implemented in binutils), or an actual instruction on Release 6
instruction set, and is used to read the PC, due to the nature of the
MIPS architecture.

Since we can't read the PC directly, on pre-R6 we use a always-not-taken
Branch and Link operation to the address of the next instruction, which
effectively writes the address to $31, thus PC is read with offset +8.

MIPS Release 6 removed the conventional Branch and Link instructions,
but kept NAL as an actual instruction for compatibility on the assembly
level. The instruction has the same encoding of the pre-R6 ones, and
with the same behavior: PC + 8 -> $31.


  Commit: 8003f553a01a9a2a7eb09fe07e88f1ba9ee7d3a7
      https://github.com/llvm/llvm-project/commit/8003f553a01a9a2a7eb09fe07e88f1ba9ee7d3a7
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 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 aefad27096bba513f06162fac2763089578f3de4.

This relands commit 6bbe8a296ee91754d423c59c35727eaa624f7140.

This patch was casuing build failures on non-Linux platforms due to the
default implementations for the functions not being updated. This ended
up causing out-of-line definition errors. Fixed for the relanding.


  Commit: 1c3b15e9f5bc671e40bcf5d3475f5425466754ce
      https://github.com/llvm/llvm-project/commit/1c3b15e9f5bc671e40bcf5d3475f5425466754ce
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 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

  Log Message:
  -----------
  [llvm-exegesis] Use LLVM Support to get thread ID

This patch switches from manually using the Linux syscall to get the
current thread ID to using the relevant LLVM Support libraries that
abstract over the low level system details.


  Commit: 94e27c265a9aeb3659175ecee81a68d1763e0180
      https://github.com/llvm/llvm-project/commit/94e27c265a9aeb3659175ecee81a68d1763e0180
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 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/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/test/Dialect/SparseTensor/codegen.mlir
    M mlir/test/Dialect/SparseTensor/constant_index_map.mlir
    M mlir/test/Dialect/SparseTensor/conversion.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir
    M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_broadcast.mlir
    M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
    M mlir/test/Dialect/SparseTensor/sparse_index.mlir
    M mlir/test/Dialect/SparseTensor/sparse_out.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reinterpret_map.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_tensor_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_transpose.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir

  Log Message:
  -----------
  [mlir][sparse] reuse tensor.insert operation to insert elements into … (#84987)

…a sparse tensor.


  Commit: 64111831ed46b9e82b8626356c087ce2202f029b
      https://github.com/llvm/llvm-project/commit/64111831ed46b9e82b8626356c087ce2202f029b
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp

  Log Message:
  -----------
  Relax test to work with newer versions of lldb


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

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

  Log Message:
  -----------
  [libc] Include FP_* macros in math.h (#84996)

These are used unconditionally by libc++ math.h.

This is related to issue #84879.


  Commit: accfbf4e4959957db0993a15bab7316001131df3
      https://github.com/llvm/llvm-project/commit/accfbf4e4959957db0993a15bab7316001131df3
  Author: Zahi Moudallal <128723247+zahimoud at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [MLIR][ROCDL] Add BallotOp and lit test (#84856)


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

  Changed paths:
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm

  Log Message:
  -----------
  [lldb][debugserver] Update flags past to app launch request

rdar://117421999


  Commit: 2f400a2fd77b44d34281792aca84c42e149095e7
      https://github.com/llvm/llvm-project/commit/2f400a2fd77b44d34281792aca84c42e149095e7
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/MachineVerifier/test_g_vscale.mir

  Log Message:
  -----------
  [GISEL] Add G_VSCALE instruction (#84542)


  Commit: f467cc9caf37fcf6b3523271f977585c39372d55
      https://github.com/llvm/llvm-project/commit/f467cc9caf37fcf6b3523271f977585c39372d55
  Author: Dave Clausen <daveclausen at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [tsan] Add missing link option to tsan test after #84923

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


  Commit: 2aacb56e8361213c1bd69c2ceafdea3aa0ca9125
      https://github.com/llvm/llvm-project/commit/2aacb56e8361213c1bd69c2ceafdea3aa0ca9125
  Author: 4ast <alexei.starovoitov at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/test/Preprocessor/bpf-predefined-macros.c
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/BPF/BPF.h
    A llvm/lib/Target/BPF/BPFASpaceCastSimplifyPass.cpp
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/CMakeLists.txt
    A llvm/test/CodeGen/BPF/addr-space-auto-casts.ll
    A llvm/test/CodeGen/BPF/addr-space-cast.ll
    A llvm/test/CodeGen/BPF/addr-space-gep-chain.ll
    A llvm/test/CodeGen/BPF/addr-space-globals.ll
    A llvm/test/CodeGen/BPF/addr-space-globals2.ll
    A llvm/test/CodeGen/BPF/addr-space-phi.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-1.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-2.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-3.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-4.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-5.ll
    M llvm/test/CodeGen/BPF/assembler-disassembler.s

  Log Message:
  -----------
  BPF address space insn (#84410)

This commit aims to support BPF arena kernel side
[feature](https://lore.kernel.org/bpf/20240209040608.98927-1-alexei.starovoitov@gmail.com/):
- arena is a memory region accessible from both BPF program and
userspace;
- base pointers for this memory region differ between kernel and user
spaces;
- `dst_reg = addr_space_cast(src_reg, dst_addr_space, src_addr_space)`
translates src_reg, a pointer in src_addr_space to dst_reg, equivalent
pointer in dst_addr_space, {src,dst}_addr_space are immediate constants;
- number 0 is assigned to kernel address space;
- number 1 is assigned to user address space.

On the LLVM side, the goal is to make load and store operations on arena
pointers "transparent" for BPF programs:
- assume that pointers with non-zero address space are pointers to
  arena memory;
- assume that arena is identified by address space number;
- assume that address space zero corresponds to kernel address space;
- assume that every BPF-side load or store from arena is done via
pointer in user address space, thus convert base pointers using
`addr_space_cast(src_reg, 0, 1)`;

Only load, store, cmpxchg and atomicrmw IR instructions are handled by
this transformation.

For example, the following C code:

```c
   #define __as __attribute__((address_space(1)))
   void copy(int __as *from, int __as *to) { *to = *from; }
```

Compiled to the following IR:

```llvm
    define void @copy(ptr addrspace(1) %from, ptr addrspace(1) %to) {
    entry:
      %0 = load i32, ptr addrspace(1) %from, align 4
      store i32 %0, ptr addrspace(1) %to, align 4
      ret void
    }
```

Is transformed to:

```llvm
    %to2 = addrspacecast ptr addrspace(1) %to to ptr     ;; !
    %from1 = addrspacecast ptr addrspace(1) %from to ptr ;; !
    %0 = load i32, ptr %from1, align 4, !tbaa !3
    store i32 %0, ptr %to2, align 4, !tbaa !3
    ret void
```

And compiled as:

```asm
    r2 = addr_space_cast(r2, 0, 1)
    r1 = addr_space_cast(r1, 0, 1)
    r1 = *(u32 *)(r1 + 0)
    *(u32 *)(r2 + 0) = r1
    exit
```

Co-authored-by: Eduard Zingerman <eddyz87 at gmail.com>


  Commit: d014708a217beaef04f9533d311c68bda71a52f7
      https://github.com/llvm/llvm-project/commit/d014708a217beaef04f9533d311c68bda71a52f7
  Author: Roger Ferrer Ibáñez <roger.ferrer at bsc.es>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp

  Log Message:
  -----------
  [llvm][Mips] Use a Target ISD opcode for PseudoD_SELECT (#84294)

The Mips target uses two TargetOpcode enumerators called
`PseudoD_SELECT_I` and `PseudoD_SELECT_I64`. A SDAG node is created
using these enumerators which is manually selected in
`MipsSEISelDAGToDAG.cpp` and ultimately expanded in
`EmitInstrWithCustomInserter` in `MipsISelLowering.cpp`.

This is not causing any upstream build to fail at the moment but it is
not guaranteed that these enumerators do not clash with Target ISD nodes
(i.e. those in the `MipsISD` namespace). We have seen this happening in
our downstream builds in which `Mips::PseudoD_SELECT_I` ends having the
same integer value as `MipsISD::VEXTRACT_ZEXT_ELT`. This confuses the
function `trySelect` in `MipsSEISelDAGToDAG.cpp` and causes a crash in 3
tests.

This change adds a new Target ISD opcode for these two cases and uses
them for the SDAG nodes. No test is included because this is a potential
error in the future not one that can be demonstrated in the current
codebase.


  Commit: 97c0cad388e5d3f5089a05001149ea7eeabbd777
      https://github.com/llvm/llvm-project/commit/97c0cad388e5d3f5089a05001149ea7eeabbd777
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 2aacb56e8361


  Commit: 8bda5657332c7a94900d3eb2891d2b86e60b0e68
      https://github.com/llvm/llvm-project/commit/8bda5657332c7a94900d3eb2891d2b86e60b0e68
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaTemplate/PR25708.cpp

  Log Message:
  -----------
  [Clang][Sema] Allow access to a public template alias declaration that refers to friend's private nested type (#83847)

This patch attempts to fix
https://github.com/llvm/llvm-project/issues/25708
Current access check missed qualifier(`NestedNameSpecifier`) in friend
class checking. Add it to `Records` of `EffectiveContext` by changing
the `DeclContext` makes `MatchesFriend` work.

Co-authored-by: huqizhi <836744285 at qq.com>


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

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Fix mistake in example (#84849)


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

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

  Log Message:
  -----------
  [sanitizer][windows] report symbols in clang_rt. or \compiler-rt\lib\ as internal. (#84971)

This is the windows equivalent to the existing filters.

Work from https://github.com/llvm/llvm-project/pull/81677 that can be
applied separately (and is actually not critical for that PR)


  Commit: c1ac9a09d04e9be8f8f4860416528baf3691848d
      https://github.com/llvm/llvm-project/commit/c1ac9a09d04e9be8f8f4860416528baf3691848d
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dilated_conv_2d_nhwc_hwcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_foreach_slices.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir

  Log Message:
  -----------
  [mlir][sparse] Finish migrating integration tests to use sparse_tensor.print (#84997)


  Commit: 16ae493f56c1857ec0f6f2777e9b8a2e5151b4ef
      https://github.com/llvm/llvm-project/commit/16ae493f56c1857ec0f6f2777e9b8a2e5151b4ef
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/FuzzMutate/OpDescriptor.cpp

  Log Message:
  -----------
  [FuzzMutate] Only use undef when explictly asked to (#84959)

Per discussion in https://github.com/SecurityLab-UCD/IRFuzzer/issues/49,
generating undef during fuzzing seems to be less fruitful. Let's
eliminate undef in favor of poison unless the user explicitly asked for
it.

Signed-off-by: Peter Rong <PeterRong96 at gmail.com>


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

  Changed paths:
    M libc/src/__support/GPU/utils.h

  Log Message:
  -----------
  [libc] Use __builtin_ffsll for RPC lane mask (#85000)

src/__support/GPU/utils.h doesn't compile on a 32-bit platforms because
__builtin_ffsl uses long which is a 32-bit number. Use __builtin_ffsll
which uses long long which is guaranteed to be at least 64-bits.


  Commit: 9d6c43b4aed117f53167e72749b31a943941345d
      https://github.com/llvm/llvm-project/commit/9d6c43b4aed117f53167e72749b31a943941345d
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [NFC] [C++20] [Modules] [P1689] [Scanner] Don't use thread pool in P1689 per file mode (#84285)

I suddenly found that the clang scan deps may use all concurrent threads
to scan the files. It makes sense in the batch mode. But in P1689 per
file mode, it simply wastes times and resources.

This patch itself should be a NFC patch. It simply moves codes.


  Commit: 88986d65e4ed1b2ddd6693ff3e70b84436af767a
      https://github.com/llvm/llvm-project/commit/88986d65e4ed1b2ddd6693ff3e70b84436af767a
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir

  Log Message:
  -----------
  [mlir][sparse] Fix sparse_generate test (#85009)

std::uniform_int_distribution may behave differently in different
systems.


  Commit: 096d061c1c2f91edef7186bd8b61067020f49898
      https://github.com/llvm/llvm-project/commit/096d061c1c2f91edef7186bd8b61067020f49898
  Author: Sterling Augustine <saugustine at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  Add missing dependency after 80ab8234ac309418637488b97e0a62d8377b2ecf


  Commit: 34cf6847752a3aad68eaa889ab6e0073a38fc2db
      https://github.com/llvm/llvm-project/commit/34cf6847752a3aad68eaa889ab6e0073a38fc2db
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc] Move `struct timespec` from POSIX to StdC (#85010)

`struct timespec` is actually defined in the C standard, not POSIX.


  Commit: a62222f5f0bf30a5437255521df62750060a4bf4
      https://github.com/llvm/llvm-project/commit/a62222f5f0bf30a5437255521df62750060a4bf4
  Author: Sterling Augustine <saugustine at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  Update BUILD.bazel for 0ebf511ad011a83022edb171e044c98d9d16b1fa


  Commit: 5d7796e674224be54c48a8db981f4134845bcc7c
      https://github.com/llvm/llvm-project/commit/5d7796e674224be54c48a8db981f4134845bcc7c
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/GeneratePCH.cpp

  Log Message:
  -----------
  [NFC] [C++20] [Modules] Refactor ReducedBMIGenerator

Changes:
- Don't lookup the emitting module from HeaderSearch. We will use the
  module from the ASTContext directly.
- Remove some useless arguments. Let's addback in the future if
  required.


  Commit: 15a55486a54183d4fc597ed86c0d49fe9482f2bd
      https://github.com/llvm/llvm-project/commit/15a55486a54183d4fc597ed86c0d49fe9482f2bd
  Author: Michael Flanders <mkf727 at cs.washington.edu>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/nextafterf128.cpp
    A libc/src/math/nextafterf128.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/nextafterf128_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/nextafterf128_test.cpp

  Log Message:
  -----------
  [libc][math] Adds entrypoint and test for `nextafterf128` (#84882)


  Commit: e4edbae0aa6a9739954ee3b494b18f8c599d9d79
      https://github.com/llvm/llvm-project/commit/e4edbae0aa6a9739954ee3b494b18f8c599d9d79
  Author: Lu Weining <luweining at loongson.cn>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/lasx/intrinsic-permi.ll

  Log Message:
  -----------
  Revert "[llvm][LoongArch] Improve loongarch_lasx_xvpermi_q instrinsic" (#84708)

Reverts llvm/llvm-project#82984

See the discussion in https://github.com/llvm/llvm-project/pull/83540.


  Commit: 2dbaf265255a5fa9643a8092ec2dffa881d2cf93
      https://github.com/llvm/llvm-project/commit/2dbaf265255a5fa9643a8092ec2dffa881d2cf93
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/test/IR/custom-print-parse.mlir
    M mlir/test/IR/invalid-custom-print-parse.mlir
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/mlir-tblgen/attr-or-type-format.td
    M mlir/test/mlir-tblgen/op-format.td
    M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [mlir][ods] Fix generation of optional custom parsers (#84821)

We need to generate `.has_value` for `OptionalParseResult`, also ensure
that `auto result` doesn't conflict with `result` which is the variable
name for `OperationState`.


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

  Changed paths:
    M libc/config/baremetal/api.td
    M libc/config/baremetal/arm/headers.txt
    M libc/config/baremetal/riscv/headers.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/mbstate_t.h
    A libc/include/uchar.h.def
    M libc/spec/spec.td
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc] Add an empty definition of mbstate_t (#84993)

We expect to eventually provide a complete implementation, but having an
empty definition is necessary to unblock the use of libc++ in embedded
environments.

See #84884 for more details.


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

  Changed paths:
    M libc/config/baremetal/api.td
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc] Include additional baremetal entrypoints (#85020)

These functions are usable on embedded platforms and are sometimes used
in various baremetal projects.


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

  Changed paths:
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/tsan/getline_nohang.cpp

  Log Message:
  -----------
  [tsan] Disabled test dead locking on glibc-2.38

https://github.com/google/sanitizers/issues/1733


  Commit: 53613044ddf1bab186cde8d687f7f41bc0b1f9b1
      https://github.com/llvm/llvm-project/commit/53613044ddf1bab186cde8d687f7f41bc0b1f9b1
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm-objcopy] Use SmallVector to make some structs smaller. NFC


  Commit: 0d98582c8b86644e77f8ddd68fc251e41127b7f4
      https://github.com/llvm/llvm-project/commit/0d98582c8b86644e77f8ddd68fc251e41127b7f4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm-objcopy] Remove unneeded #include. NFC


  Commit: 4d62929852849f768d7397f634cfdebc85de96a4
      https://github.com/llvm/llvm-project/commit/4d62929852849f768d7397f634cfdebc85de96a4
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
    R clang/test/Modules/missing-module-declaration.cppm
    M clang/test/Modules/pr72828.cppm

  Log Message:
  -----------
  [C++20] [Modules] Disambuguous Clang module and C++20 Named module further

This patch tries to make the boundary of clang module and C++20 named
module more clear.

The changes included:

- Rename `TranslationUnitKind::TU_Module` to
  `TranslationUnitKind::TU_ClangModule`.
- Rename `Sema::ActOnModuleInclude` to `Sema::ActOnAnnotModuleInclude`.
- Rename `ActOnModuleBegin` to `Sema::ActOnAnnotModuleBegin`.
- Rename `Sema::ActOnModuleEnd` to `Sema::ActOnAnnotModuleEnd`.
- Removes a warning if we're trying to compile a non-module unit as
  C++20 module unit. This is not actually useful and makes (the future)
  implementation unnecessarily complex.

This patch meant to be a NFC fix. But it shows that it fixed a bug
suprisingly that previously we would surppress the unused-value warning
in named modules. Because it shares the same logic with clang modules,
which has headers semantics. This shows the change is meaningful.


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

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
    M compiler-rt/lib/lsan/lsan_interceptors.cpp
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/static-link.c

  Log Message:
  -----------
  [sanitizer] Reject unsupported -static at link time (#83524)

Most sanitizers don't support static linking. One primary reason is the
incompatibility with interceptors. `GetTlsSize` is another reason.
asan/memprof use `__interception::DoesNotSupportStaticLinking`
(`_DYNAMIC` reference) to reject -static at link time. Port this
detector to other sanitizers. dfsan actually supports -static for
certain cases. Don't touch dfsan.


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

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  AMDGPU: Use list-table for metadata table (#85024)

The table syntax for sphinx is really insufferably whitespace dependent.
I've been meaning to convert the existing attribute and intrinsic tables
to use list-table, which is less painful to merge.


  Commit: 0a443f13b49b3f392461a0bb60b0146cfc4607c7
      https://github.com/llvm/llvm-project/commit/0a443f13b49b3f392461a0bb60b0146cfc4607c7
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/ComparePointers.ll
    M llvm/test/CodeGen/SPIRV/capability-kernel.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-base-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type-deduction-no-bitcast-to-generic.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/load-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/store-operand-ptr-to-struct.ll
    M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/two-bitcast-or-param-users.ll
    M llvm/test/CodeGen/SPIRV/pointers/two-subsequent-bitcasts.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-rev.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call.ll
    A llvm/test/CodeGen/SPIRV/pointers/typeof-ptr-int.ll
    M llvm/test/CodeGen/SPIRV/relationals.ll
    M llvm/test/CodeGen/SPIRV/simple.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BitReversePref.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange_2.ll
    M llvm/test/CodeGen/SPIRV/transcoding/ConvertPtr.ll
    M llvm/test/CodeGen/SPIRV/transcoding/DecorationAlignment.ll
    M llvm/test/CodeGen/SPIRV/transcoding/DecorationMaxByteOffset.ll
    M llvm/test/CodeGen/SPIRV/transcoding/DivRem.ll
    M llvm/test/CodeGen/SPIRV/transcoding/ExecutionMode_SPIR_to_SPIRV.ll
    M llvm/test/CodeGen/SPIRV/transcoding/GlobalFunAnnotate.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_cmpxchg.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_legacy.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_work_item_fence.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/barrier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/sub_group_mask.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/work_group_barrier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/atomic_flag.ll
    M llvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
    M llvm/test/CodeGen/SPIRV/transcoding/bitcast.ll
    M llvm/test/CodeGen/SPIRV/transcoding/block_w_struct_return.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_calls.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_arithmetics.ll
    M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_opt.ll
    M llvm/test/CodeGen/SPIRV/transcoding/check_ro_qualifier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/cl-types.ll
    M llvm/test/CodeGen/SPIRV/transcoding/clk_event_t.ll
    M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
    M llvm/test/CodeGen/SPIRV/transcoding/explicit-conversions.ll
    M llvm/test/CodeGen/SPIRV/transcoding/extract_insert_value.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fadd.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fclamp.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fcmp.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fdiv.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fmod.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fmul.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fneg.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fp_contract_reassoc_fast_mode.ll
    M llvm/test/CodeGen/SPIRV/transcoding/frem.ll
    M llvm/test/CodeGen/SPIRV/transcoding/fsub.ll
    M llvm/test/CodeGen/SPIRV/transcoding/get_image_num_mip_levels.ll
    M llvm/test/CodeGen/SPIRV/transcoding/global_block.ll
    M llvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
    M llvm/test/CodeGen/SPIRV/transcoding/isequal.ll
    M llvm/test/CodeGen/SPIRV/transcoding/relationals_double.ll
    M llvm/test/CodeGen/SPIRV/transcoding/relationals_float.ll
    M llvm/test/CodeGen/SPIRV/transcoding/relationals_half.ll

  Log Message:
  -----------
  [SPIR-V] Add implementation of G_SPLAT_VECTOR opcode and fix invalid types processing (#84766)

This PR:
* adds support for G_SPLAT_VECTOR generic opcode that may be legally
generated instead of G_BUILD_VECTOR by previous passes of the translator
(see https://github.com/llvm/llvm-project/pull/80378 for the source of
breaking changes);
* improves deduction of types for opaque pointers.

This PR also fixes the following issues:
* if a function has ptr argument(s), two functions that have different
SPIR-V type definitions may get identical LLVM function types and break
agreements of global register and duplicate checker;
* checks for pointer types do not account for TypedPointerType.

Update of tests:
* A test case is added to cover the issue with function ptr parameters.
* The first case, that is support for G_SPLAT_VECTOR generic opcode, is
covered by existing test cases.
* Multiple additional checks by `spirv-val` is added to cover more
possibilities of generation of invalid code.


  Commit: 5a4e2210bd60fec854822d3fb2a2aaa1e20ad2e1
      https://github.com/llvm/llvm-project/commit/5a4e2210bd60fec854822d3fb2a2aaa1e20ad2e1
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-13 (Wed, 13 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

  Log Message:
  -----------
  Revert "[llvm-exegesis] Use LLVM Support to get thread ID"

This reverts commit 1c3b15e9f5bc671e40bcf5d3475f5425466754ce.

This (and/or) a related patch was causing build failures on one of the
buildbots. More information is available at
https://lab.llvm.org/buildbot/#/builders/178/builds/7015.


  Commit: 1fe9c417a0bf143f9bb9f9e1fbf7b20f44196883
      https://github.com/llvm/llvm-project/commit/1fe9c417a0bf143f9bb9f9e1fbf7b20f44196883
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-13 (Wed, 13 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:
  -----------
  Revert "Reland "[llvm-exegesis] Add thread IDs to subprocess memory names (#84451)""

This reverts commit 8003f553a01a9a2a7eb09fe07e88f1ba9ee7d3a7.

This (and/or a related commit) was causing build failures on one of the
buildbots that needs more investigation. More information is available
at https://lab.llvm.org/buildbot/#/builders/178/builds/7015.


  Commit: 46682f445adfa06cb74239b17b588e36fcd4fdaa
      https://github.com/llvm/llvm-project/commit/46682f445adfa06cb74239b17b588e36fcd4fdaa
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  Fix missing include past a38b7a432d3cbb093af9310eba5b4982dc0a0243 (#85041)


  Commit: 1c792d24e0a228ad49cc004a1c26bbd7cd87f030
      https://github.com/llvm/llvm-project/commit/1c792d24e0a228ad49cc004a1c26bbd7cd87f030
  Author: Marco Elver <elver at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [compiler-rt] Fix interceptors with AArch64 BTI (#84061)

On AArch64 with BTI, we have to start functions with the appropriate
BTI hint to indicate that the function is a valid call target.

To support interceptors with AArch64 BTI, add "BTI c".


  Commit: 0be9592b0077dc63596ce46379cf7b3bd4a405c8
      https://github.com/llvm/llvm-project/commit/0be9592b0077dc63596ce46379cf7b3bd4a405c8
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD: Respect requires-clause of the original function template for the synthesized deduction guide (#84913)

We ignored the require-clause of the original template when building the deduction guide for type-alias CTAD, this resulted in accepting code which should be rejected (see the test case). This patch fixes it, part of #84492.


  Commit: e42e97a4ada141ca1320a49e7fe03245d6765bce
      https://github.com/llvm/llvm-project/commit/e42e97a4ada141ca1320a49e7fe03245d6765bce
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme-write-vg.ll

  Log Message:
  -----------
  [AArch64][SME] Don't mark 'smstart za' as using/defining VG. (#84775)

VG is only used/defined when changing the streaming mode, using 'smstart
sm' or plainly 'smstart' (same for smstop).


  Commit: 06c06e15f45acd3ea24756978629f1d78724870e
      https://github.com/llvm/llvm-project/commit/06c06e15f45acd3ea24756978629f1d78724870e
  Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 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

  Log Message:
  -----------
  [Float2Int] Resolve FIXME: Pick the smallest legal type that fits (#79158)

Pick the type based on the smallest bit-width possible, using
DataLayout.


  Commit: 676c495195748e8ab2755b62153a718a53f7dae9
      https://github.com/llvm/llvm-project/commit/676c495195748e8ab2755b62153a718a53f7dae9
  Author: lcvon007 <141613945+lcvon007 at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp

  Log Message:
  -----------
  [Attributor][FIX] Register right new created BB. (#84929)

CBBB will keep same after the first iteration so
registerManifestAddedBasicBlock would always register the same basic
block later.

Co-authored-by: laichunfeng <laichunfeng at tencent.com>


  Commit: 2d62ce4bebe484f7c6855b9ef479e9b398595df9
      https://github.com/llvm/llvm-project/commit/2d62ce4bebe484f7c6855b9ef479e9b398595df9
  Author: mikaelholmen <mikael.holmen at ericsson.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Analysis/Lint/crash_empty_iterator.ll

  Log Message:
  -----------
  [ValueTracking] Remove faulty dereference of "InsertBefore" (#85034)

In 2fe81edef6f
 [NFC][RemoveDIs] Insert instruction using iterators in Transforms/
we changed
       if (*req_idx != *i)
         return FindInsertedValue(I->getAggregateOperand(), idx_range,
-                                 InsertBefore);
+                                 *InsertBefore);
     }
but there is no guarantee that is InsertBefore is non-empty at that
point,
which we e.g can see in the added testcase.

Instead just pass on the optional InsertBefore in the recursive call to
FindInsertedValue, as we do at several other places already.


  Commit: e371ada409b225ea990b5ac0d5cafea26a6046e1
      https://github.com/llvm/llvm-project/commit/e371ada409b225ea990b5ac0d5cafea26a6046e1
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cpp

  Log Message:
  -----------
  [compiler-rt] reimplements GetMemoryProfile for netbsd. (#84841)

The actual solution relies on the premise /proc/self/smaps existence.
instead relying on native api like freebsd.
fixing fuzzer build too.


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

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

  Log Message:
  -----------
  [SjLjEHPrepare] Use inverse_depth_first() instead of _ext variant (NFC). (#84920)

inverse_depth_first df_iterator_default_set as default set, so there's
no need to explicitly use inverse_depth_first_ext.

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


  Commit: 20b15e645cdbde07ae46aefe46ede5ff4d1e8ba3
      https://github.com/llvm/llvm-project/commit/20b15e645cdbde07ae46aefe46ede5ff4d1e8ba3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/fold-global-offsets.ll
    M llvm/test/CodeGen/Hexagon/addrmode-immop.mir
    M llvm/test/CodeGen/NVPTX/b52037.ll
    M llvm/test/CodeGen/WinCFGuard/cfguard-mingw.ll
    M llvm/test/CodeGen/X86/tls-align.ll
    M llvm/test/DebugInfo/X86/tu-to-non-tu.ll
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp

  Log Message:
  -----------
  [Tests] Drop inrange attribute from some tests (NFC)

These don't actually test anything related to inrange, so drop the
attribute.


  Commit: e4b27359fde552f65fd3434398a6b80104e1a20d
      https://github.com/llvm/llvm-project/commit/e4b27359fde552f65fd3434398a6b80104e1a20d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/test/ThinLTO/X86/Inputs/devirt_single_hybrid_bar.ll
    M llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll
    M llvm/test/ThinLTO/X86/devirt_external_comdat_same_guid.ll
    M llvm/test/ThinLTO/X86/devirt_local_same_guid.ll
    M llvm/test/ThinLTO/X86/lower_type_test_phi.ll
    M llvm/test/ThinLTO/X86/nodevirt-nonpromoted-typeid.ll
    M llvm/test/ThinLTO/X86/type_test_noindircall.ll

  Log Message:
  -----------
  [ThinLTO] Drop inrange attribute from tests (NFC)

The inrange attribute is not relevant to the optimizations being
tested here. Additionally, all the inrange attributes in these
files don't actually carry any additional information, as the
"range" covers the whole object.


  Commit: 5a744776bb6192dae04360609457c9f49dce43a2
      https://github.com/llvm/llvm-project/commit/5a744776bb6192dae04360609457c9f49dce43a2
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp

  Log Message:
  -----------
  Mark test as XFAIL that started failing after 418f0066eb. (#85027)

Similar failures were previously seen and XFAILed in
https://reviews.llvm.org/D118468.

See the phabricator review for a description of the problem, and the
linked discourse thread for what the failing output looks like.

This change should fix the issue on two buildbots that are running older
versions of GDB:
- https://lab.llvm.org/buildbot/#/builders/217/builds/37559
- https://lab.llvm.org/buildbot/#/builders/247/builds/15173


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] Add SDPatternMatch m_And/m_Or/m_Xor matchers for logic ops


  Commit: 99be3875fb161a5786aaad5dab0b92fa052e47d1
      https://github.com/llvm/llvm-project/commit/99be3875fb161a5786aaad5dab0b92fa052e47d1
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [ARM][AArch64] Add missing Arm CPU part-ids to enable -mcpu=native (#84899)

Update Host.cpp with some missing Arm CPU part identifiers,
to enable `-mcpu=native` on these processors. These are found in
the Technical Reference Manuals listed under "part num" or "part no"


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/xor.ll

  Log Message:
  -----------
  [DAG] visitSUB - convert some folds to use SDPatternMatch

General cleanup and allows us to handle several commutable matches with a single pattern


  Commit: 7cd61f888c479da51215071336b34f6918cad3d8
      https://github.com/llvm/llvm-project/commit/7cd61f888c479da51215071336b34f6918cad3d8
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove unneeded MnemonicAlias. NFC.

This is unneeded because MUBUF_Real_Atomic_gfx11_gfx12 on the line above
generates it automatically.


  Commit: ceb744eb2fa0895db1526110462745962fdf43c0
      https://github.com/llvm/llvm-project/commit/ceb744eb2fa0895db1526110462745962fdf43c0
  Author: Harald van Dijk <harald at gigawatt.nl>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/clamp.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll

  Log Message:
  -----------
  [AMDGPU] Fix canonicalization of truncated values. (#83054)

We were relying on roundings to implicitly canonicalize, which is
generally safe, except with roundings that may be optimized away.

Fixes #82937.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/zext.ll

  Log Message:
  -----------
  [InstCombine] Simplify `zext nneg i1 X` to zero (#85043)

Alive2: https://alive2.llvm.org/ce/z/Wm6kCk


  Commit: 203757776826cfd164c537048ec90f5ada50cae2
      https://github.com/llvm/llvm-project/commit/203757776826cfd164c537048ec90f5ada50cae2
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-ar.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Object/Archive.h
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    A llvm/test/tools/llvm-ar/coff-symtab.test
    A llvm/test/tools/llvm-ar/no-symtab.yaml
    M llvm/tools/llvm-ar/llvm-ar.cpp

  Log Message:
  -----------
  [llvm-ar] Use COFF archive format for COFF targets. (#82898)

Detect COFF files by default and allow specifying it with --format
argument.

This is important for ARM64EC, which uses a separated symbol map for EC
symbols. Since K_COFF is mostly compatible with K_GNU, this shouldn't
really make a difference for other targets.

This originally landed as #82642, but was reverted due to test failures
in tests using no symbol table. Since COFF symbol can't express it,
fallback to GNU format in that case.


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/variant
    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/support/variant_test_helpers.h

  Log Message:
  -----------
  [libc++] Remove _LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT (#83928)

This was slated for removal in LLVM 19.


  Commit: 5c3d001668ec6117045a9750a1f9d7e3995adfee
      https://github.com/llvm/llvm-project/commit/5c3d001668ec6117045a9750a1f9d7e3995adfee
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  AMDGPU: Don't use table for metadata docs, and fix section headers (#85046)


  Commit: 9fa866020395b215ece6140c2fedc7c31950272c
      https://github.com/llvm/llvm-project/commit/9fa866020395b215ece6140c2fedc7c31950272c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf.s

  Log Message:
  -----------
  [AMDGPU] Test new GFX12 opcode name buffer_atomic_min_num_f32

The old name buffer_atomic_min_f32 is still tested as part of the alias
tests.


  Commit: e48d5a838f69e0a8e0ae95a8aed1a8809f45465a
      https://github.com/llvm/llvm-project/commit/e48d5a838f69e0a8e0ae95a8aed1a8809f45465a
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CheckerContext.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"

This reapplies f32b04d4ea91ad1018c25a1d4178cc4392d34968i, after fixing
the use-after-free of ASTUnit in the unittest.
https://github.com/llvm/llvm-project/pull/84469#issuecomment-1992163439

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 83d178843f4322159b6469f430a8a241b8672d6d
      https://github.com/llvm/llvm-project/commit/83d178843f4322159b6469f430a8a241b8672d6d
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    A llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll

  Log Message:
  -----------
  [InstCombine] Set zero_is_poison for ctlz/cttz if they are only used as shift amounts (#85035)

Alive2: https://alive2.llvm.org/ce/z/r-67t9

It would improve the codegen if the target doesn't provide a defined
value for ctlz/cttz with zero.


  Commit: 960b4aa6dab69125778f230c4c94f2d19c96cc87
      https://github.com/llvm/llvm-project/commit/960b4aa6dab69125778f230c4c94f2d19c96cc87
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [AIX][ClangRepl] Disable new test on AIX

This new test fails on the AIX bot with error `LLVM ERROR: Incompatible object format!`. Disable for now to investigate.

Same as 86337beca2e6f939127cd3e088ec80c0cf4a0a64.


  Commit: 424e0a825fe4d9e3bf98b63ef86edbc4fa5e3799
      https://github.com/llvm/llvm-project/commit/424e0a825fe4d9e3bf98b63ef86edbc4fa5e3799
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [ClangRepl] Add missing hashtag

Hashtag missing from commit 960b4aa6dab69125778f230c4c94f2d19c96cc87


  Commit: 2cf2bc472da87bb4bf971b1448e05b9e3bd983dc
      https://github.com/llvm/llvm-project/commit/2cf2bc472da87bb4bf971b1448e05b9e3bd983dc
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/lib/AST/Decl.cpp
    M clang/test/CodeGen/const-init.c
    A clang/test/Sema/const-init.c

  Log Message:
  -----------
  [Clang] [CodeGen] Fix codegen bug in constant initialisation in C23 mode (#84981)

Consider the following code:
```c
bool const inf =  (1.0/0.0);
``` 

When trying to emit the initialiser of this variable in C23, we end up
hitting a code path in codegen in `VarDecl::evaluateValueImpl()` where
we check for `IsConstantInitialization && (Ctx.getLangOpts().CPlusPlus
|| Ctx.getLangOpts().C23)`, and if that is the case and we emitted any
notes, constant evaluation fails, and as a result, codegen issues this
error:
```
<source>:1:12: error: cannot compile this static initializer yet
    1 | bool const inf =  (1.0/0.0);
      |        
```

As a fix, only fail in C23 mode if we’re initialising a `constexpr`
variable.

This fixes #84784.


  Commit: 390f28702fad7b704d026b5c3e9a6030cecab01b
      https://github.com/llvm/llvm-project/commit/390f28702fad7b704d026b5c3e9a6030cecab01b
  Author: mahesh-attarde <145317060+mahesh-attarde at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [CodeGen][Tablegen] Fix uninitialized var and shift overflow. (#84896)

Fix uninitialized var and shift overflow.


  Commit: eb21ee49cff081911d99d29ba887c1715fc2b8fc
      https://github.com/llvm/llvm-project/commit/eb21ee49cff081911d99d29ba887c1715fc2b8fc
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M lldb/test/API/python_api/run_locker/TestRunLocker.py

  Log Message:
  -----------
  [lldb][test] Disable other runlocker test on AArch64 Linux

Flaky on the bot: https://lab.llvm.org/buildbot/#/builders/96/builds/54435


  Commit: e77324decf74e8203fdee53e53c1866319ebf47c
      https://github.com/llvm/llvm-project/commit/e77324decf74e8203fdee53e53c1866319ebf47c
  Author: Zepp <luzepu678 at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td

  Log Message:
  -----------
  [Clang] [Docs] Add reference to documentation of `SysVABIAttr` (#85022)

We for some reason already had documentation for this attribute, but just weren’t linking to it.


  Commit: 37b5eb0a0a75bdf69b96b902417906da31c88dc3
      https://github.com/llvm/llvm-project/commit/37b5eb0a0a75bdf69b96b902417906da31c88dc3
  Author: Zaara Syeda <95926691+syzaara at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    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
    A clang/test/Driver/toc-conf.c
    A clang/test/Driver/tocdata-cc1.c
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/lib/MC/MCSectionXCOFF.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.h
    A llvm/test/CodeGen/PowerPC/toc-data-large-array.ll
    A llvm/test/CodeGen/PowerPC/toc-data-large-array2.ll
    A llvm/test/CodeGen/PowerPC/toc-data-struct-array.ll

  Log Message:
  -----------
  [AIX][TOC] Add -mtocdata/-mno-tocdata options on AIX (#67999)

This patch enables support that the XL compiler had for AIX under
-qdatalocal/-qdataimported.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll

  Log Message:
  -----------
  [VPlan] Use VPBuilder to create BranchOnCond in VPHCFGBuilder.

This simplifies the code to create the recipe slightly as well as
properly retaining the debug location of the input IR.


  Commit: 4e49ee55c587637e17dec7a72b9ce86d85f8f241
      https://github.com/llvm/llvm-project/commit/4e49ee55c587637e17dec7a72b9ce86d85f8f241
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py

  Log Message:
  -----------
  [lldb][Test] Disable ConcurrentVFork tests on Arm/AArch64 Linux

They are either flaky, or not cleaning up after themselves.
See https://github.com/llvm/llvm-project/issues/85084.


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

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

  Log Message:
  -----------
  [DAG] Use SelectionDAG::getNOT helper where possible. NFC.


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

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

  Log Message:
  -----------
  [DAG] isKnownToBeAPowerOfTwo - use sd_match to match both commutations of `x & -x` pattern`. NFC.

Allows us to remove some tricky commutation matching


  Commit: f46f5a01f4d5a7dcaf4a8fde5fc44eafdd9dbf27
      https://github.com/llvm/llvm-project/commit/f46f5a01f4d5a7dcaf4a8fde5fc44eafdd9dbf27
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    A flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    A flang/test/Lower/OpenMP/default-clause-byref.f90
    A flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    A flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    A flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir

  Log Message:
  -----------
  [flang][OpenMP][OMPIRBuilder][mlir] Optionally pass reduction vars by ref (#84304)

Previously reduction variables were always passed by value into and out
of the initialization and combiner regions of the OpenMP reduction
declare operation.

This worked well for reductions of primitive types (and might perform
better than passing by reference). But passing by reference will be
useful for array and derived type reductions (e.g. to move allocation
inside of the init region).

Passing reductions by reference requires different LLVM-IR generation
when lowering from MLIR because some of the loads/stores/allocations
will now be moved inside of the init and combiner regions. This
alternate code generation is requested using a new attribute to
omp.wsloop and omp.parallel.

Existing lowerings from mlir are unaffected (these will continue to use
the by-value argument passing.

Flang will continue to pass by-value argument passing for trivial types
unless a (hidden) command line argument is supplied. Non-trivial types
will always use the by-ref lowering.

Array reductions are not ready yet (but are coming very soon). In the
meantime, this is tested by forcing existing reductions to use by-ref.

Commit series for by-ref OpenMP reductions 3/3

---------

Co-authored-by: Mats Petersson <mats.petersson at arm.com>


  Commit: 3c227a31dd1046db02323868b9690a6152cfb3b8
      https://github.com/llvm/llvm-project/commit/3c227a31dd1046db02323868b9690a6152cfb3b8
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  [cmake] Silence a duplicate libraries warning from Apple's linker (#85012)

ld: warning: ignoring duplicate libraries:

This triggers quite frequently in llvm's build because CMake's library
depends mechanism doesn't de-duplicate libraries on the link line.
Duplication is necessary for ELF platforms, but means something subtly
different on Darwin platforms, hence the warning. Since we don't have
much control over that from CMake, just disable the warning wholesale
whenever the linker is detected to support it.


  Commit: 628a79dad30befed82ee1c115b00fa9aca5305ed
      https://github.com/llvm/llvm-project/commit/628a79dad30befed82ee1c115b00fa9aca5305ed
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [InstCombine] Don't generate crash dialog for fixpoint verification failure (NFC)

Fixpoint verification failures outside our tests are usually not
indicative of a bug -- don't be pushy about having people report them.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll

  Log Message:
  -----------
  [SLP]Fix PR85082: PHI node has multiple entries.

Need to record casted extractelement for the externally used scalar, not
original extract instruction.


  Commit: 096ee4e16fd62cd578d20ec4e8ad4756f4e369ee
      https://github.com/llvm/llvm-project/commit/096ee4e16fd62cd578d20ec4e8ad4756f4e369ee
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90

  Log Message:
  -----------
  [Flang][OpenMP] Implement "promotion" of use_device_ptr non-cptr arguments to use_device_addr (#82834)

This effectively implements some now deprecated OpenMP functionality
that some applications (most notably at the moment GenASiS)
unfortunately depend on (deprecated in specification version 5.2):

"If a list item in a use_device_ptr clause is not of type C_PTR, the
behavior is as if the list item appeared in a use_device_addr clause.
Support for such list items in a use_device_ptr clause is deprecated."

This PR downgrades the hard-error to a deprecated warning and "promotes"
the above cases by simply moving the offending operands from the
use_device_ptr value list to the back of the use_device_addr list (and
moves the related symbols, locs and types that form the BlockArgs
correspondingly) and then the generation of the target data construct
proceeds as normal.


  Commit: 732f5368cdc297e83f8720fb13a8c848ff116ccf
      https://github.com/llvm/llvm-project/commit/732f5368cdc297e83f8720fb13a8c848ff116ccf
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/Inliner.h
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/lib/Transforms/InlinerPass.cpp
    M mlir/lib/Transforms/Utils/Inliner.cpp
    M mlir/test/Transforms/inlining-dump-default-pipeline.mlir
    A mlir/test/Transforms/inlining-threshold.mlir

  Log Message:
  -----------
  [RFC][mlir] Add profitability callback to the Inliner. (#84258)

Discussion at https://discourse.llvm.org/t/inliner-cost-model/2992

This change adds a callback that reports whether inlining
of the particular call site (communicated via ResolvedCall argument)
is profitable or not. The default MLIR inliner pass behavior
is unchanged, i.e. the callback always returns true.
This callback may be used to customize the inliner behavior
based on the target specifics (like target instructions costs),
profitability of the inlining for further optimizations
(e.g. if inlining may enable loop optimizations or scalar optimizations
due to object shape propagation), optimization levels (e.g. -Os inlining
may be quite different from -Ofast inlining), etc.

One of the questions is whether the ResolvedCall entity represents
enough of the context for the custom inlining models to come up with
the profitability decision. I think we can start with this and
extend it as necessary.

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


  Commit: e0738cc65865c31975b5bdbbf89c5a4dbbe06dc5
      https://github.com/llvm/llvm-project/commit/e0738cc65865c31975b5bdbbf89c5a4dbbe06dc5
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/random.cpp
    A flang/runtime/random-templates.h
    M flang/runtime/random.cpp
    A flang/test/Lower/Intrinsics/random_number_real16.f90

  Log Message:
  -----------
  [flang] Moved REAL(16) RANDOM_NUMBER to Float128Math library. (#85002)


  Commit: 286c3b500dc36b2451683bde5d681bf6efea3e63
      https://github.com/llvm/llvm-project/commit/286c3b500dc36b2451683bde5d681bf6efea3e63
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/Intrinsics/modulo.f90

  Log Message:
  -----------
  [flang] Enable REAL(16) MODULO lowering. (#85005)

The lowering currently relies on the trivial operations,
so we should just lower it for REAL(16) the same way we do this
for other trivial operations.


  Commit: d24ff9aec4f2741804268a66d711d6d31cd06138
      https://github.com/llvm/llvm-project/commit/d24ff9aec4f2741804268a66d711d6d31cd06138
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/fma.cpp
    M flang/runtime/Float128Math/math-entries.h
    A flang/test/Lower/Intrinsics/fma_real16.f90

  Log Message:
  -----------
  [flang][runtime] Added lowering and runtime for REAL(16) IEEE_FMA. (#85017)


  Commit: 9a3000cf6700a711f3d81d071e0b6933cef46c36
      https://github.com/llvm/llvm-project/commit/9a3000cf6700a711f3d81d071e0b6933cef46c36
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [libc] roll out rest of stdbit.h entrypoints to gpu,linux,baremetal (#84938)


  Commit: bb82092de71466728630050691fa9c20796b3cbc
      https://github.com/llvm/llvm-project/commit/bb82092de71466728630050691fa9c20796b3cbc
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/test/Conversion/TensorToLinalg/tensor-ops-to-linalg.mlir
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/Linalg/generalize-pad-tensor.mlir

  Log Message:
  -----------
  [mlir][tensor] Make getMixedPadImpl return static values when possible. (#85016)

If low and high are constants (i.e., not attributes), users still prefer
attributes. Otherwise, there could be failures in type inference. A
failure is introduced by
https://github.com/llvm/llvm-project/commit/60e562d11aeca8020de8d50ded7f0ba9e10e8843,
see the drop_known_unit_constant_low_high test for more details.


  Commit: c3eccf03b365a705bc8dc043217478a82bc37a4d
      https://github.com/llvm/llvm-project/commit/c3eccf03b365a705bc8dc043217478a82bc37a4d
  Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M lldb/source/Expression/IRExecutionUnit.cpp

  Log Message:
  -----------
  Avoid a potential exit(1) in LLVMContext::diagnose()  (#84992)

by handling *all* errors in IRExecDiagnosticHandler. The function that
call this handles all unhandled errors with an `exit(1)`.

rdar://124459751

I don't really have a testcase for this, since the crash report I got
for this involved the Swift language plugin.


  Commit: cc761a7c356178009d186e70740ccb53bf0c6deb
      https://github.com/llvm/llvm-project/commit/cc761a7c356178009d186e70740ccb53bf0c6deb
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp
    M llvm/lib/Target/PowerPC/P10InstrResources.td
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCBack2BackFusion.def
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCMacroFusion.def
    M llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp
    M llvm/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir

  Log Message:
  -----------
  [PowerPC][NFC] Rename ADDItocL to match the 64-bit naming convention (#85099)

In preparation of adding a similar instruction for large code model on
AIX for 32-bit, rename the exisitng ADDItocL 64-instruction to ADDItocL8
to match the naming convention of other instructions with 32-bit and
64-bit variants.


  Commit: f15a790fd383665ec4defa0711e975476fd8b18b
      https://github.com/llvm/llvm-project/commit/f15a790fd383665ec4defa0711e975476fd8b18b
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  Remove use of reference lifetime extension introduced in cdde0d9

Rather than dealing with which is more readable, the named variable
doesn't seem to add value here - so omit it.


  Commit: 57b991ab39348d91d8552787958ba7db1e7ceb8a
      https://github.com/llvm/llvm-project/commit/57b991ab39348d91d8552787958ba7db1e7ceb8a
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-convert-v4f64.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/neon-truncstore.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/vcvt-oversize.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll

  Log Message:
  -----------
  [AArch64] Improve lowering of truncating uzp1 (#82457)

There were two existing patterns:
    `concat_vectors(trunc(x), trunc(y)) -> uzp1(x, y)`
`concat_vectors(assertzext(trunc(x)), assertzext(trunc(y))) -> uzp1(x,
y)`

Move them into a class and add the following `assertsext` pattern to it:
`concat_vectors(assertsext(trunc(x)), assertsext(trunc(y))) -> uzp1(x,
y)`

Add the following transform for v8i8 and v4i16 result types to help with
pattern matching:
  `truncating uzp1(x, y) -> trunc(concat(x, y))`
And a pattern to go with it:
  `trunc(concat_vectors(x, y)) -> uzp1 (x, y)`

Add another isel pattern for v8i8 and v4i16 result vector types, similar
to
the existing concat pattern, but with a trunc node in the begining:
`trunc(concat_vectors(assertext_trunc(x), assertext_trunc(y))) ->
xtn(uzp1(x, y))`


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

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

  Log Message:
  -----------
  [VPlan] Use VPBuilder to create ActiveLaneMask (NFC).


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

  Changed paths:
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    A flang/test/Driver/cuda-option.f90

  Log Message:
  -----------
  [flang][cuda] Enable cuda with -x cuda option (#84944)

Flang driver was already able to enable the CUDA language feature base
on the file extension but there was no command line option. This PR adds
one.


  Commit: 5facb406e6417987ac5dfabd8f04510d7bc3fbc6
      https://github.com/llvm/llvm-project/commit/5facb406e6417987ac5dfabd8f04510d7bc3fbc6
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M libc/docs/gpu/support.rst

  Log Message:
  -----------
  [libc][docs] document gpu support for stdbit.h (#85103)

Via:
https://github.com/llvm/llvm-project/pull/84938#issuecomment-1992120095

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: bb893fa23f6c851d957d82e14bc1aa6fbbffcaaa
      https://github.com/llvm/llvm-project/commit/bb893fa23f6c851d957d82e14bc1aa6fbbffcaaa
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/test/Transforms/inlining-threshold.mlir

  Log Message:
  -----------
  [mlir] Fix inlining-threshold.mlir test for NDEBUG builds.


  Commit: ccd16085f70105d457f052543d731dd51089945b
      https://github.com/llvm/llvm-project/commit/ccd16085f70105d457f052543d731dd51089945b
  Author: Bhuminjay Soni <Soni5Happy at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-cleanup.c

  Log Message:
  -----------
  Diagnose misuse of the cleanup attribute (#80040)

This pull request fixes #79443 when the cleanup attribute is intended to
be applied to a variable declaration, passing its address to a specified
function. The problem arises when standard functions like free,
closedir, fclose, etc., are used incorrectly with this attribute,
leading to incorrect behavior.

Fixes #79443


  Commit: 69afb9d7875d79fdacaaa2f22b5ee3a06faf5373
      https://github.com/llvm/llvm-project/commit/69afb9d7875d79fdacaaa2f22b5ee3a06faf5373
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CodeGen/complex-math-mixed.c
    M clang/test/CodeGen/volatile.cpp
    A clang/test/Sema/complex-arithmetic.c

  Log Message:
  -----------
  [Clang] [Sema] Fix bug in `_Complex float`+`int` arithmetic (#83063)

C23 6.3.1.8 ‘Usual arithmetic conversions’ p1 states (emphasis mine): 
> Otherwise, if the corresponding real type of either operand is
`float`, the other operand is converted, *without change of type
domain*, to a type whose corresponding real type is `float`.

‘type domain’ here refers to `_Complex` vs real (i.e. non-`_Complex`);
there is another clause that states the same for `double`.

Consider the following code:
```c++
_Complex float f;
int x;
f / x;
```

After talking this over with @AaronBallman, we came to the conclusion
that `x` should be converted to `float` and *not* `_Complex float` (that
is, we should perform a division of `_Complex float / float`, and *not*
`_Complex float / _Complex float`; the same also applies to `-+*`). This
was already being done correctly for cases where `x` was already a
`float`; it’s just mixed `_Complex float`+`int` operations that
currently suffer from this problem.

This pr removes the extra `FloatingRealToComplex` conversion that we
were erroneously inserting and adds some tests to make sure we’re
actually doing `_Complex float / float` and not `_Complex float /
_Complex float` (and analogously for `double` and `-+*`).

The only exception here is `float / _Complex float`, which calls a
library function (`__divsc3`) that takes 4 `float`s, so we end up having
to convert the `float` to a `_Complex float` after all (and analogously
for `double`); I don’t believe there is a way around this.

Lastly, we were also missing tests for `_Complex` arithmetic at compile
time, so this adds some tests for that as well.


  Commit: 360da83858655ad8297f3c0467c8c97ebedab5ed
      https://github.com/llvm/llvm-project/commit/360da83858655ad8297f3c0467c8c97ebedab5ed
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/Transforms/Utils/DebugifyTest.cpp

  Log Message:
  -----------
  [RemoveDI][NFC] Rename DPValue->DbgRecord in comments and varnames (#84939)

This patch continues the ongoing rename work, replacing DPValue with
DbgRecord in comments and the names of variables, both members and
fn-local. This is the most labour-intensive part of the rename, as it is
where the most decisions have to be made about whether a given comment
or variable is referring to DPValues (equivalent to debug variable
intrinsics) or DbgRecords (a catch-all for all debug intrinsics); these
decisions are not individually difficult, but comprise a fairly large
amount of text to review.

This patch still largely performs basic string substitutions followed by
clang-format; there are almost* no places where, for example, a comment
has been expanded or modified to reflect the semantic difference between
DPValues and DbgRecords. I don't believe such a change is generally
necessary in LLVM, but it may be useful in the docs, and so I'll be
submitting docs changes as a separate patch.

*In a few places, `dbg.values` was replaced with `debug intrinsics`.


  Commit: e703c735df1257022bcb6ca9de857e20e671392f
      https://github.com/llvm/llvm-project/commit/e703c735df1257022bcb6ca9de857e20e671392f
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  AMDGPU: Remove incorrect uses of SubtaretPredicate around DS_Reals (#85001)

SubtargetPredicate is copied from DS_Pseudo to DS_Real. We should not
use another SubtargetPredicate assignment around DS_Real, because doing
so will override the predicate from DS_Pseudo.

For example, for DS_ADD_RTN_F64, SubtargetPredicate was set to
HasLdsAtomicAddF64 in Pseudo. And it will be overridden to isGFX90APlus
if we assign isGFX90APlus to SubtargetPredicate in Real definition.


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

  Changed paths:
    M mlir/test/Dialect/Linalg/transform-op-matmul-to-outerproduct.mlir

  Log Message:
  -----------
  [mlir][nfc] Update Linalg matmul -> Vector OP test (#81416)

Updates "transform-op-matmul-to-outerproduct.mlir". Summary:
  * refines TD sequence so that it's easier to reason about the
     compilation pipeline (e.g.
     `transform.structured.vectorize_children_and_apply_patterns`
     is replaced with`transform.structured.vectorize `),
  * new input dims to be able to distinguish parallel from reduction
    dims,
  * updates LIT variable names (makes the output easier to follow),
  * removes "noise" from the expected LIT output (e.g. types).

These Linalg -> Vector tests using Transform Dialect are great reference
points for constructing lowering pipelines. This simplification +
clean-up will hopefully make it easier to follow.


  Commit: 79cd2c0bb9acb4685094d6b3bf21c758aa51d3df
      https://github.com/llvm/llvm-project/commit/79cd2c0bb9acb4685094d6b3bf21c758aa51d3df
  Author: Nadeem, Usman <mnadeem at quicinc.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [AArch64] Fix tests after PR82457

Change-Id: I44a7e4a10af750b3339d6564c6ce6c2e5c17778e


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

  Changed paths:
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.h
    M llvm/test/tools/llvm-objcopy/ELF/Inputs/compress-debug-sections.yaml
    M llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zlib.test
    M llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zstd.test
    A llvm/test/tools/llvm-objcopy/ELF/decompress-sections.test

  Log Message:
  -----------
  [llvm-objcopy] --[de]compress-debug-sections: don't compress SHF_ALLOC sections, only decompress .debug sections

Simplify --[de]compress-debug-sections to make it easier to add custom section [de]compression.
Change the following two behaviors to match GNU objcopy.

* --compress-debug-sections compresses SHF_ALLOC sections while GNU
  doesn't.
* --decompress-debug-sections decompresses non-debug sections while GNU
  doesn't.

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


  Commit: 35f5caea5115d7dabf0c1a92c8627069d6dbd556
      https://github.com/llvm/llvm-project/commit/35f5caea5115d7dabf0c1a92c8627069d6dbd556
  Author: Chen Cheng <110446443+ChengChen002 at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [NFC] Corrected data type (#84880)

On windows, "&Method.first" is of type "unsigned long long *", and a
type conversion error occurs.


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

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    R clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn

  Log Message:
  -----------
  Revert "Reapply "[analyzer] Accept C library functions from the `std` namespace""

This reverts commit e48d5a838f69e0a8e0ae95a8aed1a8809f45465a.

Fails to build on x86-64 w/gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)
with the following message:

../llvm-project/clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp:41:28: error: declaration of ‘std::unique_ptr<clang::ASTUnit> IsCLibraryFunctionTest::ASTUnit’ changes meaning of ‘ASTUnit’ [-fpermissive]
   41 |   std::unique_ptr<ASTUnit> ASTUnit;
      |                            ^~~~~~~
In file included from ../llvm-project/clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp:4:
../llvm-project/clang/include/clang/Frontend/ASTUnit.h:89:7: note: ‘ASTUnit’ declared here as ‘class clang::ASTUnit’
   89 | class ASTUnit {
      |       ^~~~~~~


  Commit: cd20600767409b183a6d213d56f85f8041a21487
      https://github.com/llvm/llvm-project/commit/cd20600767409b183a6d213d56f85f8041a21487
  Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
    M llvm/test/Transforms/IRCE/compound-loop-bound.ll

  Log Message:
  -----------
  [LoopConstrainer] Apply loop gurads to check that loop bounds are safe (#71531)

Loop guards that apply to loop SCEV bounds allow IRCE for cases with
compound loop bounds such as:

if (K > 0 && M > 0)
  for (i = 0; i < min(K, M); i++) {...}

if (K > 0 && M > 0)
  for (i = min(K, M); i >= 0; i--) {...}

Otherwise SCEV couldn't prove that loops have safe bounds in these
cases.

Co-authored-by: Aleksander Popov <apopov at azul.com>


  Commit: 175b533720956017bb18d1280362f6890ee15b05
      https://github.com/llvm/llvm-project/commit/175b533720956017bb18d1280362f6890ee15b05
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M .github/workflows/llvm-project-tests.yml

  Log Message:
  -----------
  workflows: Add workaround for lld failures on MacOS (#85021)

See #81967


  Commit: bd77a26e9a15981114e9802d83047f42631125a2
      https://github.com/llvm/llvm-project/commit/bd77a26e9a15981114e9802d83047f42631125a2
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    A clang/test/SemaCXX/constexpr-explicit-object-lambda.cpp

  Log Message:
  -----------
  [Clang][Sema] Properly get captured 'this' pointer in lambdas with an explicit object parameter in constant evaluator (#81102)

There were some bugs wrt explicit object parameters in lambdas in the
constant evaluator:
- The code evaluating a `CXXThisExpr` wasn’t checking for explicit
object parameters at all and thus assumed that there was no `this` in
the current context because the lambda didn’t have one, even though we
were in a member function and had captured its `this`.
- The code retrieving captures as lvalues *did* account for explicit
object parameters, but it did not handle the case of the explicit object
parameter being passed by value rather than by reference.

This fixes #80997.

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


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

  Changed paths:
    M llvm/include/llvm/MC/MCInstBuilder.h
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-integer-arithmetic.s

  Log Message:
  -----------
  [RISCV] Add SMLoc to expanded vector pseudoinstructions in AsmParser. (#84875)

This is needed for llvm-mca to correctly apply vsetvli instruments to
these instructions.

Fixes #84799.


  Commit: 0bb30f9896d9cdd92514e0a2bfdc03811831f21c
      https://github.com/llvm/llvm-project/commit/0bb30f9896d9cdd92514e0a2bfdc03811831f21c
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [NFC] [hwasan] factor out some opt handling (#84414)


  Commit: c41966161fffea6ef280fbd341ef1751f70379dd
      https://github.com/llvm/llvm-project/commit/c41966161fffea6ef280fbd341ef1751f70379dd
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/test/tools/llvm-ar/coff-symtab.test

  Log Message:
  -----------
  [llvm-ar] Be explicit about archive format in coff-symtab.test tests. (#85112)

Fixes test failures on AIX after #82898.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with reused buildvector node, being resized after
minbitwidth analysis.


  Commit: f50d3582b4844b86ad86372028e44b52c560ec7d
      https://github.com/llvm/llvm-project/commit/f50d3582b4844b86ad86372028e44b52c560ec7d
  Author: Ian Anderson <iana at apple.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/lib/Basic/Module.cpp
    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/module.modulemap
    M clang/lib/Lex/ModuleMap.cpp
    M clang/test/Modules/no-undeclared-includes-builtins.cpp
    M clang/test/Modules/stddef.c

  Log Message:
  -----------
  [clang][modules] giving the __stddef_ headers their own modules can cause redeclaration errors with -fbuiltin-headers-in-system-modules (#84127)

On Apple platforms, some of the stddef.h types are also declared in
system headers. In particular NULL has a conflicting declaration in
<sys/_types/_null.h>. When that's in a different module from
<__stddef_null.h>, redeclaration errors can occur.

Make the \_\_stddef_ headers be non-modular in
-fbuiltin-headers-in-system-modules and restore them back to not
respecting their header guards. Still define the header guards though.
__stddef_max_align_t.h was in _Builtin_stddef_max_align_t prior to the
addition of _Builtin_stddef, and it needs to stay in a module because
struct's can't be type merged. __stddef_wint_t.h didn't used to have a
module, but leave it in it current module since it doesn't really belong
to stddef.h.


  Commit: 55b90b5140a2fe5f625a1dfe9dbb4ed4df968ce0
      https://github.com/llvm/llvm-project/commit/55b90b5140a2fe5f625a1dfe9dbb4ed4df968ce0
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
    M compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
    M compiler-rt/lib/interception/tests/CMakeLists.txt
    M compiler-rt/lib/msan/tests/CMakeLists.txt
    M compiler-rt/lib/orc/tests/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
    M compiler-rt/lib/tsan/tests/CMakeLists.txt
    M compiler-rt/lib/xray/tests/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Remove llvm_gtest dependency from unit tests

All these unit tests already include ${COMPILER_RT_GTEST_SOURCE} as an
input source file and the target llvm_gtest does not exist for
standalone builds. Currently the DEPS argument is ignored for standalone
builds so the missing target is not a problem, but as part of fixing a
build race for standalone builds I am planning to include those
dependencies in COMPILER_RT_TEST_STANDALONE_BUILD_LIBS configurations.

Reviewed By: vitalybuka

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


  Commit: 27e5312a8bc8935f9c5620ff061c647d9fbcec85
      https://github.com/llvm/llvm-project/commit/27e5312a8bc8935f9c5620ff061c647d9fbcec85
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
    M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp

  Log Message:
  -----------
  [compiler-rt] Avoid generating coredumps when piped to a tool

I was trying to debug why `ninja check-compiler-rt` was taking so long
to run on my system and after some debugging it turned out that most of
the time was being spent generating core dumps.

On many current Linux systems, coredumps are no longer dumped in the CWD
but instead piped to a utility such as systemd-coredumpd that stores
them in a deterministic location. This can be done by setting the
kernel.core_pattern sysctl to start with a '|'. However, when using such
a setup the kernel ignores a coredump limit of 0 (since there is no file
being written) and we can end up piping many gigabytes of data to
systemd-coredumpd which causes the test suite to freeze for a long time.
While most piped coredump handlers do respect the crashing processes'
RLIMIT_CORE, this is notable not the case for Debian's systemd-coredump
due to a local patch that changes sysctl.d/50-coredump.conf to ignore
the specified limit and instead use RLIM_INFINITY
(https://salsa.debian.org/systemd-team/systemd/-/commit/64599ffe44f0d).

Fortunately there is a workaround: the kernel recognizes the magic value
of 1 for RLIMIT_CORE to disable coredumps when piping. One byte is also
too small to generate any coredump, so it effectively behaves as if we
had set the value to zero.

The alternative to using RLIMIT_CORE=1 would be to use prctl() with the
PR_SET_DUMPABLE flag, however that also prevents ptrace(), so makes it
impossible to attach a debugger.

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

Reviewed By: vitalybuka

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


  Commit: 06e310fee12c3e5ea5c7ef066eab946eb84f317d
      https://github.com/llvm/llvm-project/commit/06e310fee12c3e5ea5c7ef066eab946eb84f317d
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-convert-v4f64.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/neon-truncstore.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/vcvt-oversize.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll

  Log Message:
  -----------
  Revert "[AArch64] Improve lowering of truncating uzp1" (#85115)

Reverts llvm/llvm-project#82457

The bot is broken, likely because of mid-air collision.


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

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

  Log Message:
  -----------
  [RISCV] Remove unnecessary ArrayRef. NFC


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

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

  Log Message:
  -----------
  [RISCV] Use references to avoid unnecessary struct copies. NFC


  Commit: b61fb18456ecd798b2fc340367018ab3109ebfae
      https://github.com/llvm/llvm-project/commit/b61fb18456ecd798b2fc340367018ab3109ebfae
  Author: Alastair Houghton <ahoughton at apple.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp

  Log Message:
  -----------
  [libc++] Fix tests on musl (#85085)

One or two of the tests need slight tweaks to make them pass when
building with musl.

rdar://118885724


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with buildvector with minbitwidth Root, NFC.


  Commit: 0b4688403672264ab451992a3461a0df113c3bd7
      https://github.com/llvm/llvm-project/commit/0b4688403672264ab451992a3461a0df113c3bd7
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-convert-v4f64.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/neon-truncstore.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
    M llvm/test/CodeGen/AArch64/vcvt-oversize.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll

  Log Message:
  -----------
  Revert "Revert "[AArch64] Improve lowering of truncating uzp1"" (#85119)

Reverts llvm/llvm-project#85115
The fix was already merged in
https://github.com/llvm/llvm-project/commit/79cd2c0bb9acb4685094d6b3bf21c758aa51d3df


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the operand node, not being in MinBWs, though
user is in.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    R llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll

  Log Message:
  -----------
  Revert "[SLP]Fix PR85082: PHI node has multiple entries."

This reverts commit 59ff907fc14aa2d02e57b4af4140949d4f8caca1 to fix
crash revealed in https://lab.llvm.org/buildbot/#/builders/198/builds/8881


  Commit: aa68e2814d9a4bad21e4def900152b2e78e25e98
      https://github.com/llvm/llvm-project/commit/aa68e2814d9a4bad21e4def900152b2e78e25e98
  Author: Kolya Panchenko <87679760+nikolaypanchenko at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/CodeGen/RISCV/rvv/compressstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compressstore-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compressstore-int.ll

  Log Message:
  -----------
  [RISCV] Support `llvm.masked.compressstore` intrinsic (#83457)

The changeset enables lowering of `llvm.masked.compressstore(%data,
%ptr, %mask)` for RVV for fixed vector type into:
```
%0 = vcompress %data, %mask, %vl
%new_vl = vcpop %mask, %vl
vse %0, %ptr, %1, %new_vl
```
Such lowering is only possible when `%data` fits into available LMULs
and otherwise `llvm.masked.compressstore` is scalarized by
`ScalarizeMaskedMemIntrin` pass.
Even though RVV spec in the section `15.8` provide alternative sequence
for compressstore, use of `vcompress + vcpop` should be a proper
canonical form to lower `llvm.masked.compressstore`. If RISC-V target
find the sequence from `15.8` better, peephole optimization can
transform `vcompress + vcpop` into that sequence.


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

  Changed paths:
    M libc/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [libc] Repurpose `LIBC_GPU_BUILD` option to enable the new format (#82848)

Summary:
We previously used the `LIBC_GPU_BUILD` option to control whether or not
the GPU build was enabled. This was recently replaced with a new format
that allows treating the GPU targets more directly. However, the new
format is somewhat difficult to use for people unfamiliar with the
runtimes builds, and the removal of this option somewhat broke backward
compatibility. This patch seeks to simplify enabling the GPU build by
repurposing the old enabling option and convert it to the new interface.

Unsure what the rules are here, since this is technically a `LIBC`
option living in the LLVM location.


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

  Changed paths:
    A llvm/test/Analysis/ValueTracking/knownbits-select-from-cond.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for inferring select arm bits from condition; NFC


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/knownbits-select-from-cond.ll

  Log Message:
  -----------
  [ValueTracking] Use select condition to help infer bits of arms

If we have something like `(select (icmp ult x, 8), x, y)`, we can use
the `(icmp ult x, 8)` to help compute the knownbits of `x`.

Closes #84699


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll

  Log Message:
  -----------
  [SLP]Fix PR85082: PHI node has multiple entries.

Need to record casted extractelement for the externally used scalar, not
original extract instruction.


  Commit: 1f973efd335f34c75fcba1ccbe288fd5ece15a64
      https://github.com/llvm/llvm-project/commit/1f973efd335f34c75fcba1ccbe288fd5ece15a64
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M libcxx/src/CMakeLists.txt
    M libcxxabi/src/CMakeLists.txt
    M libunwind/src/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Prefer -fvisibility-global-new-delete=force-hidden (#84917)

27ce26b06655cfece3d54b30e442ef93d3e78ac7 added the new option
-fvisibility-global-new-delete=, where -fvisibility-global-new-delete=force-hidden
is equivalent to the old option -fvisibility-global-new-delete-hidden.
At the same time, the old option was deprecated.

Test for and use the new option form first; if unsupported, try 
using the old form.

This avoids warnings in the MinGW builds, if built with Clang 18 or
newer.


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

  Changed paths:
    M openmp/libomptarget/test/offloading/barrier_fence.c

  Log Message:
  -----------
  [OpenMP] Disable flaky barrier fence test (#85093)

Summary:
This test is flaky on all targets I know of. We should disable it for
now so running the test suite doesn't randomly fail 50% of the time.


  Commit: 8bed754c2f965c8cbbb050be6f650b78f7fd78a6
      https://github.com/llvm/llvm-project/commit/8bed754c2f965c8cbbb050be6f650b78f7fd78a6
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    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/test/API/benchmarks/expression/TestExpressionCmd.py
    M lldb/test/API/benchmarks/expression/TestRepeatedExprs.py
    M lldb/test/API/benchmarks/frame_variable/TestFrameVariableResponse.py
    M lldb/test/API/benchmarks/startup/TestStartupDelays.py
    M lldb/test/API/benchmarks/stepping/TestSteppingSpeed.py
    M lldb/test/API/benchmarks/turnaround/TestCompileRunToBreakpointTurnaround.py
    M lldb/test/API/terminal/TestSTTYBeforeAndAfter.py

  Log Message:
  -----------
  [lldb][test] Add `pexpect` category for tests that `import pexpect` (#84860)

Instead of directly annotating pexpect-based tests with
`@skipIfWindows`, we can tag them with a new `pexpect` category. We
still automatically skip windows behavior by adding `pexpect` to the
skip category list if the platform is windows, but also allow
non-Windows users to skip them by configuring cmake with
`-DLLDB_TEST_USER_ARGS=--skip-category=pexpect`

As a prerequisite, remove the restriction that `@add_test_categories`
can only apply to test cases, and we make the test runner look for
categories on both the class and the test method.


  Commit: c0f2177dac02903bb1ae85af5d91760d0a1b6a02
      https://github.com/llvm/llvm-project/commit/c0f2177dac02903bb1ae85af5d91760d0a1b6a02
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    A clang/include/clang/Basic/Builtins.def

  Log Message:
  -----------
  Revert "[NFC] Remove unnecessary 'Builtins.def' file."

This reverts commit 5a95378659506b0ce94ceb79a43477e73c9756f4.

It was pointed out that this serves as documentation for the targets
where the builtin files have yet to be converted, so this should be left
in place.  Reverting!


  Commit: e2b8cc11b307aaf2717c344cbaa1d3eb5a4e0401
      https://github.com/llvm/llvm-project/commit/e2b8cc11b307aaf2717c344cbaa1d3eb5a4e0401
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M lldb/test/API/macosx/indirect_symbol/TestIndirectSymbols.py

  Log Message:
  -----------
  [lldb] XFAIL TestIndirectSymbols on darwin (#85127)

```
AssertionError: 'main' != 'call_through_indirect_hidden'
```


  Commit: 26bd3d0f9a5a518de02f4dc1921648cda54a0d4e
      https://github.com/llvm/llvm-project/commit/26bd3d0f9a5a518de02f4dc1921648cda54a0d4e
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia.cmake

  Log Message:
  -----------
  [Fuchsia] Add LLDB_TEST_USER_ARGS to stage2 passthrough


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    R llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll

  Log Message:
  -----------
  Revert "[SLP]Fix PR85082: PHI node has multiple entries."

This reverts commit 8237520eb42b37d7ed353d64a865d3ba5ac24ec6 to fix
a crash in https://lab.llvm.org/buildbot/#/builders/198/builds/8891.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll

  Log Message:
  -----------
  [SLP]Fix PR85082: PHI node has multiple entries.

Need to record casted extractelement for the externally used scalar, not
original extract instruction.


  Commit: 03e50c451427d908bbf8cf2d455de3ebba49fe4f
      https://github.com/llvm/llvm-project/commit/03e50c451427d908bbf8cf2d455de3ebba49fe4f
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/include/flang/Evaluate/constant.h
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/call41.f90

  Log Message:
  -----------
  [flang] Emit warning when Hollerith actual passed to CLASS(*) (#84084)

When a Hollerith actual argument is associated with an unlimited
polymorphic dummy argument, it's treated as if it were CHARACTER. Some
other compilers treat it as if it had been BOZ, so emit a portability
warning.

Resolves https://github.com/llvm/llvm-project/issues/83548.


  Commit: b49d741c0c3bb21b40c925b4c1a717470181eb8d
      https://github.com/llvm/llvm-project/commit/b49d741c0c3bb21b40c925b4c1a717470181eb8d
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M lldb/test/API/macosx/indirect_symbol/TestIndirectSymbols.py

  Log Message:
  -----------
  [lldb] Skip TestIndirectSymbols (#85133)

Correction to e2b8cc11b307aaf2717c344cbaa1d3eb5a4e0401


  Commit: ea848d0a6d5c17af3eb1a4e39dc712606ac684f6
      https://github.com/llvm/llvm-project/commit/ea848d0a6d5c17af3eb1a4e39dc712606ac684f6
  Author: MessyHack <messyhack at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [OpenMP] Sort topology after adding processor group layer. (#83943)

Various behavior around creating affinity masks and detecting uniform
topology depends on the topology being sorted.

resort topology after adding processor group layer to ensure that the
updated topology reflects the newly added processor group info.

Observed that the topology was not sorted correctly on high core count
AMD Epyc Genoa (2 sockets, 96 cores, 2 threads) using NUMA (NPS 2+).


  Commit: ccfb9e6eb7429885e6d09e99cf89bce41f1ca3cc
      https://github.com/llvm/llvm-project/commit/ccfb9e6eb7429885e6d09e99cf89bce41f1ca3cc
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp

  Log Message:
  -----------
  [flang] Omit parent components for references to bindings (#84836)

https://github.com/llvm/llvm-project/pull/78593 changed expression
semantics to always include the names of parent components that were
necessary to access an inherited component. This turns out to have
broken calls to inherited NOPASS procedure bindings. Update the patch to
omit explicit parent components when accessing bindings, while retaining
them for component accesses (including procedure components).


  Commit: af61b8e8f18df2545017ade74baee7a8a8ca99f8
      https://github.com/llvm/llvm-project/commit/af61b8e8f18df2545017ade74baee7a8a8ca99f8
  Author: Justice Adams <107649528+justice-adams-apple at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  [cmake] Add check_linker_flag import (#85128)

Fixing

```
CMake Error at cmake/llvm/AddLLVM.cmake:266 (check_linker_flag):
  Unknown CMake command "check_linker_flag".
```


  Commit: 5661188c5766c3136d1954d769825261715b1f9a
      https://github.com/llvm/llvm-project/commit/5661188c5766c3136d1954d769825261715b1f9a
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/include/flang/Semantics/module-dependences.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Semantics/mod-file.cpp
    M flang/test/Semantics/modfile63.f90

  Log Message:
  -----------
  [flang] Support multiple distinct module files with same name in one … (#84838)

…compilation

Allow multiple module files with the same module name to exist in one
compilation; distinct modules are distinguished by their hashes.


  Commit: af964c7e31f0728e84c97b734933fcb9a1912bce
      https://github.com/llvm/llvm-project/commit/af964c7e31f0728e84c97b734933fcb9a1912bce
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    A flang/docs/RuntimeEnvironment.md
    M flang/docs/index.md
    M flang/runtime/environment.cpp
    M flang/runtime/environment.h
    M flang/runtime/pointer.cpp

  Log Message:
  -----------
  [flang][runtime] Let FORT_CHECK_POINTER_DEALLOCATION=0 disable runtime … (#84956)

…check

Add an environment variable by which a user can disable the pointer
validation check in DEALLOCATE statement handling. This is not safe, but
it can help make a code work that allocates a pointer with an extended
derived type, associates its target with a pointer to one of its
ancestor types, and then deallocates that pointer.


  Commit: 003e292f9895a9cf4e30688269efa668d1fcbb09
      https://github.com/llvm/llvm-project/commit/003e292f9895a9cf4e30688269efa668d1fcbb09
  Author: Amy Huang <akhuang at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p3.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/dtor.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3-2b.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp
    M clang/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp
    M clang/test/CXX/drs/dr13xx.cpp
    M clang/test/CXX/drs/dr14xx.cpp
    M clang/test/CXX/drs/dr15xx.cpp
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/drs/dr6xx.cpp
    M clang/test/CXX/expr/expr.const/p5-26.cpp
    M clang/test/CXX/special/class.copy/p13-0x.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constant-expression-cxx2b.cpp
    R clang/test/SemaCXX/cxx23-invalid-constexpr.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaOpenCLCXX/addrspace-constructors.clcpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  Revert "[Clang][C++23] Implement P2448R2 ..." (#85136)

Revert "[Clang][C++23] Implement P2448R2: Relaxing some constexpr
restrictions (#77753)"

This reverts commit 99500e8c08a4d941acb8a7eb00523296fb2acf7a because it
causes a behavior change for std=c++20. See
https://github.com/llvm/llvm-project/pull/77753.


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

  Changed paths:
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
    A llvm/test/MC/RISCV/xsifive-invalid.s
    A llvm/test/MC/RISCV/xsifive-valid.s
    M llvm/unittests/Support/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add back SiFive's cdiscard.d.l1, cflush.d.l1, and cease instructions. (#83896)

These were in LLVM 17 but removed from LLVM 18 due to an incorrect
extension name being used.

This restores them with new extension names that match SiFive's
downstream compiler. The extension name has been used internally for
some time. It uses XSiFive instead of XSf like the newer extensions.
`cease` did not have an internal extension name so its using the `XSf`
convention.

The spec for the instructions is here
https://sifive.cdn.prismic.io/sifive/767804da-53b2-4893-97d5-b7c030ae0a94_s76mc_core_complex_manual_21G3.pdf
though the extension name is not listed.

Column width in the extension printing had to be changed to accommodate
a longer extension name.


  Commit: 7bdba956efae81f111f0cc6c7aaa92f9712444ba
      https://github.com/llvm/llvm-project/commit/7bdba956efae81f111f0cc6c7aaa92f9712444ba
  Author: Fehr Mathieu <mathieu.fehr at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Fix `arith.select` canonicalization patterns (#84685)

Because `arith.select` does not propagate poison of the second or third
operand depending on the condition, some canonicalization patterns are
currently incorrect. This patch removes these incorrect patterns, and
adds a new pattern to fix the case of `i1` select with constants.

Patterns that are removed:
* select(predA, select(predB, x, y), y) => select(and(predA, predB), x,
y)
* select(predA, select(predB, y, x), y) => select(and(predA,
not(predB)), x, y)
* select(predA, x, select(predB, x, y)) => select(or(predA, predB), x,
y)
* select(predA, x, select(predB, y, x)) => select(or(predA, not(predB)),
x, y)
* arith.select %arg, %x, %y : i1 => and(%arg, %x) or and(!%arg, %y)
  
Pattern that is added:
* select(pred, false, true) => not(pred) for i1

The first two patterns are incorrect when `predB` is poison and `predA`
is false, as a non-poison `y` gets compiled to `poison`. The next two
patterns are incorrect when `predB` is poison and `predA` is true, as a
non-poison `x` gets compiled to `poison`. The last pattern is incorrect
as it propagates poison from all operands afer compilation.


  Commit: fc71a49eca630a0f201261b89c5c9b0252ddb48b
      https://github.com/llvm/llvm-project/commit/fc71a49eca630a0f201261b89c5c9b0252ddb48b
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/runtime/format-implementation.h
    M flang/runtime/internal-unit.cpp
    M flang/runtime/internal-unit.h
    M flang/runtime/io-stmt.cpp
    M flang/runtime/io-stmt.h

  Log Message:
  -----------
  [flang][runtime] Handle end of internal output correctly (#84994)

At the end of an internal output statement, be sure to finish any
following control edit descriptors in the format (if any), and (for
output) advance to the next record. Return the right I/O error status
code if output overruns the buffer.


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

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h

  Log Message:
  -----------
  [clang] Initialize AllTocData after #67999


  Commit: 702a86a8f1e4d96c62574fc8d7dd9ccea243517a
      https://github.com/llvm/llvm-project/commit/702a86a8f1e4d96c62574fc8d7dd9ccea243517a
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/resolve11.f90

  Log Message:
  -----------
  [flang] Correct accessibility of name that is both generic and derive… (#85098)

…d type

When the same name is used for a derived type and generic interface in a
module, and no explicit PUBLIC or PRIVATE statement appears for the name
but the derived type definition does have an explicit accessibility,
that accessibility must also apply to the generic interface.


  Commit: 9bfa506d69b9177ced00b69bf94b28038b063d6d
      https://github.com/llvm/llvm-project/commit/9bfa506d69b9177ced00b69bf94b28038b063d6d
  Author: Amy Huang <akhuang at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:

  Log Message:
  -----------
  Unrevert "[Clang][C++23] Implement P2448R2: Relaxing some constexpr re… (#85140)

Unrevert commit
https://github.com/llvm/llvm-project/commit/2f67dfb012038678dd0b873394a55bd5c937f843
as there were already dependent changes in the codebase that now fail.


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

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/shuffle-insert_subvector.ll

  Log Message:
  -----------
  [RISCV] Add cost model coverage for fixed vector insert with known VLEN


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

  Changed paths:
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CommandLine.cpp

  Log Message:
  -----------
  [llvm] Include LLVM_REPOSITORY and LLVM_REVISION in tool version (#84990)

Include the `LLVM_REPOSITORY` and `LLVM_REVISION` in the version output
of tools using `cl::PrintVersionMessage()` such as dwarfdump and
dsymutil.

Before:

```
$ llvm-dwarfdump --version
LLVM (http://llvm.org/):
  LLVM version 19.0.0git
  Optimized build with assertions.
```

After:

```
$ llvm-dwarfdump --version
LLVM (http://llvm.org/):
  LLVM version 19.0.0git (git at github.com:llvm/llvm-project.git 8467457afc61d70e881c9817ace26356ef757733)
  Optimized build with assertions.
```

rdar://121526866


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

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

  Log Message:
  -----------
  [asan][windows] fix issue64990 test (#85137)

This was broken by https://github.com/llvm/llvm-project/pull/84971


  Commit: b87db5b6c28f1b5b2358213351d837bc72777cd5
      https://github.com/llvm/llvm-project/commit/b87db5b6c28f1b5b2358213351d837bc72777cd5
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M flang/include/flang/Runtime/api-attrs.h
    M flang/runtime/environment.cpp
    M flang/runtime/environment.h

  Log Message:
  -----------
  [flang][runtime] Fixed flang-runtime-cuda-gcc builder after af964c7. (#85144)


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

  Changed paths:
    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/condition_variable.h
    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/secondary.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

  Log Message:
  -----------
  [scudo] Refactor allocator config to support optional flags (#81805)

Instead of explicitly disabling a feature by declaring the variable and
set it to false, this change supports the optional flags. I.e., you can
skip certain flags if you are not using it.

This optional feature supports both forms,
  1. Value: A parameter for a feature. E.g., EnableRandomOffset
  2. Type: A C++ type implementing a feature. E.g., ConditionVariableT

On the other hand, to access the flags will be through one of the
wrappers, BaseConfig/PrimaryConfig/SecondaryConfig/CacheConfig
(CacheConfig is embedded in SecondaryConfig). These wrappers have the
getters to access the value and the type. When adding a new feature, we
need to add it to `allocator_config.def` and mark the new variable with
either *_REQUIRED_* or *_OPTIONAL_* macro so that the accessor will be
generated properly.

In addition, also remove the need of `UseConditionVariable` to flip
on/off of condition variable. Now we only need to define the type of
condition variable.


  Commit: 7009c981ecd99756ed08bcad47c4fa595b5e2426
      https://github.com/llvm/llvm-project/commit/7009c981ecd99756ed08bcad47c4fa595b5e2426
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_win_dll_thunk.cpp
    M compiler-rt/test/asan/TestCases/Windows/intercept_strdup.cpp

  Log Message:
  -----------
  Reapply "[sanitizer][asan][win] Intercept _strdup on Windows (#85006)

Reapply "[sanitizer][asan][win] Intercept _strdup on Windows instead of
strdup

This includes test changes and interface changes that are duplicated in
https://github.com/llvm/llvm-project/pull/81677

This reverts commit 03dc87e93937bf25a48bc77d0006c59f37b1855d.


  Commit: f9a14782000e6aa2c4031bc97b20c351a9f281c3
      https://github.com/llvm/llvm-project/commit/f9a14782000e6aa2c4031bc97b20c351a9f281c3
  Author: Amy Huang <akhuang at google.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p3.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/dtor.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3-2b.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp
    M clang/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp
    M clang/test/CXX/drs/dr13xx.cpp
    M clang/test/CXX/drs/dr14xx.cpp
    M clang/test/CXX/drs/dr15xx.cpp
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/drs/dr6xx.cpp
    M clang/test/CXX/expr/expr.const/p5-26.cpp
    M clang/test/CXX/special/class.copy/p13-0x.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constant-expression-cxx2b.cpp
    A clang/test/SemaCXX/cxx23-invalid-constexpr.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaOpenCLCXX/addrspace-constructors.clcpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  Reapply "[Clang][C++23] Implement P2448R2 ..." (#85136) (#85145)

This reverts commit 003e292f9895a9cf4e30688269efa668d1fcbb09 because
there were dependent changes in the codebase that now fail.


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

  Changed paths:
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/add-sitofp.ll
    M llvm/test/Transforms/InstCombine/binop-itofp.ll
    M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
    M llvm/test/Transforms/InstCombine/fpcast.ll
    M llvm/test/Transforms/InstCombine/minmax-fold.ll
    M llvm/test/Transforms/InstCombine/minmax-fp.ll
    M llvm/test/Transforms/InstCombine/pr27236.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize `(sitofp x)` -> `(uitofp x)` if `x >= 0`

Just a standard canonicalization.

Proofs: https://alive2.llvm.org/ce/z/9W4VFm

Closes #82404


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

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp

  Log Message:
  -----------
  [NFC] Remove trailing white spaces


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

  Changed paths:
    M compiler-rt/test/lsan/TestCases/recoverable_leak_check.cpp

  Log Message:
  -----------
  [lsan] Disable symbolization in test

With internal symbolizer leaking pointers can be
copied into alive memory used by symbolizer.


  Commit: 6d8aba3d1add74a0e1ef548e2d6e15ad7565ee0b
      https://github.com/llvm/llvm-project/commit/6d8aba3d1add74a0e1ef548e2d6e15ad7565ee0b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/tests/BUILD.gn

  Log Message:
  -----------
  [gn] port 2dc9ec47fb16


  Commit: 60d54867125d299290c6df5771008b8c1257d7c2
      https://github.com/llvm/llvm-project/commit/60d54867125d299290c6df5771008b8c1257d7c2
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [gn] attempt to port 6885810e7de (vcsrevision dep in Support)


  Commit: 02cadde5ed564df82d9caddd5dad257ea894fa0d
      https://github.com/llvm/llvm-project/commit/02cadde5ed564df82d9caddd5dad257ea894fa0d
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst

  Log Message:
  -----------
  [Docs][GlobalISel] Fix a long header in GenericOpcode (NFC) (#84976)


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

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

  Log Message:
  -----------
  [llvm-exegesis] Use ExitOnErr instead of manually logging and exiting

This patch removes an explicit use of dbgs() and exit when logging an
error to explicitly use ExitOnErr as this is the canonical way to do
this within exegesis.


  Commit: c29b265eb9b7b3b6dc44d87fe6fec8a52485847d
      https://github.com/llvm/llvm-project/commit/c29b265eb9b7b3b6dc44d87fe6fec8a52485847d
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    A llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll

  Log Message:
  -----------
  Reapply "[AMDGPU] Add pal metadata 3.0 support to callable pal funcs (#67104)"

This reverts commit 7d508eb5d38f4bbbab4230a666d9e742e271af61.


  Commit: c1c8a0cb17468bcece489adea2b31df6920c96cb
      https://github.com/llvm/llvm-project/commit/c1c8a0cb17468bcece489adea2b31df6920c96cb
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/AST/ast-dump-concepts.cpp

  Log Message:
  -----------
  [concepts] Preserve the FoundDecl of ConceptReference properly (#85032)

The `ConceptReference`'s `FoundDecl` claims it "can differ from
`NamedConcept` when, for example, the concept was found through a
`UsingShadowDecl`", but such the contract was not previously respected.

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


  Commit: b84ce9979990283aa4398ad5a654b8b283baa532
      https://github.com/llvm/llvm-project/commit/b84ce9979990283aa4398ad5a654b8b283baa532
  Author: Kuba (Brecka) Mracek <mracek at apple.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/test/CodeGenCXX/arm-swiftcall.cpp

  Log Message:
  -----------
  [clang] Define SwiftInfo for RISCVTargetCodeGenInfo (#82152)

For Embedded Swift, let's unblock building for RISC-V boards (e.g.
ESP32-C6). This isn't trying to add full RISC-V support to Swift /
Embedded Swift, it's just fixing the immediate blocker (not having
SwiftInfo defined blocks all compilations).


  Commit: 1e9bfcd9a423765a86b2fc807c3bc3a097823deb
      https://github.com/llvm/llvm-project/commit/1e9bfcd9a423765a86b2fc807c3bc3a097823deb
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineValueMap.h
    M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
    M mlir/lib/Dialect/Affine/IR/AffineValueMap.cpp
    M mlir/test/Dialect/Affine/access-analysis.mlir
    M mlir/test/lib/Dialect/Affine/TestAccessAnalysis.cpp

  Log Message:
  -----------
  [MLIR][Affine] Fix/complete access index invariance, add isInvariantAccess (#84602)

isAccessIndexInvariant had outdated code and didn't handle IR with
multiple
affine.apply ops, which is inconvenient when used as a utility.  This is
addressed by switching to use the proper API on AffineValueMap. Add
mlir::affine::isInvariantAccess exposed for outside use and tested via
the test pass. Add a method on AffineValueMap.  Add test cases to
exercise simplification and composition for invariant access analysis.

A TODO/FIXME has been added but this issue existed before.


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

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h

  Log Message:
  -----------
  [mlir][IR] Add additional rewriter constructor (#85044)

For convenience, add an additional constructor to `RewriterBase` and
`IRRewriter` that also sets the insertion point. `OpBuilder` provides a
similar constructor.


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

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

  Log Message:
  -----------
  [RISCV] Move matchRegisterNameHelper into the RISCVAsmParser and remove IsRVE argument. NFC (#85172)

With it in the class we can use isRVE() inside the function instead of
making the callers do it.


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

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

  Log Message:
  -----------
  [RISCV] Replace a hardcoded 16 with RISCVZC::INVALID_RLIST. NFC


  Commit: 162180decf532acd31c9aa4b876804848d1761c0
      https://github.com/llvm/llvm-project/commit/162180decf532acd31c9aa4b876804848d1761c0
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    A clang/test/Options/HV.hlsl

  Log Message:
  -----------
  [HLSL] Add -HV option translation to clang-dxc.exe (#83938)

Previously, clang-dxc.exe would not recognize -HV as a valid argument to
DXC, and would be unable to translate the argument to a legal clang
argument. This PR implements a translation of the HV option and its
value to the appropriate clang flag and the appropriate value. It adds a
test by using the -### option to spit out the translated options, and
checks to see that the correct option was generated.
Fixes #83479

---------

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


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

  Changed paths:
    M llvm/lib/CodeGen/GCRootLowering.cpp
    A llvm/test/CodeGen/Generic/gc-lowering.ll

  Log Message:
  -----------
  [CodeGen][GC] Skip function without GC in `GCLoweringPass` (#84421)


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/extract-select-agg.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize `extractvalue + select` (#84686)

This patch canonicalizes `extractvalue (select Cond, TV, FV)` into
`select Cond, (extractvalue TV), (extractvalue FV)`. The latter form may
enable more optimizations.


  Commit: 3b5e7c83a6e226d5bd7ed2e9b67449b64812074c
      https://github.com/llvm/llvm-project/commit/3b5e7c83a6e226d5bd7ed2e9b67449b64812074c
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/Sema/PR84368.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix a bug on type constraint checking (#84671)

Try to fix https://github.com/llvm/llvm-project/issues/84368
When visiting class members in
`TemplateDeclInstantiator::VisitClassTemplateDecl` during
`Sema::InstantiateClass`, we miss to set attribute of friend declaration
if it is(`isFriend` is true). This will lead to
`Sema::AreConstraintExpressionsEqual` return false when invoked in
`MatchTemplateParameterKind`. Because it makes
`Sema::getTemplateInstantiationArgs` returns incorrect template
argument(`MultiLevelTemplateArgumentList`). When we handle
`CXXRecordDecl` In `Sema::getTemplateInstantiationArgs`, friend
declaration(its parent context is `FileContext`) makes us to choose
`LexicalDeclContext` not `DeclContext` and this is what we want.

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: 071f72a8ecfbcb77c0f95969431b0f5dbc8ed2b2
      https://github.com/llvm/llvm-project/commit/071f72a8ecfbcb77c0f95969431b0f5dbc8ed2b2
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/lib/Target/Cpp/CMakeLists.txt
    M mlir/lib/Target/Cpp/TranslateRegistration.cpp
    M mlir/test/Target/Cpp/invalid.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][Target][Cpp] Remove unused dialects (#85102)

Removes linking and registering dialects that are not support any more.


  Commit: e6048b728d3170651828ad2dd7ed5ad0bc5e4f06
      https://github.com/llvm/llvm-project/commit/e6048b728d3170651828ad2dd7ed5ad0bc5e4f06
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    A mlir/test/Transforms/buffer-results-to-out-params-add-result-attr.mlir

  Log Message:
  -----------
  [MLIR][Bufferization] BufferResultsToOutParams: Add option to add attribute to output arguments (#84320)

Adds a new pass option `add-result-attr` that will make the pass add the
attribute `{bufferize.result}` to each argument that was converted from
a result.
This is important e.g. when later using the python bindings / execution
engine to understand which arguments are actually results.

To be able to test this, the pass option was added to the tablegen. To
avoid collisions with the existing, manually defined option struct
`BufferResultsToOutParamsOptions`, that one was renamed to
`BufferResultsToOutParamsOpts`.


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

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

  Log Message:
  -----------
  [mlir][complex] Support Fastmath flag in conversion of complex.sqrt to standard (#85019)

When converting complex.sqrt op to standard, we need to keep the fast
math flag given to the op.

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


  Commit: 2582965c160486f9e3b0680f1cebc5ffdef9620c
      https://github.com/llvm/llvm-project/commit/2582965c160486f9e3b0680f1cebc5ffdef9620c
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/Modules/reduced-bmi-generating-codes.cppm

  Log Message:
  -----------
  [C++20] [Modules] [Reduced BMI] Generate the function body from implicitly instantiated class and constant variables

After this patch, we will generate the function body from implicitly
instantiated class. This is important for consumers with same
template arguments. Otherwise the consumers won't see the function body.
Since the consumers won't instantiate the templates again if they find an
instantiation.

Also we will generate the variable definition if the variable is
non-inline but known as constant. Such variables may not affect the
ABI, but they may get involved into the compile time constant computation
in the consumer's code. So we have to generate such definitions.


  Commit: 8f68022f8e6e54d1aeae4ed301f5a015963089b7
      https://github.com/llvm/llvm-project/commit/8f68022f8e6e54d1aeae4ed301f5a015963089b7
  Author: huang-me <56251429+huang-me at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/test/Analysis/loop-unrolling.cpp

  Log Message:
  -----------
  [clang][analyzer] Fix crash in loop unrolling (#82089)

StaticAnalyzer didn't check if the variable is declared in
`CompoundStmt` under `SwitchStmt`, which make static analyzer reach root
without finding the declaration.

Fixes #68819

---------

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


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

  Changed paths:
    M lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py

  Log Message:
  -----------
  [LLDB][Test] Fix the test case of listing verbose break info on Windows (#85200)

I noticed a failure of [running LLDB test suites on Windows
AArch64](https://lab.llvm.org/buildbot/#/builders/219/builds/9849). The
failed test case is about
checking output of command `breakpoint list -v -L c++`, and an mismatch
on the demangled
name of a function occurred. The test case expects `ns::func(void)`, but
on Windows it is `int ns::func(void)`.
It results from the different mangling scheme used by MSVC, and the
comparison is as follows:

| Scheme | Mangled | Demangled (fully) | Note |
| --- | --- | --- | --- |
| MSVC | `?func at ns@@YAHXZ` | `int __cdecl ns::func(void)` |
[Godbolt](https://godbolt.org/z/5ns8c7xW3) (I have no available Windows
device) |
| Itanium | `_ZN2ns4funcEv` | `ns::func()` | |

According to the current use of MSVC demangling,


https://github.com/llvm/llvm-project/blob/8f68022f8e6e54d1aeae4ed301f5a015963089b7/lldb/source/Core/Mangled.cpp#L128-L143

the `__cdecl` specifier is not part of the name. However, the function's
parameter types should be present
as ` llvm::MSDF_NoVariableType` [does not affect a symbol for
functions](https://github.com/llvm/llvm-project/blob/8f68022f8e6e54d1aeae4ed301f5a015963089b7/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp#L417-L453).

Therefore, it is inappropriate to assume the demangled name are the same
on all platforms. Instead of tweaking the
existing code of demangling to get the same (demangled) name, I think it
is more reasonable to modify the test case.


  Commit: 65f5e2c4070f22ab7a1617c798b4c61baa9b39a8
      https://github.com/llvm/llvm-project/commit/65f5e2c4070f22ab7a1617c798b4c61baa9b39a8
  Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [RISC-V] Add another missing cast in .td file (#85055)

Another instance where we produce an instruction that defines a vreg
with an i32 value.


  Commit: 2cf2ca37029435e90829e2e38a27ef7a7d520368
      https://github.com/llvm/llvm-project/commit/2cf2ca37029435e90829e2e38a27ef7a7d520368
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Target/Cpp/CppEmitter.h
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp

  Log Message:
  -----------
  [mlir][Target][Cpp] Cleanup includes (#85105)


  Commit: afec257d369a13893b39d02bc630f9f3cec80162
      https://github.com/llvm/llvm-project/commit/afec257d369a13893b39d02bc630f9f3cec80162
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-03-14 (Thu, 14 Mar 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/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-load.ll
    M llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-store.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-args-rev.ll
    A llvm/test/CodeGen/SPIRV/pointers/type-deduce-args.ll

  Log Message:
  -----------
  [SPIRV] Add type inference of function parameters by call instances (#85077)

This PR adds type inference of function parameters by call instances.
Two use cases that demonstrate the problem are added.


  Commit: aff05708916107eec73ea5db363f625926f60730
      https://github.com/llvm/llvm-project/commit/aff05708916107eec73ea5db363f625926f60730
  Author: Atousa Duprat <atousa.p at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 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

  Log Message:
  -----------
  [ADT] Add implementations for avgFloor and avgCeil to APInt (#84431)

Supports both signed and unsigned expansions.

SelectionDAG now calls the APInt implementation of these functions.

Fixes #84211.


  Commit: b19cfb9175223d3e1bb3ef6d49ccd26d0104906c
      https://github.com/llvm/llvm-project/commit/b19cfb9175223d3e1bb3ef6d49ccd26d0104906c
  Author: Carlos Alberto Enciso <47597242+CarlosAlbertoEnciso at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
    M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVELFReader.cpp
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/01-wasm-compare-logical-elements.test
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/01-wasm-print-basic-details.test
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/01-wasm-select-logical-elements.test
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/02-wasm-logical-lines.test
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/03-wasm-incorrect-lexical-scope-typedef.test
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/04-wasm-missing-nested-enumerators.test
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/05-wasm-incorrect-lexical-scope-variable.test
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/06-wasm-full-logical-view.test
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/definitions.h
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/hello-world-clang.s
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/hello-world.cpp
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-43860-clang.s
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-43860.cpp
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-44884-clang.s
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-44884.cpp
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-46466-clang.s
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/pr-46466.cpp
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/test-clang.s
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/test.cpp
    A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/README.txt

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] Add support for WebAssembly binary format. (#82588)

Add support for the WebAssembly binary format and be able to generate
logical views.

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

The README.txt includes information about how to build the test cases.


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

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

  Log Message:
  -----------
  [DAG] ExpandIntRes_Shift - pull out repeated getOpcode() calls. NFC.


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

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

  Log Message:
  -----------
  [X86] splitVectorOp - share the same SDLoc argument instead of recreating it over and over again.


  Commit: 4528c44d0a82f2b5fe25757b28b185c3c880cfb2
      https://github.com/llvm/llvm-project/commit/4528c44d0a82f2b5fe25757b28b185c3c880cfb2
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M libcxx/include/__format/concepts.h
    M libcxx/include/__tuple/tuple_size.h
    M libcxx/include/chrono
    M libcxx/include/tuple
    M libcxx/include/vector
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_v.verify.cpp

  Log Message:
  -----------
  [libc++] Remove <tuple> include from <__format/concepts.h> (#80214)

This also moves `tuple_size_v` into `tuple_size` as a drive-by.


  Commit: a82ca398ce30c499adf73fdd200352714d9867d0
      https://github.com/llvm/llvm-project/commit/a82ca398ce30c499adf73fdd200352714d9867d0
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td

  Log Message:
  -----------
  [mlir][EmitC] Fix type in example (#85205)


  Commit: 95fef1dfefd5467206e74c089d29806fcd82889b
      https://github.com/llvm/llvm-project/commit/95fef1dfefd5467206e74c089d29806fcd82889b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll

  Log Message:
  -----------
  [LV] Improve AnyOf reduction codegen. (#78304)

Update AnyOf reduction code generation to only keep track of the AnyOf
property in a boolean vector in the loop, only selecting either the new
or start value in the middle block.

The patch incorporates feedback from https://reviews.llvm.org/D153697.

This fixes the #62565, as now there aren't multiple uses of the
start/new values.

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

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


  Commit: 763be018c57171730f80367e75d994a80f34d2ea
      https://github.com/llvm/llvm-project/commit/763be018c57171730f80367e75d994a80f34d2ea
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/docs/UserGuides.rst

  Log Message:
  -----------
  [RemoveDIs][NFC] Update docs to reflect new class structure (#85109)

This patch adds some small updates to the LLVM documentation regarding
DbgRecords to accurately describe the current class structure. There are
some more refactorings to come, so this isn't intended to be the final
document update, but it covers the immediate task of updating references
to DPValue that really refer to DbgRecord.


  Commit: 4299c727e4806aa55398ad23da48a401554cd432
      https://github.com/llvm/llvm-project/commit/4299c727e4806aa55398ad23da48a401554cd432
  Author: Tim Northover <tnorthover at apple.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/builtins-arm64.c
    M clang/test/Sema/builtins-arm64.c

  Log Message:
  -----------
  AArch64: add __builtin_arm_trap

It's useful to provide an indicator code with the trap, which the generic
__builtin_trap can't do. asm("brk #N") is an option, but following that with a
__builtin_unreachable() leads to two traps when the compiler doesn't know the
block can't return. So compiler support like this is useful.


  Commit: 5f774619eac5db73398225a4c924a9c1d437fb40
      https://github.com/llvm/llvm-project/commit/5f774619eac5db73398225a4c924a9c1d437fb40
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 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/CombinerHelper.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-overflow.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-addo-zero.mir
    M llvm/test/CodeGen/AArch64/overflow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll

  Log Message:
  -----------
  [GlobalIsel] Combine ADDO (#82927)

Perform the requested arithmetic and produce a carry output in addition
to the normal result.

Clang has them as builtins (__builtin_add_overflow_p). The middle end
has intrinsics for them (sadd_with_overflow).

AArch64: ADDS Add and set flags

On Neoverse V2, they run at half the throughput of basic arithmetic and
have a limited set of pipelines.


  Commit: 2e865353ed6baa35609e94bf5de9f2061df6eacf
      https://github.com/llvm/llvm-project/commit/2e865353ed6baa35609e94bf5de9f2061df6eacf
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  [RemoveDIs][NFC] Move DPValue::filter -> filterDbgVars (#85208)

This patch changes DPValue::filter to be a non-member method
filterDbgVars. There are two reasons for this: firstly, the name of
DPValue is about to change to DbgVariableRecord, which will result in
every `for` loop that uses DPValue::filter to require a line break. This
is a small thing, but it makes the rename patch more difficult to
review, and is just generally more awkward for what is a fairly common
loop. Secondly, the intent is to later break up the DPValue class into
subclasses, at which point it would be better to have a non-member
function that allows template arguments for the cases we want to filter
with greater specificity.


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

  Changed paths:
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [Support] KnownBitsTest - don't bother creating lambdas in testBinaryOpExhaustive callbacks if we can just use the raw KnownBits/APIntOps function reference. NFCI.


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

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

  Log Message:
  -----------
  [DAG] foldAndToUsubsat - convert to use sd_match pattern. NFC.


  Commit: ef8062e35b3aae0e9d8bdee6534511a7b9eb49d0
      https://github.com/llvm/llvm-project/commit/ef8062e35b3aae0e9d8bdee6534511a7b9eb49d0
  Author: Oleg Shyshkov <shyshkov at google.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Target/Cpp/CppEmitter.h

  Log Message:
  -----------
  [mlir][Target][Cpp] Fix include.

mlir/include/mlir/Target/Cpp/CppEmitter.h:27:45: error: unknown type name 'raw_ostream'; did you mean 'llvm::raw_ostream'?
   27 | LogicalResult translateToCpp(Operation *op, raw_ostream &os,
      |                                             ^~~~~~~~~~~
      |                                             llvm::raw_ostream


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] Add SDPatternMatch m_SMin/m_SMax/m_UMin/m_UMax matchers


  Commit: 6f3f659ce9ab91002b4a490b0ce4b085981383cd
      https://github.com/llvm/llvm-project/commit/6f3f659ce9ab91002b4a490b0ce4b085981383cd
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

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

Blocking that signal causes inter-blocking for profilers that monitor
threads through that signal.
Fix #83844 and #83561


  Commit: 9e00405419c7a8bb6b8f00454b8fd47a2a400674
      https://github.com/llvm/llvm-project/commit/9e00405419c7a8bb6b8f00454b8fd47a2a400674
  Author: mahesh-attarde <145317060+mahesh-attarde at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86TargetMachine.h

  Log Message:
  -----------
  [CodeGen][X86] Remove Expensive option copy and delete copy assignment (#85187)

Remove Expensive option copy and delete copy assignment


  Commit: 72d300adad4022b150c24e4a44488d3b9334e999
      https://github.com/llvm/llvm-project/commit/72d300adad4022b150c24e4a44488d3b9334e999
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Move a varible declaration in the closest scope


  Commit: 7252d22803c32bf6421e45dcefe6ea1fa51ac774
      https://github.com/llvm/llvm-project/commit/7252d22803c32bf6421e45dcefe6ea1fa51ac774
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td

  Log Message:
  -----------
  [OpenMP][MLIR] NFC: Remove trailing whitespace (#85213)


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

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

  Log Message:
  -----------
  Revert 4fef8c75abb080e6471395492819171fee8261fa "[X86] splitVectorOp - share the same SDLoc argument instead of recreating it over and over again."

This appears to have broken the clang-with-thin-lto-ubuntu buildbot somehow (unconfirmed but its a likely candidate)


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

  Changed paths:
    M mlir/include/mlir/Support/ToolUtilities.h
    M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
    M mlir/lib/Support/ToolUtilities.cpp
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
    M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
    R mlir/test/mlir-opt/nearmiss.mlir
    A mlir/test/mlir-opt/split-markers.mlir
    A mlir/test/mlir-pdll/split-markers.pdll
    A mlir/test/mlir-translate/split-markers.mlir
    M mlir/tools/mlir-pdll/mlir-pdll.cpp

  Log Message:
  -----------
  [mlir] Make the split markers of splitAndProcessBuffer configurable. (#84765)

This allows to define custom splitters, which is interesting for
non-MLIR inputs and outputs to `mlir-translate`. For example, one may
use `; -----` as a splitter of `.ll` files. The splitters are now passed
as arguments into `splitAndProcessBuffer`, the input splitter defaulting
to the previous default (`// -----`) and the output splitter defaulting
to the empty string, which also corresponds to the previous default. The
behavior of the input split marker should not change at all; however,
outputs now have one new line *more* than before if there is no splitter
(old: `insertMarkerInOutput = false`, new: `outputSplitMarker = ""`) and
one new line *less* if there is one. The value of the input splitter is
exposed as a command line options of `mlir-translate` and other tools as
an optional value to the previously existing flag `-split-input-file`,
which defaults to the default splitter if not specified; the value of
the output splitter is exposed with the new `-output-split-marker`,
which default to the empty string in `mlir-translate` and the default
splitter in the other tools. In short, the previous usage or omission of
the flags should result in previous behavior (modulo the new lines
mentioned before).


  Commit: b97c12936dd8d520a5565ace3d51a460939a5c61
      https://github.com/llvm/llvm-project/commit/b97c12936dd8d520a5565ace3d51a460939a5c61
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Fix non-primitive ltor casts

This doesn't happen in C++ since it will instead call the
struct's copy constructor. However, in C, this needs to work.


  Commit: 620544192477cb8f4f1a1342e9593f7f15b5ecaf
      https://github.com/llvm/llvm-project/commit/620544192477cb8f4f1a1342e9593f7f15b5ecaf
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    M llvm/lib/Target/RISCV/RISCVScheduleZb.td

  Log Message:
  -----------
  [RISCV] Add sched classes for Zbb integer min max instructions


  Commit: 818e0272f5142986e8d82d1267fb6aa21cd168a0
      https://github.com/llvm/llvm-project/commit/818e0272f5142986e8d82d1267fb6aa21cd168a0
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/test/CodeGen/RISCV/machine-combiner.ll
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s

  Log Message:
  -----------
  [RISCV] Model integer min max instructions from Zbb execute in late-B ALU

We don't model the early vs late ALU so we just need to remove usage of
SiFivePipeA for these instructions.


  Commit: a551ccee66fc70b5ecd03a2c8b9db5a7330820f0
      https://github.com/llvm/llvm-project/commit/a551ccee66fc70b5ecd03a2c8b9db5a7330820f0
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Print primitive global values in dump()


  Commit: 2421e76159536ec4d2224e17fd10dfc4df6a2bc5
      https://github.com/llvm/llvm-project/commit/2421e76159536ec4d2224e17fd10dfc4df6a2bc5
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/test/AST/Interp/complex.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Add more _Complex tests


  Commit: 21d80859df3fb416efac13ce8178fdf6d6489292
      https://github.com/llvm/llvm-project/commit/21d80859df3fb416efac13ce8178fdf6d6489292
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Rename DummyParams to DummyVariables

We create dummy descriptors for variables other than parameters
these days.


  Commit: 7f2167868d8c1cedd3915883412b9c787a2f01db
      https://github.com/llvm/llvm-project/commit/7f2167868d8c1cedd3915883412b9c787a2f01db
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
    M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll

  Log Message:
  -----------
  [SLP]Improve minbitwidth analysis.

This improves overall analysis for minbitwidth in SLP. It allows to
analyze the trees with store/insertelement root nodes. Also, instead of
using single minbitwidth, detected from the very first analysis stage,
it tries to detect the best one for each trunc/ext subtree in the graph
and use it for the subtree.
Results in better code and less vector register pressure.

Metric: size..text

Program                                                                                                                                                size..text
                                                                                                                                                       results     results0    diff
                                                                      test-suite :: SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant.test    92549.00    92609.00  0.1%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   663381.00   663493.00  0.0%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   663381.00   663493.00  0.0%
                                                                                               test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   307182.00   307214.00  0.0%
                                                                             test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1394420.00  1394484.00  0.0%
                                                                              test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1394420.00  1394484.00  0.0%
                                                                                test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2040257.00  2040273.00  0.0%

                                                                              test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12396098.00 12395858.00 -0.0%
                                                                                         test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test   909944.00   909768.00 -0.0%

SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant - 4 scalar
instructions remain scalar (good).
Spec2017/x264 - the whole function idct4x4dc is vectorized using <16
x i16> instead of <16 x i32>, also zext/trunc are removed. In other
places last vector zext/sext removed and replaced by
extractelement + scalar zext/sext pair.
MultiSource/Benchmarks/Bullet/bullet - reduce or <4 x i32> replaced by
reduce or <4 x i8>
Spec2017/imagick - Removed extra zext from 2 packs of the operations.
Spec2017/parest - Removed extra zext, replaced by extractelement+scalar
zext
Spec2017/blender - the whole bunch of vector zext/sext replaced by
extractelement+scalar zext/sext, some extra code vectorized in smaller
types.
Spec2006/gobmk - fixed cost estimation, some small code remains scalar.

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

The patch has the same functionality (no test changes, no changes in
benchmarks) as the original patch, just has some compile time
improvements + fixes for xxhash unittest, discovered earlier in the
previous version of the patch.

Reviewers:

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


  Commit: a99b912c9b74f6ef91786b4dfbc25160c27d3b41
      https://github.com/llvm/llvm-project/commit/a99b912c9b74f6ef91786b4dfbc25160c27d3b41
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/literals.cpp

  Log Message:
  -----------
  [clang][Interp] Create dummy pointers for external variables

This way we can use their address, which is necessary in some
scenarios. This requires us to create different descriptors
for dummy arrays so we can get the diagnostics right.


  Commit: 611d5aec1de59fe567162158347c6c2ea29ff4d8
      https://github.com/llvm/llvm-project/commit/611d5aec1de59fe567162158347c6c2ea29ff4d8
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [clang] Fix -Wunused-variable in InterpBuiltin.cpp (NFC)

llvm-project/clang/lib/AST/Interp/InterpBuiltin.cpp:1332:21:
error: unused variable 'SrcDesc' [-Werror,-Wunused-variable]
  const Descriptor *SrcDesc = Src.getFieldDesc();
                    ^
1 error generated.


  Commit: 160693dbde2837af4237954edd38b08b2bb17a29
      https://github.com/llvm/llvm-project/commit/160693dbde2837af4237954edd38b08b2bb17a29
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] allocateLocalPrimitive never fails

It returns the local offset, not an std::optional.


  Commit: 098520244f90e9330d3ae78bd1061aee2e3688c0
      https://github.com/llvm/llvm-project/commit/098520244f90e9330d3ae78bd1061aee2e3688c0
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/powi.ll

  Log Message:
  -----------
  [InstCombine] optimize powi(X,Y) * X with Ofast

Try to transform the powi(X, Y) * X into powi(X, Y+1) with Ofast

For this case, when the Y is 3, then powi(X, 4) is replaced by
X2 = X * X; X2 * X2 in the further step.
Similar to D109954, who requires reassoc.

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


  Commit: 1752b9e4c74bda8bb312dadec0dae007c877e28c
      https://github.com/llvm/llvm-project/commit/1752b9e4c74bda8bb312dadec0dae007c877e28c
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp

  Log Message:
  -----------
  [InstCombine] create a helper function foldPowiReassoc, NFC


  Commit: 2d6988a45e29aec9242f96b3ab02a3c3699bc3ec
      https://github.com/llvm/llvm-project/commit/2d6988a45e29aec9242f96b3ab02a3c3699bc3ec
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/powi.ll

  Log Message:
  -----------
  [InstCombine] Add restrict reassoc for the operands of fmul

According the discussion, except the fmul itself, all its operands
should also have reassoc flag.
Add new API m_AllowReassoc to check reassoc flag


  Commit: f7bebc191484f889272a727584b23697f369e952
      https://github.com/llvm/llvm-project/commit/f7bebc191484f889272a727584b23697f369e952
  Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
    A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
    A llvm/test/MC/AMDGPU/mcexpr_amd.s
    A llvm/test/MC/AMDGPU/mcexpr_amd_err.s

  Log Message:
  -----------
  Reland [AMDGPU] Add AMDGPU specific variadic operation MCExprs (#84562)

Adds AMDGPU specific variadic MCExpr operations 'max' and 'or'. 

Relands #82022 with fixes


  Commit: 486332af6bd3df32423c107ced2653908a1f0fb4
      https://github.com/llvm/llvm-project/commit/486332af6bd3df32423c107ced2653908a1f0fb4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn

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


  Commit: 2cd19df792056bbac38ed64c028e335d0c7ef05d
      https://github.com/llvm/llvm-project/commit/2cd19df792056bbac38ed64c028e335d0c7ef05d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Allow visiting extern variables

If the variable is additionally const(expr), visit them like normal
but omit the initializer.


  Commit: 589c7abb03448cf00c94add3380b5e019ed5f504
      https://github.com/llvm/llvm-project/commit/589c7abb03448cf00c94add3380b5e019ed5f504
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll

  Log Message:
  -----------
  Revert "[LV] Improve AnyOf reduction codegen. (#78304)"

Broke sanitizer bots: https://lab.llvm.org/buildbot/#/builders/74/builds/26697

This reverts commit 95fef1dfefd5467206e74c089d29806fcd82889b.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/test/Transforms/SCCP/add-nuw-nsw-flags.ll

  Log Message:
  -----------
  [SCCP] Extend `visitBinaryOperator` to overflowing binary ops

Leverage more refined ranges results when handling overflowing
binary operators.


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

  Changed paths:
    M lldb/cmake/caches/Apple-lldb-Linux.cmake

  Log Message:
  -----------
  [LLDB] Add lldb-python-scripts to the things installed on Linux. (#85080)


  Commit: d83660827f0cb0054dafef6568ea2fa5b788a39c
      https://github.com/llvm/llvm-project/commit/d83660827f0cb0054dafef6568ea2fa5b788a39c
  Author: Andrew Brown <andrew.brown at intel.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [openmp][wasm] Fix microtask type mismatch (#84355)

When OpenMP is compiled for WebAssembly (see #71297), it invokes a
microtask via a `switch` statement that dispatches to the `void *`
microtask pointer with spelled-out arguments (not varargs). As #83329
points out, however, this can result in a type mismatch when the
indirect call is executed by WebAssembly; WebAssembly expects the called
pointer to have the precise type of the call site. This change fixes the
issue by bringing back the approach in [D142593] of type-casting all the
`switch` arms to the precise type. This fixes #83329.

[D142593]: https://reviews.llvm.org/D142593


  Commit: 68360dc85507350c9d38bcc6916debe29fd58fee
      https://github.com/llvm/llvm-project/commit/68360dc85507350c9d38bcc6916debe29fd58fee
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    A clang/test/AST/Interp/c23.c

  Log Message:
  -----------
  [clang][Interp] Don't abort on float div-by-zero

The result in that case can still be computed, and it's inf.


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

  Changed paths:
    M flang/lib/Lower/CMakeLists.txt
    A flang/lib/Lower/OpenMP/ClauseT.h
    A flang/lib/Lower/OpenMP/Clauses.cpp
    A flang/lib/Lower/OpenMP/Clauses.h

  Log Message:
  -----------
  [flang][OpenMP] Implement flexible OpenMP clause representation (#81621)

The new set of classes representing OpenMP classes mimics the contents
of parser::OmpClause, but differs in a few aspects:
- it can be easily created, copied, etc.
- is based on semantics::SomeExpr instead of parser objects.

This set of classes is geared towards a language-agnostic representation
of OpenMP clauses. While the class members are still based on flang's
`parser::OmpClause`, the classes themselves are actually C++ templates
parameterized with types essential to represent necessary information.
The two parameters are
- `IdType`: the type that can represent object's identity (for flang it
will be `semantics::Symbol *`),
- `ExprType`: the type that can represent expressions, arithmetic and
object references (`semantics::MaybeExpr` in flang).

The templates are defined in a namespace `tomp` (to distinguish it from
`omp`).

This patch introduces file "Clauses.cpp", which contains instantiations
of all of the templates for flang. The instantiations are members of
namespace `omp`, and include an all-encompassing variant class
`omp::Clause`, which is the analog of `parser::OmpClause`.
The class `OmpObject` is represented by `omp::Object`, which contains
the symbol associated with the object, and `semantics::MaybeExpr`
representing the designator for the symbol reference. For each specific
clause in the variant `parser::OmpClause`, there exists a `make`
function that will generate the corresponding `omp::Clause` from it. The
intent was to use the make functions as variant visitors. The creation
of a clause instance would then follow the pattern:
```
omp::Clause clause = std::visit([](auto &&s) { return make(s, semaCtx); }, parserClause.u);
```

If a new clause `foo` is added in the future, then:
- a new template `tomp::FooT` representing the clause needs to be added
to ClauseT.h,
- a new instance needs to be created in flang, this can be as simple as
`using Foo = tomp::FooT<...>`,
- a new make function needs to be implemented to create object of class
Foo from `parser::OmpClause::Foo`.

This patch only introduces the new classes, they are not yet used
anywhere.

[Clause representation 1/6]


  Commit: 65c0143296e3d8aafe819cbae4a48a3d53f8e7b3
      https://github.com/llvm/llvm-project/commit/65c0143296e3d8aafe819cbae4a48a3d53f8e7b3
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    A clang/test/AST/Interp/ms.cpp

  Log Message:
  -----------
  [clang][Interp] Fix rotate builtins with differently-typed arguments

We were assuming (and asserting) that both arguments have the same
type, but at least for the ms versions, that's not always the case.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll

  Log Message:
  -----------
  [TargetLowering][RISCV] Propagate fastmath flags for the vector operations emitted in expandVecReduce. (#85164)

We used the fastmath flags for any scalar ops created, but not vector.


  Commit: 8481fb1698a4a54b3965a1654046df736a57e144
      https://github.com/llvm/llvm-project/commit/8481fb1698a4a54b3965a1654046df736a57e144
  Author: Zahi Moudallal <zahi at openai.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [MLIR][ROCDL] Fix BallotOp LLVM translation and add doc (#85116)

This modifies the return type of the intrinsic call to handle 32 and 64
bits
properly and document the MLIR operation.


  Commit: 92a09c0165b87032e1bd05020a78ed845cf35661
      https://github.com/llvm/llvm-project/commit/92a09c0165b87032e1bd05020a78ed845cf35661
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2024-03-14 (Thu, 14 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

  Log Message:
  -----------
  [clang][nullability] allow _Nonnull etc on nullable class types (#82705)

This enables clang and external nullability checkers to make use of
these annotations on nullable C++ class types like unique_ptr.

These types are recognized by the presence of the _Nullable attribute.
Nullable standard library types implicitly receive this attribute.

Existing static warnings for raw pointers are extended to smart
pointers:

- nullptr used as return value or argument for non-null functions
  (`-Wnonnull`)
- assigning or initializing nonnull variables with nullable values
  (`-Wnullable-to-nonnull-conversion`)

It doesn't implicitly add these attributes based on the assume_nonnull
pragma, nor warn on missing attributes where the pragma would apply
them.
I'm not confident that the pragma's current behavior will work well for
C++ (where type-based metaprogramming is much more common than C/ObjC).
We'd like to revisit this once we have more implementation experience.

Support can be detected as `__has_feature(nullability_on_classes)`.
This is needed for back-compatibility, as previously clang would issue a
hard error when _Nullable appears on a smart pointer.

UBSan's `-fsanitize=nullability` will not check smart-pointer types.
It can be made to do so by synthesizing calls to `operator bool`, but
that's left for future work.

Discussion:
https://discourse.llvm.org/t/rfc-allowing-nonnull-etc-on-smart-pointers/77201/26


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

  Changed paths:
    M llvm/lib/CodeGen/MachineCombiner.cpp
    M llvm/test/CodeGen/RISCV/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/bitcast-and-setcc-256.ll

  Log Message:
  -----------
  [MachineCombiner] Don't ignore PHI depths (#82025)

The depths of the Root and the NewRoot are to be compared in
MachineCombiner::improvesCriticalPathLen(), and while the call to
BlockTrace.getInstrCycles(*Root) includes the Depth of a PHI, for some
reason PHI nodes have been ignored in getOperandDef(). 

This patch removes the special handling of PHIs in getOperandDef() so that
Root and NewRoot get a fair comparison. This does not affect loop headers
as MachineTraceMetrics handles that case by ignoring incoming PHI edges.


  Commit: 0b0798b7024843db462ac2fa903c94308d6654eb
      https://github.com/llvm/llvm-project/commit/0b0798b7024843db462ac2fa903c94308d6654eb
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [NFC] Subscribe myself to changes to {lib,test}/AST/Interp/


  Commit: 797994da3c3b0ff40201ac0045740370d2c39cbb
      https://github.com/llvm/llvm-project/commit/797994da3c3b0ff40201ac0045740370d2c39cbb
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Strip _Atomic from _Complex types

... when doing binary operations on them.


  Commit: 52557bce73f64df5da13d42dd97b57fbd4ab1b12
      https://github.com/llvm/llvm-project/commit/52557bce73f64df5da13d42dd97b57fbd4ab1b12
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
    A lldb/test/API/macosx/tbi-honored/Makefile
    A lldb/test/API/macosx/tbi-honored/TestTBIHonored.py
    A lldb/test/API/macosx/tbi-honored/main.c

  Log Message:
  -----------
  [lldb] [Mach-O] ProcessMachCore needs to strip TBI data from addrs (#84998)

Darwin AArch64 application processors are run with Top Byte Ignore mode
enabled so metadata may be stored in the top byte, it needs to be
ignored when reading/writing memory. David Spickett handled this already
in the base class Process::ReadMemory but ProcessMachCore overrides that
method (to avoid the memory cache) and did not pick up the same change.
I add a test case that creates a pointer with metadata in the top byte
and dereferences it with a live process and with a corefile.

rdar://123784501


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

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

  Log Message:
  -----------
  Fix -Werror build

In file included from ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:9:
../llvm-project/flang/lib/Lower/OpenMP/Clauses.h:195:17: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
  195 |   return Clause{id, specific, source};
      |                 ^~~~~~~~~~~~
      |                 {           }


  Commit: 58a20a0b96a29686d78d3431c85ee378bf51e98d
      https://github.com/llvm/llvm-project/commit/58a20a0b96a29686d78d3431c85ee378bf51e98d
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/test/CodeGen/AArch64/stack-tagging-initializer-merge.ll
    M llvm/test/CodeGen/AArch64/stack-tagging-stack-coloring.ll
    M llvm/test/CodeGen/AArch64/stack-tagging-untag-placement.ll

  Log Message:
  -----------
  [MTE] fix bug that prevented stack coloring with MTE (#84422)


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

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

  Log Message:
  -----------
  [mlir] Fix RUN command introduced in 516ccce7fa (#84765) (NFC)

There were two problems:
* The `%s` argument to `FileCheck` was repeated.
* A single dash for `-check-prefix` was used but we need two dashes.


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

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp

  Log Message:
  -----------
  [flang][NFC] Expose patterns from PreCGRewrite pass (#85156)

Expose patterns so they can be reused in other passes.


  Commit: 0adccd1a7fd8e30650f76bd33471de28b7939455
      https://github.com/llvm/llvm-project/commit/0adccd1a7fd8e30650f76bd33471de28b7939455
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Target/Language.h
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Target/Language.cpp
    M lldb/source/Target/TargetProperties.td

  Log Message:
  -----------
  [lldb] Allow languages to filter breakpoints set by line (#83908)

Some languages may create artificial functions that have no real user
code, even though there is line table information for them. One such
case is with coroutine code that receives the CoroSplitter
transformation in LLVM IR. That code transformation creates many
different Functions, cloning one Instruction into many Instructions in
many different Functions and copying the associated debug locations.

It would be difficult to make that pass delete debug locations of cloned
instructions in a language agnostic way (is it even possible?), but LLDB
can ignore certain locations by querying its Language APIs and having it
decide based on, for example, mangling information.


  Commit: 0f252e7bd838d201bad89cda5b0e40a1fdeb96ca
      https://github.com/llvm/llvm-project/commit/0f252e7bd838d201bad89cda5b0e40a1fdeb96ca
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC][MachO] Allow multiple LC_BUILD_VERSION commands.

No testcase: I'm still thinking about the best way to test this.


  Commit: 400518526849b8e03400449502a2da67db40157c
      https://github.com/llvm/llvm-project/commit/400518526849b8e03400449502a2da67db40157c
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M libcxx/utils/ci/docker-compose.yml

  Log Message:
  -----------
  [libc++][CI] Updates the version number of the latest release.


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

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

  Log Message:
  -----------
  Fix NDEBUG build: guard call to `dump` with #if/#endif


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

  Changed paths:
    M lld/ELF/Writer.cpp
    M lld/test/ELF/linkerscript/discard-section.s

  Log Message:
  -----------
  [ELF] Eliminate symbols demoted due to /DISCARD/ discarded sections (#85167)

#69295 demoted Defined symbols relative to discarded sections.
If such a symbol is unreferenced, the desired behavior is to
eliminate it from .symtab just like --gc-sections discarded
definitions.
Linux kernel's CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y configuration expects
that the unreferenced `unused` is not emitted to .symtab
(https://github.com/ClangBuiltLinux/linux/issues/2006).

For relocations referencing demoted symbols, the symbol index restores
to 0 like older lld (`R_X86_64_64 0` in `discard-section.s`).

Fix #85048


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

  Changed paths:
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/ToolChain.cpp
    M clang/test/Driver/clang-g-opts.c

  Log Message:
  -----------
  Revert "[Driver] Default riscv*- triples to -fdebug-default-version=4" (#84119)

This reverts commit bbc0f99f3bc96f1db16f649fc21dd18e5b0918f6
(https://reviews.llvm.org/D157663).

With this change, `-g` for the next major release 19.1 will generate
R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 relocations, which require
lld>=18 or binutils>=2.41.
binutils 2.41 is relatively new, but GCC has been producing
R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 for some time now.


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

  Changed paths:
    M libcxx/include/fstream
    A libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp

  Log Message:
  -----------
  [libc++] Implements filebuf unbuffered. (#76629)

When calling setbuf(nullptr, 0) before performing file operations it
should set the file to unbuffered mode. Currently the code avoids
buffering internally, but the underlying stream still can buffer.

This is addressed by disabling the buffering of the underlying stream.

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


  Commit: f2d02ce04fe679c7cc806722a3c4a303f970f95f
      https://github.com/llvm/llvm-project/commit/f2d02ce04fe679c7cc806722a3c4a303f970f95f
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail6.ll
    M llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail7.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll

  Log Message:
  -----------
  [Coroutines] Remove some stale FIXMEs (NFC)

The calls are already musttail.


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

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h

  Log Message:
  -----------
  [WebAssembly] Move getLibcallSignature into WebAssembly namespace (NFC) (#85171)

These are Wasm only functions so they are better be within `WebAssembly`
namespace rather than the `llvm` namespace which includes the whole
LLVM.

Also this removes `extern` keywords which are not strictly necessary.


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

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    M openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
    M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp

  Log Message:
  -----------
  [libomptarget] Support BE ELF files in plugins-nextgen (#85246)

Code in plugins-nextgen reading ELF files is currently hard-coded to
assume a 64-bit little-endian ELF format. Unfortunately, this assumption
is even embedded in the interface between GlobalHandler and Utils/ELF
routines, which use ELF64LE types.

To fix this, I've refactored the interface to use generic types, in
particular by using (a unique_ptr to) ObjectFile instead of
ELF64LEObjectFile, and ELFSymbolRef instead of ELF64LE::Sym.

This allows properly templating over multiple ELF format variants inside
Utils/ELF; specifically, this patch adds support for 64-bit big-endian
ELF files in addition to 64-bit little-endian files.


  Commit: f795d1a8b1d1e51d2bc815d5bbed8099b37da0b7
      https://github.com/llvm/llvm-project/commit/f795d1a8b1d1e51d2bc815d5bbed8099b37da0b7
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/slp-frem.ll

  Log Message:
  -----------
  [AArch64][LV][SLP] Vectorizers use call cost for vectorized frem  (#82488)

getArithmeticInstrCost is used by both LoopVectorizer and SLPVectorizer
to compute the cost of frem, which becomes a call cost on AArch64 when
TLI has a vector library function.

Add tests that do SLP vectorization for code that contains 2x double and
4x float frem instructions.


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

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

  Log Message:
  -----------
  [clang][OpenMP] Fix directive in ActOnOpenMPTargetParallelForSimdDire… (#85217)

…ctive

The function `ActOnOpenMPTargetParallelForSimdDirective` gets the number
of capture levels for OMPD_target_parallel_for, whereas the intended
directive is OMPD_target_parallel_for_simd.


  Commit: d92d2e2b66ab14ad8f41c7af617a18166b2d54ae
      https://github.com/llvm/llvm-project/commit/d92d2e2b66ab14ad8f41c7af617a18166b2d54ae
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove trailing whitespaces in SIRegisterInfo.cpp. NFC. (#85269)


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

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/module/__fortran_builtins.f90
    A flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90

  Log Message:
  -----------
  [flang] Lower c_ptr_eq/ne for iso_c_binding (#85135)

Comparing c_ptr type for equality or inequality is raising an error. 

```
not yet implemented: intrinsic module procedure: c_ptr_eq
```
or this one for inequality
```
not yet implemented: intrinsic module procedure: c_ptr_ne
```

This patch adds a lowering for them and fix the `__fortran_builtins.f90`
module for inequality.


  Commit: 4e232cab0debff5dbb1906ae6b73c3d9b6cea7cd
      https://github.com/llvm/llvm-project/commit/4e232cab0debff5dbb1906ae6b73c3d9b6cea7cd
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/lib/Support/APInt.cpp

  Log Message:
  -----------
  [APInt] Implement average functions without sign/zero-extension. NFC. (#85212)

Removing the extension to FullWidth should make them much more efficient
in the 64-bit case, because 65-bit APInts use a separate allocation for
their bits.


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

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    M openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
    M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp

  Log Message:
  -----------
  Revert "[libomptarget] Support BE ELF files in plugins-nextgen (#85246)"

This reverts commit 611c62b30d160375b46b7afedc04965ee6f67d1a.


  Commit: 2c80a9accb18f3eeb1e0c1bd09a980fb2f2dc2d5
      https://github.com/llvm/llvm-project/commit/2c80a9accb18f3eeb1e0c1bd09a980fb2f2dc2d5
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC][MachO] Pluralize member name.

This member switched from an optional to a vector in 0f252e7bd83.


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

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT] Clear operands when creating new instructions. NFCI (#85191)

Reset operand list whenever we create a new instruction via a parameter
passed by reference. Most functions were already doing this, but there
are several places missing the reset. Potentially, if we don not clear
the list it could lead to invalid instruction operands. But the existing
code is unaffected.


  Commit: 4b5b7eca0e5e4e10acb42a70cb0af8300a3b2dfc
      https://github.com/llvm/llvm-project/commit/4b5b7eca0e5e4e10acb42a70cb0af8300a3b2dfc
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    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

  Log Message:
  -----------
  [Dexter] Add VisualStudio2022 support to Dexter (#85248)

Dexter currently supports Visual Studio 2015/2017/2019, but not 2022;
this patch adds support for 2022.


  Commit: 4f873730d6ac1a8496cdef939cc451f178a864ee
      https://github.com/llvm/llvm-project/commit/4f873730d6ac1a8496cdef939cc451f178a864ee
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/extract-vector-elt.ll

  Log Message:
  -----------
  precommit test


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

  Changed paths:
    M clang/test/InstallAPI/basic.test
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] capture compatibility versions (#85261)


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

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/module/__fortran_builtins.f90
    R flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90

  Log Message:
  -----------
  Revert "[flang] Lower c_ptr_eq/ne for iso_c_binding" (#85293)

Reverts llvm/llvm-project#85135

There is an issue with module file generation in flang build.


  Commit: 95c1313f253cd343ee0b20cb7af7c71d904d96be
      https://github.com/llvm/llvm-project/commit/95c1313f253cd343ee0b20cb7af7c71d904d96be
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M libcxx/include/__functional/hash.h
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__type_traits/conjunction.h
    M libcxx/include/array
    M libcxx/include/coroutine
    M libcxx/include/experimental/memory
    M libcxx/include/optional
    M libcxx/include/variant
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv

  Log Message:
  -----------
  [libc++] Remove a few includes from <__functional/hash.h> (#83254)

This also moves `__all` from `sfinae_helpers.h` to `conjunction.h`.


  Commit: 8c4546f350fbce938d8fbc85d9e353d011f3f673
      https://github.com/llvm/llvm-project/commit/8c4546f350fbce938d8fbc85d9e353d011f3f673
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

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

This reverts commit 6f3f659ce9ab91002b4a490b0ce4b085981383cd.

This change is causing TSAN failures on a bot as reported in #85188:
https://lab.llvm.org/buildbot/#/builders/247/builds/15279


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll

  Log Message:
  -----------
  [RISCV] Optimize lowering of VECREDUCE_FMINIMUM/VECREDUCE_FMAXIMUM. (#85165)

Use a normal min/max reduction that doesn't propagate nans and force
the result to nan at the end if any elements were nan.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll

  Log Message:
  -----------
  [IndVars] Support shl by constant and or disjoint in getExtendedOperandRecurrence. (#84282)

We can treat a shift by constant as a multiply by a power of 2
and we can treat an or disjoint as a 'add nsw nuw'.

I've added a helper struct similar to a struct used in
ScalarEvolution.cpp
to represent the opcode, operands, and NSW/NUW flags for normal
add/sub/mul
and shl/or that are being treated as mul/add.

I don't think we need to teach cloneIVUser about this. It will continue
to clone them using cloneBitwiseIVUser. After the cloning we will ask
for the SCEV expression for the cloned IV user and verify that it
matches
the AddRec returned by getExtendedOperandRecurrence. Since SCEV also
knows how to convert shl to mul and or disjoint to add nsw nuw, this
should
usually match. If it doesn't match, the cloned IV user will be deleted.


  Commit: b6193a2dc2c7e1fb278161873e8f01f728412f4b
      https://github.com/llvm/llvm-project/commit/b6193a2dc2c7e1fb278161873e8f01f728412f4b
  Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/generic/lib/gen_convert.py

  Log Message:
  -----------
  libclc: clspv: update gen_convert.cl for clspv (#66902)

Add a clspv switch in gen_convert.cl
This is needed as Vulkan SPIR-V does not respect the assumptions
needed to have the generic convert.cl compliant on many platforms.

It is needed because of the conversion of TYPE_MAX and
TYPE_MIN. Depending on the platform the behaviour can vary, but most
of them just do not convert correctly those 2 values.

Because of that, we also need to avoid having explicit function for
simple conversions because it allows llvm to optimise the code, thus
removing some of the added checks that are in fact needed.


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

  Changed paths:
    M flang/runtime/pointer.cpp

  Log Message:
  -----------
  [flang][runtime] Temporary fix for unresolved reference in CUDA F18 runtime. (#85294)

Avoid referencing executionEnvironment in the device code, since
environment.cpp is not part of the CUDA build yet.
This is a temporary fix before #85182 is merged.


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_netbsd_decompress.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll

  Log Message:
  -----------
  Regen some tests to reflect naming changes

Cutting down on diff in an upcoming change.


  Commit: 4b0276d1c9cb558f3c20736dce802ceb26c0b958
      https://github.com/llvm/llvm-project/commit/4b0276d1c9cb558f3c20736dce802ceb26c0b958
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/AutoUpgrade.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
    R llvm/test/LTO/AArch64/link-sign-return-address.ll
    M llvm/test/Linker/link-arm-and-thumb.ll

  Log Message:
  -----------
  Revert "[llvm][AArch64] Autoupgrade function attributes from Module attributes." (#85291)

Reverts llvm/llvm-project#82763 because caused a regressions with
inlining.
See
https://github.com/llvm/llvm-project/pull/84494#issuecomment-1996047458


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll

  Log Message:
  -----------
  [SLP]Do extra analysis int minbitwidth if some checks return false.

The instruction itself can be considered good for minbitwidth casting,
even if one of the operand checks returns false.

Reviewers: RKSimon

Reviewed By: RKSimon

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


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

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT] Refactor instruction creation interface. NFCI (#85292)

Refactor MCPlusBuilder's create{Instruction}() functions that used to
return bool. We almost never check the return value as we rely on
llvm_unreachable() to detect unimplemented functionality. There were a
couple of cases that checked the return value, but they would hit the
unreachable condition first (at least in debug builds) before the return
value gets checked.


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

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
    A mlir/test/Dialect/Linalg/vectorize-conv-masked-and-scalable.mlir

  Log Message:
  -----------
  [mlir][linalg] Enable masked vectorisation for depthwise convolutions (#81625)

This patch adds support for masked vectorisation of depthwise 1D WC
convolutions,`linalg.depthwise_conv_1d_nwc_wc`. This is implemented by
adding support for masking.

Two major assumptions are made:
  * only the channel dimension can be dynamic/scalable (i.e. the
    trailing dim),
  * when specifying vector sizes to use in the vectoriser, only the size
    corresponding to the channel dim is effectively used (other dims are
    inferred from the context).

In terms of scalable vectorisation, this should be sufficient to cover
all practical cases (i.e. making arbitrary dim scalable wouldn't make
much sense). As for more generic cases with dynamic shapes (e.g. W or N
dims being dynamic), more work would be needed. In particular, one would
have to consider the filter and input/output tensors separately.


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

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.h

  Log Message:
  -----------
  [AIX][TOC] Fix buildbot failures from commit b4ae8df (#85303)

The following tests fail when built with Address
and Undefined sanitizers:
CodeGen/PowerPC/basic-toc-data-def.ll
CodeGen/PowerPC/toc-data-large-array2.ll

Subtarget may be null in emitGlobalVariable, for example in the testcase
where we have no functions in the IR. The fix moves this function from
PPCSubtarget to a static helper function. This only fails with
sanitizers because the Subtarget is not used in the member function.


  Commit: 8f0012d3dc2ae6d40e9f812cae111ca7a6eb2a2d
      https://github.com/llvm/llvm-project/commit/8f0012d3dc2ae6d40e9f812cae111ca7a6eb2a2d
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-03-14 (Thu, 14 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:
  -----------
  [NVPTX] Use .common linkage for common globals (#84416)

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.


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

  Changed paths:
    A llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/rel-method-lists-arm64.dylib
    A llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/rel-method-lists-arm64_32.dylib
    A llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test
    M llvm/tools/llvm-objdump/MachODump.cpp

  Log Message:
  -----------
  [llvm-objdump][macho] Add support for ObjC relative method lists (#84250)

For Mach-O, ld64 supports the `-fobjc-relative-method-lists` flag which
changes the format in which method lists are generated. The format uses
delta encoding vs the original direct-pointer encoding.
This change adds support to `llvm-objdump` and `llvm-otool` for
decoding/dumping of method lists in the delta format. Previously, if a
binary with this information format was passed to the tooling, it would
output invalid information, trying to parse the delta lists as pointer
lists.
After this change, the tooling will output correct information if a
binary in this format is encountered.
The output format is closest feasible match to XCode 15.1's otool
output. Tests are included for both 32bit and 64bit binaries.

The code style was matched as close as possible to existing
implementation of parsing non-delta method lists.

Diff between llvm-objdump and XCode 15.1 otool:


![objdump_vs_otool](https://github.com/llvm/llvm-project/assets/103613512/4fc04228-ed35-473d-b633-364402411b91)

---------

Co-authored-by: Alex B <alexborcan at meta.com>


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

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    A llvm/test/CodeGen/DirectX/rsqrt.ll
    A llvm/test/CodeGen/DirectX/rsqrt_error.ll

  Log Message:
  -----------
  [HLSL] Implement `rsqrt` intrinsic (#84820)

This change implements #70074
- `hlsl_intrinsics.h` - add the `rsqrt` api
- `DXIL.td` add the llvm intrinsic to DXIL op lowering map.
- `Builtins.td` - add an hlsl builtin for rsqrt.
- `CGBuiltin.cpp` add the ir generation for the rsqrt intrinsic.
- `SemaChecking.cpp` - reuse the one arg float only  checks.
- `IntrinsicsDirectX.td` -add an `rsqrt` intrinsic.


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

  Changed paths:
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/src/math/generic/math_utils.h
    M libc/test/src/math/ILogbTest.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel

  Log Message:
  -----------
  [libc] Remove direct math.h includes from src (#84991)

A downstream overlay mode user ran into issues with the isnan macro not
working in our sources with a specific libc configuration. This patch
replaces the last direct includes of math.h with our internal
math_macros.h, along with the necessary build system changes.


  Commit: 0646bbc42c59f9dd67db3c073389fdd9e395be3c
      https://github.com/llvm/llvm-project/commit/0646bbc42c59f9dd67db3c073389fdd9e395be3c
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NearestIntegerOperations.h
    M libc/src/math/generic/math_utils.h
    M libc/test/src/math/ILogbTest.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel

  Log Message:
  -----------
  Revert "[libc] Remove direct math.h includes from src" (#85314)

Reverts llvm/llvm-project#84991

Caused build failures


  Commit: 229640343e400394b315c6798c7c19e8a9bd188c
      https://github.com/llvm/llvm-project/commit/229640343e400394b315c6798c7c19e8a9bd188c
  Author: ManuelJBrito <59119670+ManuelJBrito at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/NewGVN/2007-07-25-DominatedLoop.ll
    M llvm/test/Transforms/NewGVN/2007-07-25-InfiniteLoop.ll
    M llvm/test/Transforms/NewGVN/2007-07-25-Loop.ll
    M llvm/test/Transforms/NewGVN/2007-07-25-NestedLoop.ll
    M llvm/test/Transforms/NewGVN/2007-07-25-SinglePredecessor.ll
    M llvm/test/Transforms/NewGVN/2007-07-26-NonRedundant.ll
    M llvm/test/Transforms/NewGVN/2007-07-26-PhiErasure.ll
    M llvm/test/Transforms/NewGVN/2007-07-30-PredIDom.ll
    M llvm/test/Transforms/NewGVN/2007-07-31-RedundantPhi.ll
    M llvm/test/Transforms/NewGVN/2008-02-13-NewPHI.ll
    M llvm/test/Transforms/NewGVN/2008-07-02-Unreachable.ll
    M llvm/test/Transforms/NewGVN/2008-12-09-SelfRemove.ll
    M llvm/test/Transforms/NewGVN/2008-12-12-RLE-Crash.ll
    M llvm/test/Transforms/NewGVN/2008-12-14-rle-reanalyze.ll
    M llvm/test/Transforms/NewGVN/2008-12-15-CacheVisited.ll
    M llvm/test/Transforms/NewGVN/2009-01-21-SortInvalidation.ll
    M llvm/test/Transforms/NewGVN/2009-01-22-SortInvalidation.ll
    M llvm/test/Transforms/NewGVN/2009-03-10-PREOnVoid.ll
    M llvm/test/Transforms/NewGVN/2009-07-13-MemDepSortFail.ll
    M llvm/test/Transforms/NewGVN/2009-11-12-MemDepMallocBitCast.ll
    M llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll
    M llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll
    M llvm/test/Transforms/NewGVN/2010-11-13-Simplify.ll
    M llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll
    M llvm/test/Transforms/NewGVN/2011-07-07-MatchIntrinsicExtract.ll
    M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
    M llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll
    M llvm/test/Transforms/NewGVN/2016-08-30-MaskedScatterGather-xfail-inseltpoison.ll
    M llvm/test/Transforms/NewGVN/MemdepMiscompile.ll
    M llvm/test/Transforms/NewGVN/addrspacecast.ll
    M llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll
    M llvm/test/Transforms/NewGVN/basic-undef-test.ll
    M llvm/test/Transforms/NewGVN/br-identical.ll
    M llvm/test/Transforms/NewGVN/calloc-load-removal.ll
    M llvm/test/Transforms/NewGVN/calls-readonly.ll
    M llvm/test/Transforms/NewGVN/completeness.ll
    M llvm/test/Transforms/NewGVN/cond_br.ll
    M llvm/test/Transforms/NewGVN/condprop.ll
    M llvm/test/Transforms/NewGVN/crash-no-aa.ll
    M llvm/test/Transforms/NewGVN/crash-usecounts.ll
    M llvm/test/Transforms/NewGVN/crash.ll
    M llvm/test/Transforms/NewGVN/cyclic-phi-handling.ll
    M llvm/test/Transforms/NewGVN/dbg-redundant-load.ll
    M llvm/test/Transforms/NewGVN/edge.ll
    M llvm/test/Transforms/NewGVN/eliminate-callsite-inline.ll
    M llvm/test/Transforms/NewGVN/equivalent-phi.ll
    M llvm/test/Transforms/NewGVN/fold-const-expr.ll
    M llvm/test/Transforms/NewGVN/fpmath.ll
    M llvm/test/Transforms/NewGVN/funclet.ll
    M llvm/test/Transforms/NewGVN/int_sideeffect.ll
    M llvm/test/Transforms/NewGVN/invariant.group.ll
    M llvm/test/Transforms/NewGVN/invariant.start.ll
    M llvm/test/Transforms/NewGVN/lifetime-simple.ll
    M llvm/test/Transforms/NewGVN/load-constant-mem.ll
    M llvm/test/Transforms/NewGVN/load-from-unreachable-predecessor.ll
    M llvm/test/Transforms/NewGVN/loadforward.ll
    M llvm/test/Transforms/NewGVN/malloc-load-removal.ll
    M llvm/test/Transforms/NewGVN/memory-handling.ll
    M llvm/test/Transforms/NewGVN/metadata-nonnull.ll
    M llvm/test/Transforms/NewGVN/metadata-simplify.ll
    M llvm/test/Transforms/NewGVN/noalias.ll
    M llvm/test/Transforms/NewGVN/nomemlocation.ll
    M llvm/test/Transforms/NewGVN/non-integral-pointers.ll
    M llvm/test/Transforms/NewGVN/null-aliases-nothing.ll
    M llvm/test/Transforms/NewGVN/phi-edge-handling.ll
    M llvm/test/Transforms/NewGVN/phi-of-ops-simplified-to-existing-value-then-changes-again.ll
    M llvm/test/Transforms/NewGVN/phi-translate-partial-alias.ll
    M llvm/test/Transforms/NewGVN/pr17732.ll
    M llvm/test/Transforms/NewGVN/pr17852.ll
    M llvm/test/Transforms/NewGVN/pr24397.ll
    M llvm/test/Transforms/NewGVN/pr24426.ll
    M llvm/test/Transforms/NewGVN/pr25440.ll
    M llvm/test/Transforms/NewGVN/pr28562.ll
    M llvm/test/Transforms/NewGVN/pr31472.ll
    M llvm/test/Transforms/NewGVN/pr31483.ll
    M llvm/test/Transforms/NewGVN/pr31491.ll
    M llvm/test/Transforms/NewGVN/pr31501.ll
    M llvm/test/Transforms/NewGVN/pr31573.ll
    M llvm/test/Transforms/NewGVN/pr31594.ll
    M llvm/test/Transforms/NewGVN/pr31613.ll
    M llvm/test/Transforms/NewGVN/pr31682.ll
    M llvm/test/Transforms/NewGVN/pr31758.ll
    M llvm/test/Transforms/NewGVN/pr32607.ll
    M llvm/test/Transforms/NewGVN/pr32836.ll
    M llvm/test/Transforms/NewGVN/pr32838.ll
    M llvm/test/Transforms/NewGVN/pr32845.ll
    M llvm/test/Transforms/NewGVN/pr32852.ll
    M llvm/test/Transforms/NewGVN/pr32897.ll
    M llvm/test/Transforms/NewGVN/pr32934.ll
    M llvm/test/Transforms/NewGVN/pr32945.ll
    M llvm/test/Transforms/NewGVN/pr32952.ll
    M llvm/test/Transforms/NewGVN/pr33014.ll
    M llvm/test/Transforms/NewGVN/pr33086.ll
    M llvm/test/Transforms/NewGVN/pr33116.ll
    M llvm/test/Transforms/NewGVN/pr33187.ll
    M llvm/test/Transforms/NewGVN/pr33196.ll
    M llvm/test/Transforms/NewGVN/pr33204.ll
    M llvm/test/Transforms/NewGVN/pr33305.ll
    M llvm/test/Transforms/NewGVN/pr33367.ll
    M llvm/test/Transforms/NewGVN/pr34452.ll
    M llvm/test/Transforms/NewGVN/pr42422-phi-of-ops.ll
    M llvm/test/Transforms/NewGVN/pr43441.ll
    M llvm/test/Transforms/NewGVN/pre-compare.ll
    M llvm/test/Transforms/NewGVN/preserve-metadata-for-predicate-replacements.ll
    M llvm/test/Transforms/NewGVN/readattrs.ll
    M llvm/test/Transforms/NewGVN/rle-nonlocal.ll
    M llvm/test/Transforms/NewGVN/rle.ll
    M llvm/test/Transforms/NewGVN/simp-to-self.ll
    M llvm/test/Transforms/NewGVN/stale-loop-info.ll
    M llvm/test/Transforms/NewGVN/tbaa.ll
    M llvm/test/Transforms/NewGVN/unreachable_block_infinite_loop.ll
    M llvm/test/Transforms/NewGVN/verify-memoryphi.ll
    M llvm/test/Transforms/NewGVN/volatile-nonvolatile.ll

  Log Message:
  -----------
  [NewGVN][NFC]Regenerate test checks (#85280)

Regenerate test checks for NewGVN.


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

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGenHLSL/builtins/isinf.hlsl
    A clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td

  Log Message:
  -----------
  [HLSL] implement the `isinf` intrinsic (#84927)

This change implements part 1 of 2 for #70095
- `hlsl_intrinsics.h` - add the `isinf` api
- `Builtins.td` - add an hlsl builtin for `isinf`.
- `CGBuiltin.cpp` add the ir generation for `isinf` intrinsic.
- `SemaChecking.cpp` - add a non-math elementwise checks because this is
a bool return.
- `IntrinsicsDirectX.td` - add an `isinf` intrinsic.

`DXIL.td` lowering is left, but changes need to be made there before we
can support this case.


  Commit: e40bc8e509cdad67926fcd208c320cb4d50f6aec
      https://github.com/llvm/llvm-project/commit/e40bc8e509cdad67926fcd208c320cb4d50f6aec
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/MachOPlatformTest.cpp

  Log Message:
  -----------
  [ORC][MachO] Make BuildVersionOpts::fromTriple result optional, add test.

Only platform specific darwin OS values (e.g. macosx, ios, watchos, ...) can be
mapped to an LC_BUILD_VERSION platform. For all other values return an empty
optional to indicate that the load command can't be constructed.

Also fixes the simulator conditions to return the correct platform, and adds a
testcase.


  Commit: 41ccebdda0f6885d97657c6558e924580e3d1a11
      https://github.com/llvm/llvm-project/commit/41ccebdda0f6885d97657c6558e924580e3d1a11
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

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


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

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

  Log Message:
  -----------
  [flang][OpenMP] Convert unique clauses in ClauseProcessor (#81622)

Temporarily rename old clause list to `clauses2`, old clause iterator to
`ClauseIterator2`.
Change `findUniqueClause` to iterate over `omp::Clause` objects, modify
all handlers to operate on 'omp::clause::xyz` equivalents.

[Clause representation 2/6]


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

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT] Add createCondBranch() and createLongUncondBranch() (#85315)

Add MCPlusBuilder interface for creating two new branch types.


  Commit: dc55c4435d796f6ec316de0698df9b8649816068
      https://github.com/llvm/llvm-project/commit/dc55c4435d796f6ec316de0698df9b8649816068
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/runtime-type-info.cpp

  Log Message:
  -----------
  [flang] Clip circular dependence between implementation modules (#85309)

flang/module/__fortran_type_info.mod uses __fortran_builtins.mod, but it
is also implicitly used when compiling __fortran_builtins.f90 (or
anything else). If __fortran_type_info.mod finds an old
__fortran_builtins.mod file, compilation can fail while building the new
one.

Break the dependence by *not* generating runtime derived type
information for __fortran_builtins.f90.


  Commit: 1510473908e09b0dba574e74b862243c6fddb35f
      https://github.com/llvm/llvm-project/commit/1510473908e09b0dba574e74b862243c6fddb35f
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/HardwareLoops.cpp
    A llvm/test/DebugInfo/ARM/hardware-loop-phi-insertion.ll

  Log Message:
  -----------
  [RemoveDIs] Insert PHIs before debug records in hardware loops (#85288)

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

Hardware loops inserts PHIs at the position `getFirstNonPhi()`, which is
incorrect - instead, `getFirstNonPhiIt()` is required to not insert the
PHI after any debug records that immediately follow the last existing
PHI.


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/binop-itofp.ll

  Log Message:
  -----------
  [InstCombine] Add test for `(fmul (sitfp x), 0)`; NFC


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/binop-itofp.ll

  Log Message:
  -----------
  [InstCombine] Fix behavior for `(fmul (sitfp x), 0)`

Bug was introduced in #82555

We where missing check that the constant was non-zero for signed + mul
transform.

Closes #85298


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll

  Log Message:
  -----------
  Revert "[SLP]Do extra analysis int minbitwidth if some checks return false."

This reverts commit ea429e19f56005bf89e717c14efdf49ec055b183 to fix
issues revealed in
https://lab.llvm.org/buildbot/#/builders/186/builds/15299 and https://lab.llvm.org/buildbot/#/builders/238/builds/8426.


  Commit: c75009ef7c5044cd1d2a54ffc572d609da19cb5a
      https://github.com/llvm/llvm-project/commit/c75009ef7c5044cd1d2a54ffc572d609da19cb5a
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/module/__fortran_builtins.f90
    A flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90

  Log Message:
  -----------
  [flang] Lower c_ptr_eq/ne for iso_c_binding (#85293)

Comparing c_ptr type for equality or inequality is raising an error.

```
not yet implemented: intrinsic module procedure: c_ptr_eq
```
or this one for inequality
```
not yet implemented: intrinsic module procedure: c_ptr_ne
```

This patch adds a lowering for them and fix the `__fortran_builtins.f90` module for inequality.

Reland after fix has landed for circular modules #85309


  Commit: 9d994e900f2661673e6cec0cd7954d3f378a4f8a
      https://github.com/llvm/llvm-project/commit/9d994e900f2661673e6cec0cd7954d3f378a4f8a
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h

  Log Message:
  -----------
  [mlir][sparse] remove deprecated toCOO from sparse runtime support lib (#85319)


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

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

  Log Message:
  -----------
  [libc++][NFC] Mark LWG3772 as implemented (#85108)

[LWG3772](https://wg21.link/LWG3772) already implemented with
https://reviews.llvm.org/D141699 .

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


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

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

  Log Message:
  -----------
  [SLP][NFC]Fix a warning for comparison of integers of different signs.


  Commit: af2bf86a372cacf5f536bae06e2f2d3886eefb7b
      https://github.com/llvm/llvm-project/commit/af2bf86a372cacf5f536bae06e2f2d3886eefb7b
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan.h
    M compiler-rt/lib/msan/msan_allocator.cpp
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [msan] Add 'MappingDesc::ALLOCATOR' type and check it is available (#85153)

MSan divides the virtual address space into APP, INVALID, SHADOW and
ORIGIN memory. The allocator usually just steals a bit of the APP
address space: typically the bottom portion of the PIE binaries section,
which works because the Linux kernel maps from the top of the PIE
binaries section. However, if ASLR is very aggressive, the binary may
end up mapped in the same location where the allocator wants to live;
this results in a segfault.

This patch adds in a MappingDesc::ALLOCATOR type and enforces that the
memory range for the allocator is not occupied by anything else.

Since the allocator range information is not readily available in
msan.h, we duplicate the information from msan_allocator.cpp.

Note: aggressive ASLR can also lead to a different type of failure,
where the PIE binaries/libraries are mapped entirely outside of the
APP/ALLOCATOR sections; that will be addressed in a separate patch
(https://github.com/llvm/llvm-project/pull/85142).


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll

  Log Message:
  -----------
  [SLP]Do extra analysis int minbitwidth if some checks return false.

The instruction itself can be considered good for minbitwidth casting,
even if one of the operand checks returns false.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 4daf86ef3f9a6781eedbe5d5a161e4f1e75df323
      https://github.com/llvm/llvm-project/commit/4daf86ef3f9a6781eedbe5d5a161e4f1e75df323
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp

  Log Message:
  -----------
  [mlir][sparse] refactoring sparse runtime lib into less paths (#85332)

Two constructors could be easily refactored into one after a lot of
previous deprecated code has been removed.


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

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

  Log Message:
  -----------
  [SLP][NFC]Add extra test for udiv/urem instructions.


  Commit: 58ef9bec071383744fb703ff08df9806f25e4095
      https://github.com/llvm/llvm-project/commit/58ef9bec071383744fb703ff08df9806f25e4095
  Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/test/Dialect/Math/expand-math.mlir

  Log Message:
  -----------
  [mlir][math] Implement alternative decomposition for tanh (#85025)

The previous implementation decomposes `tanh(x)` into
`(exp(2x) - 1)/(exp(2x)+1), x < 0`
`(1 - exp(-2x))/(1 + exp(-2x)), x >= 0`
This is fine as it avoids overflow with the exponential, but the whole
decomposition is computed for both cases unconditionally, then the
result is chosen based off the sign of the input. This results in doing
two expensive `exp` computations.

The proposed change avoids doing the whole computation twice by
exploiting the reflection symmetry `tanh(-x) = -tanh(x)`. We can
"normalize" the input to be positive by setting `y = sign(x) * x`, where
the sign of `x` is computed as `sign(x) = (float)(x > 0) * (-2) + 1`.
Then compute `z = tanh(y)` with the decomposition above for `x >=0` and
"denormalize" the result `z * sign(x)` to retain the sign. The reason it
is done this way is that it is very amenable to vectorization.

This method trades the duplicate decomposition computations (which takes
5 instructions including an extra expensive `exp` and `div`) for 4 cheap
instructions to compute the signs value
1. `arith.cmpf` (which is a pre-existing instruction in the previous
impl)
2. `arith.sitofp`
3. `arith.mulf`
4. `arith.addf`

and 1 more instruction to get the right sign in the result
5. `arith.mulf`. Moreover, numerically, this implementation will yield
the exact same results as the previous implementation.


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

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/CMakeLists.txt
    A llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/lib/Target/DirectX/DXILIntrinsicExpansion.h
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    A llvm/test/CodeGen/DirectX/any.ll
    A llvm/test/CodeGen/DirectX/exp-vec.ll
    A llvm/test/CodeGen/DirectX/exp.ll
    A llvm/test/CodeGen/DirectX/lerp.ll
    A llvm/test/CodeGen/DirectX/rcp.ll

  Log Message:
  -----------
  [DXIL] `exp`, `any`, `lerp`, & `rcp` Intrinsic Lowering (#84526)

This change implements lowering for #70076, #70100, #70072, & #70102 
`CGBuiltin.cpp` - - simplify `lerp` intrinsic
`IntrinsicsDirectX.td` - simplify `lerp` intrinsic
`SemaChecking.cpp` - remove unnecessary check
`DXILIntrinsicExpansion.*` - add intrinsic to instruction expansion
cases
`DXILOpLowering.cpp` - make sure `DXILIntrinsicExpansion` happens first
`DirectX.h` - changes to support new pass
`DirectXTargetMachine.cpp` - changes to support new pass

Why `any`, and `lerp` as instruction expansion just for DXIL?
- SPIR-V there is an
[OpAny](https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpAny)
- SPIR-V has a GLSL lerp extension via
[Fmix](https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html#FMix)

Why `exp` instruction expansion?
- We have an `exp2` opcode and `exp` reuses that opcode. So instruction
expansion is a convenient way to do preprocessing.
- Further SPIR-V has a GLSL exp extension via
[Exp](https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html#Exp)
and
[Exp2](https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html#Exp2)

Why `rcp` as instruction expansion?
This one is a bit of the odd man out and might have to move to
`cgbuiltins` when we better understand SPIRV requirements. However I
included it because it seems like [fast math mode has an AllowRecip
flag](https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_fp_fast_math_mode)
which lets you compute the reciprocal without performing the division.
We don't have that in DXIL so thought to include it.


  Commit: 6b2bab2839c7a379556a10287034bd55906d7094
      https://github.com/llvm/llvm-project/commit/6b2bab2839c7a379556a10287034bd55906d7094
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M flang/tools/f18/CMakeLists.txt

  Log Message:
  -----------
  [flang] Avoid module dependency failure when __fortran_buitlin is updated


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

  Changed paths:
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [ProfileData] Use ArrayRef in ProfOStream::patch (NFC) (#85317)

We always apply all of the items in PatchItems.  This patch simplifies
the interface of ProfOStream::patch by switching to ArrayRef.


  Commit: bff8755f20f112eb93d33b427f2c18d1e92b9025
      https://github.com/llvm/llvm-project/commit/bff8755f20f112eb93d33b427f2c18d1e92b9025
  Author: josh11b <github-llvm at technomagi.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    A utils/bazel/llvm-project-overlay/clang-tools-extra/clangd/BUILD.bazel

  Log Message:
  -----------
  [bazel] Add clangd as a library support (#81556)

Creates a `BUILD.bazel` file for the `clangd` directory in the project
overlay.

This upstreams the patch that allows
https://github.com/carbon-language/carbon-lang/tree/trunk/language_server
to use `clangd` as a library. This was created as part of a Summer of
Code project building a prototype Carbon language server. If this is not
an appropriate architecture, I'm very open to alternative paths forward.

Thanks!


  Commit: 8c03f400a837dc9333e54ab371e7904aa2bec43c
      https://github.com/llvm/llvm-project/commit/8c03f400a837dc9333e54ab371e7904aa2bec43c
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    A llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe
    A llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
    A llvm/test/tools/llvm-profgen/coff-profile.test
    M llvm/tools/llvm-profgen/PerfReader.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.h

  Log Message:
  -----------
  [llvm-profgen] Support COFF binary (#83972)

Intel Vtune/SEP has supported collecting LBR on Windows and generating
perf-script file which is same format as Linux perf script. This patch
teaches llvm-profgen to disassemble COFF binary so that we can do
Sampling based PGO on Windows.


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

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

  Log Message:
  -----------
  [bazel] Add missing MachO dep for ORC test


  Commit: b4d3c2cac2426070258cdb32d6932bf05e938c7d
      https://github.com/llvm/llvm-project/commit/b4d3c2cac2426070258cdb32d6932bf05e938c7d
  Author: Iman Hosseini <hosseini.iman at yahoo.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/ConvertCall.cpp
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf

  Log Message:
  -----------
  [flang][cuda] Update FIROps.td to add $grid_z to CudaKernelLaunch (#85318)

grid can be 3 dimensional. (@clementval)


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

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clangd/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel

  Log Message:
  -----------
  [bazel][NFC] Reformat w/ buildifier


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

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp

  Log Message:
  -----------
  [mlir][Transform] Remove `notifyOperationErased` workaround (#84134)

D144193 (#66771) has been merged.


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

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

  Log Message:
  -----------
  [bazel] Generate a shim Features.inc

This is a quick fix to make the bzl build work w/ this change. The sources included in the cc_library don't actually need the values here. Before adding more files, this should be replaced with something that actually parses Features.inc.in and sets configurable values.


  Commit: 0c07102927869f9cd23889e0666774f6298e824f
      https://github.com/llvm/llvm-project/commit/0c07102927869f9cd23889e0666774f6298e824f
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Eliminate the IsCpp parameter in all functions (#84599)


  Commit: 65b123e287d1320170bb3317179bc917f21852fa
      https://github.com/llvm/llvm-project/commit/65b123e287d1320170bb3317179bc917f21852fa
  Author: eddyz87 <eddyz87 at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/test/Preprocessor/bpf-predefined-macros.c
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/test/CodeGen/BPF/addr-space-globals.ll
    M llvm/test/CodeGen/BPF/addr-space-globals2.ll

  Log Message:
  -----------
  [BPF] rename 'arena' to 'address_space' (#85161)

There are a few places where `arena` name is used for pointers in
non-zero address space in BPF backend, rename these to use a more
generic `address_space`:
- macro `__BPF_FEATURE_ARENA_CAST` -> `__BPF_FEATURE_ADDR_SPACE_CAST
- name for arena global variables section `.arena.N` ->
`.addr_space.N`


  Commit: b0d1e32ca2b46870c0a4becf2547564f9c7ae0a0
      https://github.com/llvm/llvm-project/commit/b0d1e32ca2b46870c0a4becf2547564f9c7ae0a0
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  Revert "[clang-format][NFC] Eliminate the IsCpp parameter in all functions" (#85353)

Reverts llvm/llvm-project#84599

This broke the presubmit bot.


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

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  Reland [clang-format][NFC] Eliminate the IsCpp parameter in all functions (#84599)

Initialize IsCpp in LeftRightQualifierAlignmentFixer ctor.


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

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.cpp

  Log Message:
  -----------
  [mlir][sparse_tensor] Implement bufferization interface for `foreach` (#85183)

This commit fixes a memory leak in `sparse_codegen_foreach.mlir`. The
bufferization inserted a copy for the operand of `sparse_tensor.foreach`
because it conservatively assumed that the op writes to the operand.


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

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir

  Log Message:
  -----------
  [mlir][sparse] Fix memory leaks (part 3) (#85184)

This commit fixes memory leaks in sparse tensor integration tests by
adding `bufferization.dealloc_tensor` ops.

Note: Buffer deallocation will be automated in the future with the
ownership-based buffer deallocation pass, making `dealloc_tensor`
obsolete (only codegen path, not when using the runtime library).


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

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir

  Log Message:
  -----------
  [mlir][sparse] Add `has_runtime_library` test op (#85355)

This commit adds a new test-only op:
`sparse_tensor.has_runtime_library`. The op returns "1" if the sparse
compiler runs in runtime library mode.

This op is useful for writing test cases that require different IR
depending on whether the sparse compiler runs in runtime library or
codegen mode.

This commit fixes a memory leak in `sparse_pack_d.mlir`. This test case
uses `sparse_tensor.assemble` to create a sparse tensor SSA value from
existing buffers. This runtime library reallocates+copies the existing
buffers; the codegen path does not. Therefore, the test requires
additional deallocations when running in runtime library mode.

Alternatives considered:
- Make the codegen path allocate. "Codegen" is the "default" compilation
mode and it is handling `sparse_tensor.assemble` correctly. The issue is
with the runtime library path, which should not allocate. Therefore, it
is better to put a workaround in the runtime library path than to work
around the issue with a new flag in the codegen path.
- Add a `sparse_tensor.runtime_only` attribute to
`bufferization.dealloc_tensor`. Verifying that the attribute can only be
attached to `bufferization.dealloc_tensor` may introduce an unwanted
dependency of `MLIRSparseTensorDialect` on `MLIRBufferizationDialect`.


  Commit: 32a067c068f9ac285cf98be3154c8f1909fa2b21
      https://github.com/llvm/llvm-project/commit/32a067c068f9ac285cf98be3154c8f1909fa2b21
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGenTypes/LowLevelType.h
    M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
    M llvm/unittests/CodeGen/LowLevelTypeTest.cpp

  Log Message:
  -----------
  [GlobalISel] Introduce LLT:token() as a special scalar type (#85189)

The new token type is used in #67006 for implementing convergence
control tokens in GMIR.


  Commit: c54f22f5fe3eef055df4be7239b890eaab15f5ff
      https://github.com/llvm/llvm-project/commit/c54f22f5fe3eef055df4be7239b890eaab15f5ff
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Add eventMask function in WaitcntGenerator class (NFC) (#85210)

This would bring a cleaner interface while obtaining wait event masks by
combining various wait event types in the derived classes.


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

  Changed paths:
    M llvm/include/llvm/Object/ELFObjectFile.h

  Log Message:
  -----------
  [Object] getBuildAttributes: check e_machine. NFC

getBuildAttributes is only called for ARM/RISCV object files and
`SHT_ARM_ATTRIBUTES == SHT_RISCV_ATTRIBUTES`, so the following check
`Sec.sh_type == ELF::SHT_ARM_ATTRIBUTES || Sec.sh_type == ELF::SHT_RISCV_ATTRIBUTES`
is actually fine. But the convention is to guard such processor-specific
section type checks with an e_machine test.


  Commit: d35f944dde1511bf3f21ff7492343ee15d0eea45
      https://github.com/llvm/llvm-project/commit/d35f944dde1511bf3f21ff7492343ee15d0eea45
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

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

  Log Message:
  -----------
  Add missing clang to the monolithic pre-merge build (#85354)

Clang has a custom separate pipeline integrated with libc++ that only
runs in release mode. It means that changes which touches only clang
won't run the clang tests in the configuration used by LLVM premerge and
will break it unknowingly.


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

  Changed paths:
    M llvm/test/tools/llvm-readobj/ELF/machine-specific-section-types.test

  Log Message:
  -----------
  [llvm-readobj,yaml2obj,test] Test SHT_HEX_ORDERED

The section type from 9f64604e74a46ea1c8a8bd258b4a4195f79ec6cb (2013)
was untested.


  Commit: 2a547f0f6c6b456342b9bfad38787f54f265fc96
      https://github.com/llvm/llvm-project/commit/2a547f0f6c6b456342b9bfad38787f54f265fc96
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-14 (Thu, 14 Mar 2024)

  Changed paths:
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp

  Log Message:
  -----------
  [MLIR] Fix `mlir-opt --show-dialects` to not require any input (as documented)


  Commit: 4372cab91476137c6637a277dcc6a9df02c12aae
      https://github.com/llvm/llvm-project/commit/4372cab91476137c6637a277dcc6a9df02c12aae
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/atomics-sm70.ll
    M llvm/test/CodeGen/NVPTX/atomics.ll

  Log Message:
  -----------
  Reland "[NVPTX] Add support for atomic add for f16 type" (#85197)

atom.add.noftz.f16 is supported since SM 7.0


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

  Changed paths:
    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

  Log Message:
  -----------
  [libc++] Enables TZDB tests. (#82108)

With the timezone information available in the CI these tests can be
enabled again.

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


  Commit: 0a739eb75fe68b1cec4e4aaad8b5395bb5da9a89
      https://github.com/llvm/llvm-project/commit/0a739eb75fe68b1cec4e4aaad8b5395bb5da9a89
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin___{CF,NS}StringMakeConstantString

By doing the same thing the current interpreter does: Just passing on
the first parameter.


  Commit: ff2fb2a1d78585944dcdb9061c8487fe1476dfa4
      https://github.com/llvm/llvm-project/commit/ff2fb2a1d78585944dcdb9061c8487fe1476dfa4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
    M llvm/test/Instrumentation/ThreadSanitizer/atomic.ll

  Log Message:
  -----------
  [TSan] Fix atomicrmw xchg with pointer and floats (#85228)

atomicrmw xchg also accepts pointer and floating-point values. To handle
those, insert necessary casts to and from integer. This is what we do
for cmpxchg as well.

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


  Commit: e61e26091c5088b32b68e020cd51ab6de972004f
      https://github.com/llvm/llvm-project/commit/e61e26091c5088b32b68e020cd51ab6de972004f
  Author: SahilPatidar <patidarsahil2001 at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/sub-xor-cmp.ll

  Log Message:
  -----------
  [InstCombine] Fold `mul (sext bool X), Y` into `select X, -Y, 0` (#84792)

Alive2: https://alive2.llvm.org/ce/z/n_ns-W

Resolve #84608


  Commit: 8a237ab7d9022d24441544ba25be480f0c944f5a
      https://github.com/llvm/llvm-project/commit/8a237ab7d9022d24441544ba25be480f0c944f5a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [TSan] Avoid use of ReplaceInstWithInst()

This is mainly for consistency across code paths, but also makes
sure that all calls use IRInstrumentationBuilder and its special
debuginfo handling.

The two remaining uses don't actually need RAUW, they just have
to erase the original instruction.


  Commit: e639e7e986e0c1dcb5af3de65548d8518eb685a6
      https://github.com/llvm/llvm-project/commit/e639e7e986e0c1dcb5af3de65548d8518eb685a6
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h

  Log Message:
  -----------
  [AArch64] NFC: Simplify the smstart/smstop pseudo. (#85067)

This is just a bit of cleanup to make the pseudo/code easier to
understand. This is based on the observation that we only need to pass
in a runtime value for 'pstate' if is actually needed for generating a
runtime check.


  Commit: c42bc2ea8f66def31ca9a381e995ec61e9fa9b05
      https://github.com/llvm/llvm-project/commit/c42bc2ea8f66def31ca9a381e995ec61e9fa9b05
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [clang][NFC] Make some local pointers const

The function returns a const Expr* anyway.


  Commit: 8ab0632735f87961d27094a1076a41264e2fd3ed
      https://github.com/llvm/llvm-project/commit/8ab0632735f87961d27094a1076a41264e2fd3ed
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.h
    M clang/test/AST/Interp/cxx23.cpp

  Log Message:
  -----------
  [clang][Interp] Handle goto and label statements


  Commit: 141145232f915b44aef6e3854f091da03c41a2b6
      https://github.com/llvm/llvm-project/commit/141145232f915b44aef6e3854f091da03c41a2b6
  Author: Artem Tyurin <artem.tyurin at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp

  Log Message:
  -----------
  [IRBuilder] Fold binary intrinsics (#80743)

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


  Commit: 719e077a5680ccfd6601195754c1702b03ba3645
      https://github.com/llvm/llvm-project/commit/719e077a5680ccfd6601195754c1702b03ba3645
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Handle PackIndexExprs


  Commit: 8310fd3a093ce98e4df599f7cac2081f551e3fef
      https://github.com/llvm/llvm-project/commit/8310fd3a093ce98e4df599f7cac2081f551e3fef
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineLoopInfo.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
    A llvm/test/CodeGen/AArch64/sme-machine-licm-vg.mir

  Log Message:
  -----------
  [MachineLICM] Give opportunity to analyze physregs for invariance. (#84779)

At the moment MachineLoopInfo has a very simple way to determine if a
use of a physical register will be invariant: if it is not a constant
value or if it's not an ignorable use, then it's not considered
invariant.

>From a compile-time performance perspective this makes a lot of sense,
but it limits code that uses implicit physical registers from being
hoisted until the later MachineLICM pass (after register allocation),
which has a lot fewer opportunities to hoist.

For AArch64 SME we use an implicit physical register ($vg) to avoid
rematerialization beyond certain instructions. Doing this led to
regressions because simple expressions were no longer hoisted by Early
MachineLICM.

This patch adds some extra checks to 'isLoopInvariant' to see if any of
the defs are found in the loop. If not, we can considered it loop
invariant.

We expect the impact on compile-time to be negligible because there is
an incentive for users to reduce the need for the smstart/smstop
instructions that define $vg. In either case, we've put the
functionality under a target interface to limit this only to specific
registers.


  Commit: 72d85b0315628c982be21c7aada59b6f9274de90
      https://github.com/llvm/llvm-project/commit/72d85b0315628c982be21c7aada59b6f9274de90
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/if.cpp

  Log Message:
  -----------
  [clang][Interp] Emit Error op for contains-error expressions

Instead of aborting interpretation right away. This way we can still
successfully evaluate such functions provided we don't reach the
Error op at all.


  Commit: dbb2fd5974fbdf82d4b1b0dd0dde5170e3629768
      https://github.com/llvm/llvm-project/commit/dbb2fd5974fbdf82d4b1b0dd0dde5170e3629768
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [CodeGen] Remove unused lambda capture (NFC)

llvm-project/llvm/lib/CodeGen/MachineLoopInfo.cpp:215:14:
error: lambda capture 'Reg' is not used [-Werror,-Wunused-lambda-capture]
      [this, Reg](const MachineInstr &MI) { return this->contains(&MI); });
           ~~^~~
1 error generated.


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

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    A mlir/test/Target/Cpp/subscript.mlir

  Log Message:
  -----------
  [MLIR] EmitC: Add subscript operator (#84783)

Introduces a SubscriptOp that allows to write IR like
```
func.func @load_store(%arg0: !emitc.array<4x8xf32>, %arg1: !emitc.array<3x5xf32>, %arg2: index, %arg3: index) {
  %0 = emitc.subscript %arg0[%arg2, %arg3] : <4x8xf32>, index, index
  %1 = emitc.subscript %arg1[%arg2, %arg3] : <3x5xf32>, index, index
  emitc.assign %0 : f32 to %1 : f32
  return
}
```
which gets translated into the C++ code
```
v1[v2][v3] = v0[v1][v2];
```

To make this happen, this
- adds the SubscriptOp
- allows the subscript op as rhs of emitc.assign
- updates the emitter to print SubscriptOps

The emitter prints emitc.subscript in a delayed fashing to allow it
being used as lvalue.
I.e. while processing
```
%0 = emitc.subscript %arg0[%arg2, %arg3] : <4x8xf32>, index, index
```
it will not emit any text, but record in the `valueMapper` that the name
for `%0` is `v0[v1][v2]`, see `CppEmitter::getSubscriptName`. Only when
that result is then used (here in `emitc.assign`), that name is inserted
into the text.


  Commit: ddcbab37ac0e5743a8d39be3dd48d967f4c85504
      https://github.com/llvm/llvm-project/commit/ddcbab37ac0e5743a8d39be3dd48d967f4c85504
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-03-15 (Fri, 15 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_sync.cpp
    M compiler-rt/test/tsan/signal_thread.cpp
    M compiler-rt/test/tsan/signal_thread2.cpp

  Log Message:
  -----------
  [compiler-rt] Also consider SIGPROF as a synchronous signal

Blocking that signal causes inter-blocking for profilers that monitor
threads through that signal.

Update tests accordingly to use an uncaught signal.

This is a recommit of 6f3f659ce9ab91002b4a490b0ce4b085981383cd with the
tests fixed.

Fix #83844 and #83561


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

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

  Log Message:
  -----------
  [DAG] visitAND - pull out repeated SDLoc(N). NFC.


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

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

  Log Message:
  -----------
  [DAG] visitTRUNCATE - pull out repeated SDLoc(N). NFC.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    A llvm/test/CodeGen/AMDGPU/itofp.i128.ll

  Log Message:
  -----------
  AMDGPU: Enable ExpandLargeFpConvert for > 64-bit types

Fixes casts between double/float/half and i128. The pass seems to be
broken for bfloat though. I also believe we could have a better implementation
which attempts to make use the native 32-bit conversion instructions like
the 64-bit expansion does.


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

  Changed paths:
    M llvm/include/llvm/Target/TargetSchedule.td
    M llvm/test/TableGen/MacroFusion.td
    M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp

  Log Message:
  -----------
  [MacroFusion] Support commutable instructions (#82751)

If the second instruction is commutable, we should be able to check
its commutable operands.

A simple RISCV fusion is contained in this PR to show the functionality
is correct, I may remove it when landing.

Fixes #82738


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

  Changed paths:
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    A llvm/test/Bitcode/dbg-record-roundtrip.ll
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/verify-uselistorder/verify-uselistorder.cpp

  Log Message:
  -----------
  [RemoveDIs] Read/write DbgRecords directly from/to bitcode (#83251)

If --write-experimental-debuginfo-iterators-to-bitcode is true (default false)
and --expermental-debuginfo-iterators is also true then the new debug info
format (non-instruction records) is written to bitcode directly.

Added the following records:

    FUNC_CODE_DEBUG_RECORD_LABEL
    FUNC_CODE_DEBUG_RECORD_VALUE
    FUNC_CODE_DEBUG_RECORD_DECLARE
    FUNC_CODE_DEBUG_RECORD_ASSIGN
    FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE

The last one has an abbrev in FUNCTION_BLOCK BLOCK_INFO. Incidentally, this uses
the last value available without widening the code-length for FUNCTION_BLOCK
from 4 to 5 bits.

Records are formatted as follows:

    All DbgRecord start with:
      1. DILocation

      FUNC_CODE_DEBUG_RECORD_LABEL
        2. DILabel

      DPValues then share common fields:
        2. DILocalVariable
        3. DIExpression

        FUNC_CODE_DEBUG_RECORD_VALUE
          4. Location Metadata

        FUNC_CODE_DEBUG_RECORD_DECLARE
          4. Location Metadata

        FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE
	  4. Location Value (single)

        FUNC_CODE_DEBUG_RECORD_ASSIGN
	  4. Location Metadata
	  5. DIAssignID
	  6. DIExpression (address)
	  7. Location Metadata (address)

Encoding the DILocation metadata reference directly appeared to yield smaller
bitcode files than encoding the operands seperately (as is done with instruction
DILocations).

FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE is by far the most common DbgRecord record
in optimized code (order of 5x-10x over other kinds). Unoptimized code should
only contain FUNC_CODE_DEBUG_RECORD_DECLARE.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll

  Log Message:
  -----------
  Revert "[SLP]Do extra analysis int minbitwidth if some checks return false."

This reverts commit ea429e19f56005bf89e717c14efdf49ec055b183 to fix
issues reported in https://github.com/llvm/llvm-project/pull/84536#issuecomment-1999295445.


  Commit: 9b5d9a81bd2695443254be8489f4325fbb259776
      https://github.com/llvm/llvm-project/commit/9b5d9a81bd2695443254be8489f4325fbb259776
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll

  Log Message:
  -----------
  AMDGPU: Regenerate test checks from c7c561ef9

The test output changed after initial commit/test in
5f774619eac5db73398225a4c924a9c1d437fb40


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

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

  Log Message:
  -----------
  Revert "[SLP]Do extra analysis int minbitwidth if some checks return false."

This reverts commit e4b772444c8176abe30d364e4a946ee6c8ae8de4 to fixx the
issues reported in https://github.com/llvm/llvm-project/pull/84536.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
    M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll

  Log Message:
  -----------
  Revert "[SLP]Improve minbitwidth analysis."

This reverts commit 7f2167868d8c1cedd3915883412b9c787a2f01db to fix
issues reported in https://github.com/llvm/llvm-project/pull/84536.


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

  Changed paths:
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    R llvm/test/Bitcode/dbg-record-roundtrip.ll
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/verify-uselistorder/verify-uselistorder.cpp

  Log Message:
  -----------
  Revert "[RemoveDIs] Read/write DbgRecords directly from/to bitcode" (#85382)

Reverts llvm/llvm-project#83251

Buildbot: https://lab.llvm.org/buildbot/#/builders/139/builds/61485


  Commit: 328cb9b731cb61eaa853fa6cc3bd641dd1d71b98
      https://github.com/llvm/llvm-project/commit/328cb9b731cb61eaa853fa6cc3bd641dd1d71b98
  Author: Patryk Wychowaniec <pwychowaniec at pm.me>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    A llvm/test/CodeGen/AVR/bug-81911.ll

  Log Message:
  -----------
  [AVR] Remove earlyclobber from LDDRdPtrQ (#85277)

LDDRdPtrQ was marked as `earlyclobber`, which doesn't play well with
GreedyRA (which can generate this instruction through `loadRegFromStackSlot()`).

This seems to be the same case as:

https://github.com/llvm/llvm-project/blob/a99b912c9b74f6ef91786b4dfbc25160c27d3b41/llvm/lib/Target/AVR/AVRInstrInfo.td#L1421

Closes https://github.com/llvm/llvm-project/issues/81911.


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

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/lib/Support/APInt.cpp
    M llvm/unittests/ADT/APIntTest.cpp

  Log Message:
  -----------
  [ADT][APInt] add sfloordiv_ov APInt's member function (#84720)

for mlir fold to avoid too many overflow state check


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
    M llvm/test/Transforms/InstCombine/not.ll
    M llvm/test/Transforms/InstCombine/pr63791.ll

  Log Message:
  -----------
  [InstCombine] Support and/or in `getFreelyInvertedImpl` using DeMorgan's Law (#85193)

This patch adds the support for and/or in `getFreelyInvertedImpl` using
DeMorgan's Law:
```
(~(A | B)) -> (~A & ~B)
(~(A & B)) -> (~A | ~B)
```
Alive2: https://alive2.llvm.org/ce/z/Uig8-j


  Commit: 53d8c6b1b1f7cfce9bd42032e8cb6cc1ddcf6c78
      https://github.com/llvm/llvm-project/commit/53d8c6b1b1f7cfce9bd42032e8cb6cc1ddcf6c78
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/parallel-reduction-rename.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    A flang/test/Semantics/OpenMP/reduction11.f90

  Log Message:
  -----------
  [flang][Semantics][OpenMP] set intrinsic attr for reductions (#85114)

Reductions such as min are intrinsic procedures. This distinguishes them
from user defined reductions. Previously, the intrinsic attribute was
not set when visiting reduction clauses causing them to be missed.

wsloop-reduction-min.f90 (the other min reduction test) worked because
it contained "min" used as an intrinsic inside of the body of the
reduction. This allowed ResolveNamesVisitor::HandleProcedureName to set
the correct attribute on that Symbol.


  Commit: 61fadd0b09fb012b628b050725d348ad2164f328
      https://github.com/llvm/llvm-project/commit/61fadd0b09fb012b628b050725d348ad2164f328
  Author: Ganesh <Ganesh.Gopalasubramanian at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    A llvm/test/CodeGen/X86/vpdpwssd.ll

  Log Message:
  -----------
  [X86] Fast AVX-512-VNNI vpdpwssd tuning (#85375)

Adding a tuning feature to fix
https://github.com/llvm/llvm-project/issues/84182
Generates vpdpwssd (instead of vpmaddwd + vpaddd sequence)


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

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

  Log Message:
  -----------
  [DAG] foldAndToUsubsat/foldSubToUSubSat - share the same SDLoc argument instead of recreating it over and over again.


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

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

  Log Message:
  -----------
  [DAG] foldABSToABD - share the same SDLoc argument instead of recreating it over and over again.


  Commit: 5334afcad827a6284ff56f5bde81d4e3416aae8c
      https://github.com/llvm/llvm-project/commit/5334afcad827a6284ff56f5bde81d4e3416aae8c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/test/SemaCXX/decomposed-condition.cpp

  Log Message:
  -----------
  [clang][Interp] Don't forget to visit condition variable decls

We did this for if statements, but switch and loop constructs
need to do it as well.


  Commit: c7fc95baae8e662506c22511b29e1ad86b910248
      https://github.com/llvm/llvm-project/commit/c7fc95baae8e662506c22511b29e1ad86b910248
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [Object][Archive][NFC] Create all symbolic files objects before calculating offsets. (#85229)

This is refactoring preparing to move UseECMap computation to the
archive writer. We currently require writeArchive caller to pass that.
This is not practical for llvm-ar, which currently interprets at most
one passed object. For a reliable UseECMap, we need to interpret all
symbolic objects: we may have, for example, a list of x86_64 files
followed by aarch64 file, which indicates that we should use EC map for
x86_64 objects.

This commit interprets symbolic files in a separated pass, which will be
a convenient place to implement UseECMap computation in the follow up.
It also makes accessing the next member for AIX big archive offset
computation a bit easier.


  Commit: f623adbbbdea8ac6af06e44be218e4fa969e523d
      https://github.com/llvm/llvm-project/commit/f623adbbbdea8ac6af06e44be218e4fa969e523d
  Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-si129tofp.ll
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-ui129tofp.ll

  Log Message:
  -----------
  [ExpandLargeFpConvert] Fix bug in int-to-fp expansion. (#85370)

When deciding whether to perform rounding on the significand,
the generated IR was using (width - leading zeros - 1) rather
than (width - leading zeros). This is different from how the
routine in compiler-rt does it:

    int sd = srcBits - clzSrcT(a);
    int e = sd - 1;
    if (sd > dstMantDig) {

This bug means that the following code, when built on -O0:

    #include <stdio.h>

    _BitInt(233) v_1037 = 0;

    int main(void)
    {
        v_1037 = 18014398509481982wb;
        double d = v_1037;
        printf("d = %f\n", d);

        return 0;
    }

prints "d = 9007199254740992.000000", which is incorrect.
The correct result is "d = 18014398509481982.000000".


  Commit: e12b46fef76472b3eeb3c689dbd848c72ff8486f
      https://github.com/llvm/llvm-project/commit/e12b46fef76472b3eeb3c689dbd848c72ff8486f
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    A flang/test/Fir/omp-reduction-embox-codegen.fir

  Log Message:
  -----------
  [flang] support fir.alloca operations inside of omp reduction ops (#84952)

Advise to place the alloca at the start of the first block of whichever
region (init or combiner) we are currently inside.

It probably isn't safe to put an alloca inside of a combiner region
because this will be executed multiple times. But that would be a bug to
fix in Lower/OpenMP.cpp, not here.

OpenMP array reductions 1/6
Next PR: https://github.com/llvm/llvm-project/pull/84953


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

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

  Log Message:
  -----------
  [ADT] APIntTest - use APInt::getMaxValue/getSignedMinValue/getSignedMaxValue instead of raw (U)INT_MAX/MIN defines

Fixes warnings on MSVC builds


  Commit: a7f3d17de18a8be07b74484802582404a32c6527
      https://github.com/llvm/llvm-project/commit/a7f3d17de18a8be07b74484802582404a32c6527
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll

  Log Message:
  -----------
  [GlobalISel] Add support for interleave and deinterleave intrinsics to IRTranslator (#85199)

This patch adds support for the @llvm.experimental.vector.{interleave2,
deinterleave2} intrinsics to IRTranslator for fixed-width vector types.
They are lowered to vector shuffles, in roughly the same manner as
SelectionDAG.


  Commit: 61671e2500771dfbf502acd86e2ef70cba847a39
      https://github.com/llvm/llvm-project/commit/61671e2500771dfbf502acd86e2ef70cba847a39
  Author: David Stenberg <david.stenberg at ericsson.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/unittests/IR/MetadataTest.cpp

  Log Message:
  -----------
  [DebugInfo] Fix faulty DIExpression::appendToStack assert (#85255)

The appendToStack() function asserts that no DW_OP_stack_value or
DW_OP_LLVM_fragment operations are present in the operations to be
appended. The function did that by iterating over all elements in the
array rather than just the operations, leading it to falsely asserting
on the following input produced by getExt(), since 159 (0x9f) is the
DWARF code for DW_OP_stack_value:

  {dwarf::DW_OP_LLVM_convert, 159, dwarf::DW_ATE_signed}

Fix this by using expr_op iterators.


  Commit: 03bad4b434eb9e10b8e970d69a583bc8d5b7a3d4
      https://github.com/llvm/llvm-project/commit/03bad4b434eb9e10b8e970d69a583bc8d5b7a3d4
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [NFC][LLVM][CodeGen][SVE] Standardise on SVEAllActive for all true isel patterns.


  Commit: 63e70c05537c54edae975c8b5449ff87444abec2
      https://github.com/llvm/llvm-project/commit/63e70c05537c54edae975c8b5449ff87444abec2
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    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/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

  Log Message:
  -----------
  [flang][OpenMP] Convert repeatable clauses (except Map) in ClauseProc… (#81623)

…essor

Rename `findRepeatableClause` to `findRepeatableClause2`, and make the
new `findRepeatableClause` operate on new `omp::Clause` objects.

Leave `Map` unchanged, because it will require more changes for it to
work.

[Clause representation 3/6]


  Commit: 36fd0e797974b75623d847e30d8ba0494e43af99
      https://github.com/llvm/llvm-project/commit/36fd0e797974b75623d847e30d8ba0494e43af99
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    R llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/rel-method-lists-arm64.dylib
    R llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/rel-method-lists-arm64_32.dylib
    R llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test
    M llvm/tools/llvm-objdump/MachODump.cpp

  Log Message:
  -----------
  Revert "[llvm-objdump][macho] Add support for ObjC relative method lists (#84250)"

This reverts llvm/llvm-project#84250, commit aa6100643c2c8f9a1b06ba557b68b0fba477e3c7.

See build failures:
https://lab.llvm.org/buildbot/#/builders/178/builds/7028
https://lab.llvm.org/buildbot/#/builders/182/builds/9282
https://lab.llvm.org/buildbot/#/builders/186/builds/15299
https://lab.llvm.org/buildbot/#/builders/187/builds/14564


  Commit: 2c703ed7281cb0fb749bff75b1c313a0332bd9eb
      https://github.com/llvm/llvm-project/commit/2c703ed7281cb0fb749bff75b1c313a0332bd9eb
  Author: Eric <eric at efcs.ca>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M libcxx/docs/Modules.rst
    M libcxx/modules/CMakeLists.txt.in

  Log Message:
  -----------
   Rework Modules CMake to be (more) idiomatic. (#84936)

- Fix bug in documentation regarding dependencies.
- Rework Modules CMake to be (more) idiomatic.


  Commit: 5b5525d403f4b1e155c5fc50649b6c6d9e7d4de5
      https://github.com/llvm/llvm-project/commit/5b5525d403f4b1e155c5fc50649b6c6d9e7d4de5
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [flang][OpenMP] Remove unused variable (NFC)

llvm-project/flang/lib/Lower/OpenMP/ClauseProcessor.cpp:97:15:
error: unused variable 'allocatorOperand' [-Werror,-Wunused-variable]
  mlir::Value allocatorOperand;
              ^
1 error generated.


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

  Changed paths:
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    A llvm/test/Bitcode/dbg-record-roundtrip.ll
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/verify-uselistorder/verify-uselistorder.cpp

  Log Message:
  -----------
  Reapply [RemoveDIs] Read/write DbgRecords directly from/to bitcode (#83251)

Reaplying after revert in #85382 (861ebe6446296c96578807363aa292c69d827773).
Fixed intermittent test failure by avoiding piping output in some RUN lines.

If --write-experimental-debuginfo-iterators-to-bitcode is true (default false)
and --expermental-debuginfo-iterators is also true then the new debug info
format (non-instruction records) is written to bitcode directly.

Added the following records:

    FUNC_CODE_DEBUG_RECORD_LABEL
    FUNC_CODE_DEBUG_RECORD_VALUE
    FUNC_CODE_DEBUG_RECORD_DECLARE
    FUNC_CODE_DEBUG_RECORD_ASSIGN
    FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE

The last one has an abbrev in FUNCTION_BLOCK BLOCK_INFO. Incidentally, this uses
the last value available without widening the code-length for FUNCTION_BLOCK
from 4 to 5 bits.

Records are formatted as follows:

    All DbgRecord start with:
      1. DILocation

      FUNC_CODE_DEBUG_RECORD_LABEL
        2. DILabel

      DPValues then share common fields:
        2. DILocalVariable
        3. DIExpression

        FUNC_CODE_DEBUG_RECORD_VALUE
          4. Location Metadata

        FUNC_CODE_DEBUG_RECORD_DECLARE
          4. Location Metadata

        FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE
	  4. Location Value (single)

        FUNC_CODE_DEBUG_RECORD_ASSIGN
	  4. Location Metadata
	  5. DIAssignID
	  6. DIExpression (address)
	  7. Location Metadata (address)

Encoding the DILocation metadata reference directly appeared to yield smaller
bitcode files than encoding the operands seperately (as is done with instruction
DILocations).

FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE is by far the most common DbgRecord record
in optimized code (order of 5x-10x over other kinds). Unoptimized code should
only contain FUNC_CODE_DEBUG_RECORD_DECLARE.


  Commit: 0bcec96f3fe919fc5fd1189d1901fa3a0e501e2c
      https://github.com/llvm/llvm-project/commit/0bcec96f3fe919fc5fd1189d1901fa3a0e501e2c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Reduce duplication in FLAT atomic definitions (#85383)

This simplifies the case where the tablegen name of the defm for the
Real is the same as the name of the Pseudo.


  Commit: 9214e51925d202fd8463535d75f144b81173dd73
      https://github.com/llvm/llvm-project/commit/9214e51925d202fd8463535d75f144b81173dd73
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Simplify GFX10+ FLAT saddr field definition

On GFX10+ has_saddr is effectively always true so there is no need to
test it.


  Commit: e419084da7a00b269368aeb95698e0d36b24e8ec
      https://github.com/llvm/llvm-project/commit/e419084da7a00b269368aeb95698e0d36b24e8ec
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-15 (Fri, 15 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: d54f25726496df936074e31f3f26224daf646947
      https://github.com/llvm/llvm-project/commit/d54f25726496df936074e31f3f26224daf646947
  Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    R .arcconfig
    R .arclint
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .clang-tidy
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml
    M .github/workflows/build-ci-container.yml
    M .github/workflows/containers/github-action-ci/stage2.Dockerfile
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/release-binaries.yml
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    A bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/ParallelUtilities.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/CMakeLists.txt
    M bolt/lib/Core/DIEBuilder.cpp
    A bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Core/ParallelUtilities.cpp
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/test/AArch64/exclusive-instrument.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-ftu-ltu-mix-helper.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-ftu-ltu-mix-helper1.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-ftu-ltu-mix-main.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-df-types-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-main.s
    A bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
    A bolt/test/X86/dwarf5-debug-names.test
    A bolt/test/X86/dwarf5-df-debug-names-generate-debug-names.test
    A bolt/test/X86/dwarf5-df-debug-names.test
    A bolt/test/X86/dwarf5-df-main-debug-names-ftu-ltu-mix.test
    A bolt/test/X86/dwarf5-df-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-df-types-debug-names.test
    A bolt/test/X86/dwarf5-df-types-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-types-debug-names.test
    A bolt/test/X86/dwarf5-types-one-cu-debug-names.test
    M bolt/test/X86/gotpcrelx.s
    A bolt/test/X86/linux-alt-instruction.s
    A bolt/test/X86/linux-bug-table.s
    A bolt/test/X86/linux-exceptions.s
    A bolt/test/X86/linux-parainstructions.s
    A bolt/test/X86/linux-pci-fixup.s
    M bolt/test/X86/pt_gnu_relro.s
    A bolt/test/runtime/X86/instrument-wrong-target.s
    R bolt/test/runtime/instrument-wrong-target.s
    M bolt/tools/merge-fdata/merge-fdata.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
    M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.h
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
    M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.h
    A clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
    A clang-tools-extra/clang-tidy/utils/DesignatedInitializers.h
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/HeuristicResolver.cpp
    M clang-tools-extra/clangd/HeuristicResolver.h
    M clang-tools-extra/clangd/IncludeCleaner.cpp
    M clang-tools-extra/clangd/IncludeCleaner.h
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/JSONTransport.cpp
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/SourceCode.cpp
    M clang-tools-extra/clangd/SourceCode.h
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/tool/CMakeLists.txt
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/crtp-constructor-accessibility.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-avoid-assignment.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-custom.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
    A clang-tools-extra/test/clang-tidy/checkers/google/explicit-constructor-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation3/.clang-tidy
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
    M clang-tools-extra/unittests/clang-tidy/DeclRefExprUtilsTest.cpp
    M clang/CodeOwners.rst
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/DataFlowSanitizer.rst
    M clang/docs/HLSL/ExpectedDifferences.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/conf.py
    A clang/docs/ghlinks.py
    M clang/docs/tools/dump_ast_matchers.py
    M clang/docs/tools/dump_format_style.py
    M clang/include/clang/APINotes/APINotesWriter.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/AST/ParentMapContext.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
    M clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowValues.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    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/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/DarwinSDKInfo.h
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/DiagnosticASTKinds.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/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.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/Module.h
    M clang/include/clang/Basic/OpenCLExtensionTypes.def
    M clang/include/clang/Basic/RISCVVTypes.def
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TargetOSMacros.def
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/InstallAPI/Context.h
    A clang/include/clang/InstallAPI/Frontend.h
    A clang/include/clang/InstallAPI/FrontendRecords.h
    M clang/include/clang/InstallAPI/HeaderFile.h
    A clang/include/clang/InstallAPI/MachO.h
    A clang/include/clang/InstallAPI/Visitor.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Scope.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/PCHContainerOperations.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/Testing/CommandLineArgs.h
    M clang/include/clang/Testing/TestClangConfig.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/ARCMigrate/TransGCAttrs.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/CMakeLists.txt
    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/ByteCodeEmitter.cpp
    M clang/lib/AST/Interp/ByteCodeEmitter.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    R clang/lib/AST/Interp/ByteCodeGenError.cpp
    R clang/lib/AST/Interp/ByteCodeGenError.h
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.h
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Context.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/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvalEmitter.h
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/FunctionPointer.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    A clang/lib/AST/Interp/InterpShared.cpp
    A clang/lib/AST/Interp/InterpShared.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/Interp/PrimType.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/Interp/Program.h
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/MCDCState.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/ARM.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/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.h
    M clang/lib/Driver/ToolChains/Arch/Sparc.h
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/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/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MipsLinux.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
    M clang/lib/Driver/ToolChains/RISCVToolchain.h
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/MacroCallReconstructor.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    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/cpuid.h
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/fmaintrin.h
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/larchintrin.h
    M clang/lib/Headers/llvm_libc_wrappers/assert.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Headers/prfchwintrin.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Index/IndexSymbol.cpp
    M clang/lib/Index/IndexingAction.cpp
    M clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/Frontend.cpp
    A clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/Scope.cpp
    M clang/lib/Sema/Sema.cpp
    A clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.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/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.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/ASTReaderDecl.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/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/Testing/CommandLineArgs.cpp
    M clang/lib/Tooling/AllTUsExecution.cpp
    M clang/lib/Tooling/CMakeLists.txt
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Tooling/Refactoring/AtomicChange.cpp
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/atomic.c
    M clang/test/AST/Interp/builtin-functions.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/cxx11.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/cxx98.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/if.cpp
    M clang/test/AST/Interp/lambda.cpp
    M clang/test/AST/Interp/literals.cpp
    A clang/test/AST/Interp/ms.cpp
    A clang/test/AST/Interp/nullable.cpp
    A clang/test/AST/Interp/spaceship.cpp
    M clang/test/AST/ast-dump-concepts.cpp
    M clang/test/AST/ast-dump-using.cpp
    M clang/test/AST/ast-print-objectivec.m
    M clang/test/AST/coroutine-locals-cleanup.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/Inputs/system-header-simulator-for-malloc.h
    M clang/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h
    M clang/test/Analysis/Inputs/system-header-simulator-for-valist.h
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/analyzer-config.c
    A clang/test/Analysis/assuming-unsigned-ge-0.c
    M clang/test/Analysis/cxx2b-deducing-this.cpp
    A clang/test/Analysis/getline-alloc.c
    M clang/test/Analysis/loop-unrolling.cpp
    M clang/test/Analysis/misc-ps-region-store.mm
    M clang/test/Analysis/stack-addr-ps.c
    M clang/test/Analysis/std-c-library-functions.c
    M clang/test/Analysis/stream-error.c
    A clang/test/Analysis/stream-invalidate.c
    M clang/test/Analysis/stream-note.c
    M clang/test/Analysis/stream.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c
    A clang/test/C/C2x/n3018.c
    M clang/test/C/drs/dr0xx.c
    M clang/test/C/drs/dr2xx.c
    M clang/test/CXX/basic/basic.link/p10-ex2.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4-friend-in-reachable-class.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p3.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/dtor.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3-2b.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp
    M clang/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp
    M clang/test/CXX/drs/dr13xx.cpp
    M clang/test/CXX/drs/dr14xx.cpp
    M clang/test/CXX/drs/dr15xx.cpp
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/drs/dr18xx.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    A clang/test/CXX/drs/dr438.cpp
    A clang/test/CXX/drs/dr439.cpp
    A clang/test/CXX/drs/dr441.cpp
    A clang/test/CXX/drs/dr462.cpp
    A clang/test/CXX/drs/dr492.cpp
    M clang/test/CXX/drs/dr4xx.cpp
    A clang/test/CXX/drs/dr519.cpp
    A clang/test/CXX/drs/dr571.cpp
    M clang/test/CXX/drs/dr5xx.cpp
    M clang/test/CXX/drs/dr6xx.cpp
    A clang/test/CXX/except/except.spec/p13.cpp
    M clang/test/CXX/expr/expr.const/p5-26.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/blocks.mm
    M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
    M clang/test/CXX/special/class.copy/p13-0x.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p6.cpp
    A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/test/ClangScanDeps/optimize-vfs-pch.m
    A clang/test/ClangScanDeps/working-directory-option.c
    M clang/test/CodeCompletion/ordinary-name.c
    M clang/test/CodeGen/LoongArch/intrinsic-la32.c
    M clang/test/CodeGen/LoongArch/intrinsic-la64.c
    A clang/test/CodeGen/Mips/inline-asm-constraints.c
    M clang/test/CodeGen/PowerPC/aix-tls-model.cpp
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-rotate.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
    A clang/test/CodeGen/SystemZ/atomic_fp_load_store.c
    A clang/test/CodeGen/X86/attribute-cmpsd-no-error.c
    M clang/test/CodeGen/X86/avx-builtins.c
    A clang/test/CodeGen/X86/cmp-avx-builtins-error.c
    M clang/test/CodeGen/X86/sse-builtins.c
    M clang/test/CodeGen/X86/sse2-builtins.c
    M clang/test/CodeGen/aarch64-cpu-supports.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
    M clang/test/CodeGen/atomic.c
    A clang/test/CodeGen/attr-availability-visionos.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/builtins-arm64.c
    M clang/test/CodeGen/builtins-hexagon.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/c11atomics-ios.c
    A clang/test/CodeGen/complex-math-mixed.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/fat-lto-objects.c
    A clang/test/CodeGen/remote-traps.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGen/target-features-error-2.c
    A clang/test/CodeGen/tbaa-struct-relaxed-aliasing-with-tsan.cpp
    M clang/test/CodeGen/tbaa-struct.cpp
    M clang/test/CodeGen/volatile.cpp
    M clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
    M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
    M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
    M clang/test/CodeGenCUDA/host-used-extern.cu
    M clang/test/CodeGenCXX/arm-swiftcall.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    A clang/test/CodeGenCXX/cxx23-assume.cpp
    M clang/test/CodeGenCoroutines/coro-always-inline.cpp
    M clang/test/CodeGenCoroutines/coro-await.cpp
    R clang/test/CodeGenCoroutines/coro-awaiter-noinline-suspend.cpp
    M clang/test/CodeGenCoroutines/coro-dwarf.cpp
    M clang/test/CodeGenCoroutines/coro-function-try-block.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
    M clang/test/CodeGenCoroutines/pr56329.cpp
    M clang/test/CodeGenCoroutines/pr59181.cpp
    M clang/test/CodeGenCoroutines/pr65054.cpp
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    A clang/test/CodeGenHLSL/builtins/any.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    A clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/dot.hlsl
    A clang/test/CodeGenHLSL/builtins/exp.hlsl
    A clang/test/CodeGenHLSL/builtins/exp2.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    A clang/test/CodeGenHLSL/builtins/frac.hlsl
    A clang/test/CodeGenHLSL/builtins/isinf.hlsl
    A clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    A clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    A clang/test/CodeGenHLSL/builtins/rcp.hlsl
    A clang/test/CodeGenHLSL/builtins/round.hlsl
    A clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
    M clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl
    M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
    M clang/test/CodeGenOpenCL/amdgpu-attrs.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/CodeGenSYCL/address-space-conversions.cpp
    A clang/test/CodeGenSYCL/amd-address-space-conversions.cpp
    A clang/test/CodeGenSYCL/cuda-address-space-conversions.cpp
    A clang/test/CoverageMapping/single-byte-counters.cpp
    A clang/test/Driver/Inputs/resource_dir/lib/aarch64-unknown-linux/libclang_rt.hwasan.a
    A clang/test/Driver/Inputs/resource_dir/lib/aarch64-unknown-linux/libclang_rt.hwasan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/i386-unknown-linux/libclang_rt.asan.a
    A clang/test/Driver/Inputs/resource_dir/lib/i386-unknown-linux/libclang_rt.asan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/i686-unknown-linux/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir/lib/i686-unknown-linux/clang_rt.crtend.o
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.asan-i386.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.asan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.hwasan-aarch64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.hwasan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.msan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.msan_cxx-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.tsan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.tsan_cxx-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan-i386.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan-x86_64.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan_cxx-i386.a.syms
    R clang/test/Driver/Inputs/resource_dir/lib/linux/libclang_rt.ubsan_cxx-x86_64.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.asan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.asan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.hwasan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.hwasan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan_cxx.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.msan_cxx.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan.a.syms
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan_cxx.a
    A clang/test/Driver/Inputs/resource_dir/lib/x86_64-unknown-linux/libclang_rt.tsan_cxx.a.syms
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Driver/aarch64-rdm.c
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/android-link.cpp
    M clang/test/Driver/arch-specific-libdir.c
    M clang/test/Driver/arm-compiler-rt.c
    M clang/test/Driver/arm-cortex-cpus-2.c
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/basic-block-address-map.c
    M clang/test/Driver/clang-g-opts.c
    M clang/test/Driver/clang-offload-bundler-zlib.c
    M clang/test/Driver/clang-offload-bundler-zstd.c
    M clang/test/Driver/clang-offload-bundler.c
    M clang/test/Driver/compiler-rt-unwind.c
    M clang/test/Driver/coverage-ld.c
    M clang/test/Driver/cuda-bad-arch.cu
    M clang/test/Driver/cuda-detect.cu
    M clang/test/Driver/cuda-external-tools.cu
    M clang/test/Driver/cuda-march.cu
    M clang/test/Driver/cuda-omp-unsupported-debug-options.cu
    M clang/test/Driver/cuda-options.cu
    M clang/test/Driver/cuda-phases.cu
    M clang/test/Driver/cuda-ptxas-path.cu
    M clang/test/Driver/darwin-header-search-libcxx.cpp
    M clang/test/Driver/dwarf-target-version-clamp.cu
    M clang/test/Driver/fdefine-target-os-macros.c
    M clang/test/Driver/freebsd.c
    M clang/test/Driver/fuchsia.c
    M clang/test/Driver/gpu-libc-headers.c
    M clang/test/Driver/haiku.c
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-cuid-hash.hip
    M clang/test/Driver/hip-cuid.hip
    M clang/test/Driver/hip-dependent-options.hip
    M clang/test/Driver/hip-device-compile.hip
    M clang/test/Driver/hip-link-bc-to-bc.hip
    M clang/test/Driver/hip-link-bundle-archive.hip
    M clang/test/Driver/hip-link-save-temps.hip
    M clang/test/Driver/hip-link-shared-library.hip
    M clang/test/Driver/hip-link-static-library.hip
    M clang/test/Driver/hip-offload-compress-zlib.hip
    M clang/test/Driver/hip-offload-compress-zstd.hip
    M clang/test/Driver/hip-output-file-name.hip
    M clang/test/Driver/hip-partial-link.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-rdc-device-only.hip
    M clang/test/Driver/hip-target-id.hip
    M clang/test/Driver/hip-toolchain-features.hip
    M clang/test/Driver/hip-toolchain-rdc-separate.hip
    M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
    M clang/test/Driver/hip-toolchain-rdc.hip
    M clang/test/Driver/hip-unbundle-preproc.hipi
    M clang/test/Driver/hipspv-toolchain-rdc.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M clang/test/Driver/instrprof-ld.c
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/linker-wrapper-libs.c
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/lto.cu
    M clang/test/Driver/mingw-sysroot.cpp
    M clang/test/Driver/netbsd.c
    M clang/test/Driver/no-canonical-prefixes.c
    M clang/test/Driver/openbsd.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/openmp-offload-infer.c
    M clang/test/Driver/print-libgcc-file-name-clangrt.c
    M clang/test/Driver/print-multi-selection-flags.c
    M clang/test/Driver/program-path-priority.c
    M clang/test/Driver/range.c
    M clang/test/Driver/riscv-arch.c
    M clang/test/Driver/riscv-features.c
    M clang/test/Driver/rocm-detect.hip
    M clang/test/Driver/sanitizer-ld.c
    M clang/test/Driver/split-debug.c
    M clang/test/Driver/thinlto.cu
    A clang/test/Driver/toc-conf.c
    A clang/test/Driver/tocdata-cc1.c
    M clang/test/Frontend/fixed_point_declarations.c
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/InstallAPI/basic.test
    A clang/test/InstallAPI/cpp.test
    A clang/test/InstallAPI/functions.test
    A clang/test/InstallAPI/objcclasses.test
    A clang/test/InstallAPI/variables.test
    M clang/test/Interpreter/execute-stmts.cpp
    A clang/test/Layout/dump-complete-invalid.cpp
    M clang/test/Layout/dump-complete.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Misc/target-invalid-cpu-note.c
    M clang/test/Misc/warning-flags.c
    M clang/test/Misc/warning-wall.c
    M clang/test/Modules/InheritDefaultArguments.cppm
    R clang/test/Modules/Inputs/config.h
    M clang/test/Modules/Inputs/module.modulemap
    M clang/test/Modules/Reachability-Private.cpp
    M clang/test/Modules/Reachability-func-default-arg.cpp
    M clang/test/Modules/Reachability-func-ret.cpp
    M clang/test/Modules/Reachability-template-default-arg.cpp
    M clang/test/Modules/Reachability-template-instantiation.cpp
    M clang/test/Modules/Reachability-using-templates.cpp
    M clang/test/Modules/Reachability-using.cpp
    A clang/test/Modules/compile-pcm-with-pic.cppm
    M clang/test/Modules/concept.cppm
    M clang/test/Modules/concept_differ.cppm
    M clang/test/Modules/config_macros.m
    M clang/test/Modules/ctor.arg.dep.cppm
    M clang/test/Modules/cxx20-10-1-ex1.cpp
    M clang/test/Modules/cxx20-10-1-ex2.cpp
    M clang/test/Modules/cxx20-10-2-ex2.cpp
    M clang/test/Modules/cxx20-10-2-ex5.cpp
    M clang/test/Modules/cxx20-10-3-ex1.cpp
    M clang/test/Modules/cxx20-10-3-ex2.cpp
    M clang/test/Modules/cxx20-10-5-ex1.cpp
    M clang/test/Modules/cxx20-import-diagnostics-a.cpp
    M clang/test/Modules/cxx20-import-diagnostics-b.cpp
    M clang/test/Modules/cxx20-module-file-info-macros.cpp
    M clang/test/Modules/deduction-guide.cppm
    M clang/test/Modules/deduction-guide2.cppm
    M clang/test/Modules/deduction-guide3.cppm
    M clang/test/Modules/derived_class.cpp
    M clang/test/Modules/duplicated-module-file-eq-module-name.cppm
    M clang/test/Modules/enum-class.cppm
    M clang/test/Modules/explicitly-specialized-template.cpp
    M clang/test/Modules/export-language-linkage.cppm
    M clang/test/Modules/ftime-trace.cppm
    A clang/test/Modules/hashing-decls-in-exprs-from-gmf.cppm
    M clang/test/Modules/inconsistent-deduction-guide-linkage.cppm
    M clang/test/Modules/inconsistent-export.cppm
    M clang/test/Modules/inherited_arg.cppm
    M clang/test/Modules/instantiation-argdep-lookup.cppm
    M clang/test/Modules/lambdas.cppm
    M clang/test/Modules/merge-concepts-cxx-modules.cpp
    M clang/test/Modules/merge-constrained-friends.cpp
    M clang/test/Modules/merge-lambdas.cppm
    M clang/test/Modules/merge-requires-with-lambdas.cppm
    M clang/test/Modules/merge-var-template-spec-cxx-modules.cppm
    M clang/test/Modules/mismatch-diagnostics.cpp
    R clang/test/Modules/missing-module-declaration.cppm
    M clang/test/Modules/module-init-duplicated-import.cppm
    M clang/test/Modules/named-modules-adl-2.cppm
    M clang/test/Modules/named-modules-adl-3.cppm
    M clang/test/Modules/named-modules-adl.cppm
    M clang/test/Modules/no-duplicate-codegen-in-GMF.cppm
    M clang/test/Modules/no-undeclared-includes-builtins.cpp
    M clang/test/Modules/pair-unambiguous-ctor.cppm
    M clang/test/Modules/partial_specialization.cppm
    M clang/test/Modules/placement-new-reachable.cpp
    M clang/test/Modules/polluted-operator.cppm
    M clang/test/Modules/pr54457.cppm
    M clang/test/Modules/pr56916.cppm
    M clang/test/Modules/pr58532.cppm
    M clang/test/Modules/pr58716.cppm
    M clang/test/Modules/pr59719.cppm
    M clang/test/Modules/pr59780.cppm
    M clang/test/Modules/pr59999.cppm
    M clang/test/Modules/pr60036.cppm
    M clang/test/Modules/pr60085.cppm
    M clang/test/Modules/pr60275.cppm
    M clang/test/Modules/pr60486.cppm
    M clang/test/Modules/pr60693.cppm
    M clang/test/Modules/pr60775.cppm
    M clang/test/Modules/pr60890.cppm
    M clang/test/Modules/pr61065.cppm
    M clang/test/Modules/pr61065_2.cppm
    M clang/test/Modules/pr61067.cppm
    M clang/test/Modules/pr61317.cppm
    M clang/test/Modules/pr61783.cppm
    M clang/test/Modules/pr61892.cppm
    M clang/test/Modules/pr62158.cppm
    M clang/test/Modules/pr62359.cppm
    M clang/test/Modules/pr62589.cppm
    M clang/test/Modules/pr62705.cppm
    M clang/test/Modules/pr62796.cppm
    M clang/test/Modules/pr62943.cppm
    M clang/test/Modules/pr63544.cppm
    M clang/test/Modules/pr63595.cppm
    M clang/test/Modules/pr67627.cppm
    M clang/test/Modules/pr67893.cppm
    M clang/test/Modules/pr72828.cppm
    M clang/test/Modules/predefined.cpp
    M clang/test/Modules/preferred_name.cppm
    M clang/test/Modules/redefinition-merges.cppm
    A clang/test/Modules/reduced-bmi-generating-codes.cppm
    M clang/test/Modules/redundant-template-default-arg.cpp
    M clang/test/Modules/redundant-template-default-arg2.cpp
    M clang/test/Modules/redundant-template-default-arg3.cpp
    M clang/test/Modules/search-partitions.cpp
    M clang/test/Modules/seperated-member-function-definition-for-template-class.cppm
    M clang/test/Modules/stddef.c
    M clang/test/Modules/template-function-specialization.cpp
    M clang/test/Modules/template-lambdas.cppm
    M clang/test/Modules/template-pack.cppm
    M clang/test/Modules/template_default_argument.cpp
    A clang/test/Modules/transitive-import.cppm
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/atomic_read_codegen.c
    M clang/test/OpenMP/atomic_write_codegen.c
    A clang/test/OpenMP/attr-assume.cpp
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/declare_target_ast_print.cpp
    M clang/test/OpenMP/declare_target_messages.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_reduction_task_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
    A clang/test/OpenMP/interop_codegen.cpp
    M clang/test/OpenMP/metadirective_device_arch_codegen.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/scan_ast_print.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_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_reduction_task_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_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.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/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_reduction_task_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_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen.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
    A clang/test/Options/HV.hlsl
    A clang/test/Parser/c23-constexpr.c
    M clang/test/Parser/cxx-concepts-requires-clause.cpp
    A clang/test/Parser/cxx-declarator-attribute-crash.cpp
    A clang/test/Parser/cxx23-assume.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/Preprocessor/bpf-predefined-macros.c
    M clang/test/Preprocessor/has_attribute.cpp
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Profile/c-mcdc-class.cpp
    M clang/test/Profile/c-mcdc-logicalop-ternary.c
    M clang/test/Profile/c-mcdc-nested-ternary.c
    M clang/test/Profile/c-mcdc-not.c
    M clang/test/Profile/c-mcdc.c
    M clang/test/Rewriter/rewrite-modern-class.mm
    A clang/test/Sema/PR84368.cpp
    M clang/test/Sema/aarch64-cpu-supports.c
    A clang/test/Sema/aarch64-sme-intrinsics/acle_sme_zero.c
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    M clang/test/Sema/aix-attr-tls_model.c
    A clang/test/Sema/attr-availability-visionos.c
    M clang/test/Sema/attr-cleanup.c
    M clang/test/Sema/attr-nonnull.c
    M clang/test/Sema/attr-target-clones-aarch64.c
    M clang/test/Sema/attr-target-version.c
    M clang/test/Sema/builtin-cpu-supports.c
    A clang/test/Sema/builtin-popcountg.c
    M clang/test/Sema/builtins-arm64.c
    M clang/test/Sema/builtins-elementwise-math.c
    A clang/test/Sema/complex-arithmetic.c
    A clang/test/Sema/const-init.c
    M clang/test/Sema/constant-builtins-2.c
    A clang/test/Sema/constexpr.c
    A clang/test/Sema/enum-constant-type.cpp
    A clang/test/Sema/format-fixed-point.c
    A clang/test/Sema/inline-asm-validate-mips.c
    M clang/test/Sema/integer-overflow.c
    M clang/test/Sema/nullability.c
    A clang/test/Sema/return-type-mismatch.c
    M clang/test/Sema/riscv-vector-float64-check.c
    M clang/test/Sema/static-assert.c
    M clang/test/Sema/switch-1.c
    A clang/test/Sema/warn-compare-enum-types-mismatch.c
    R clang/test/Sema/warn-conditional-emum-types-mismatch.c
    A clang/test/Sema/warn-conditional-enum-types-mismatch.c
    M clang/test/Sema/warn-overlap.c
    M clang/test/SemaCUDA/amdgpu-attrs.cu
    A clang/test/SemaCUDA/float128.cu
    A clang/test/SemaCXX/GH83461.cpp
    M clang/test/SemaCXX/PR20334-std_initializer_list_diagnosis_assertion.cpp
    M clang/test/SemaCXX/PR68542.cpp
    M clang/test/SemaCXX/attr-declspec-ignored.cpp
    M clang/test/SemaCXX/attr-gnu.cpp
    M clang/test/SemaCXX/attr-nonnull.cpp
    M clang/test/SemaCXX/attr-target-version.cpp
    M clang/test/SemaCXX/bool.cpp
    M clang/test/SemaCXX/compare-modules-cxx2a.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constant-expression-cxx2b.cpp
    A clang/test/SemaCXX/constexpr-explicit-object-lambda.cpp
    A clang/test/SemaCXX/cxx03-cxx11-attr.cpp
    M clang/test/SemaCXX/cxx17-compat.cpp
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
    M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp
    A clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    A clang/test/SemaCXX/cxx23-assume-disabled.cpp
    A clang/test/SemaCXX/cxx23-assume-print.cpp
    A clang/test/SemaCXX/cxx23-assume.cpp
    A clang/test/SemaCXX/cxx23-invalid-constexpr.cpp
    M clang/test/SemaCXX/cxx2a-consteval-default-params.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/cxx2a-initializer-aggregates.cpp
    M clang/test/SemaCXX/cxx2b-p2266-disable-with-msvc-compat.cpp
    M clang/test/SemaCXX/decomposed-condition.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaCXX/enum.cpp
    A clang/test/SemaCXX/gh53815.cpp
    M clang/test/SemaCXX/integer-overflow.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp
    M clang/test/SemaCXX/nullability.cpp
    A clang/test/SemaCXX/overload-bitint.cpp
    M clang/test/SemaCXX/overload-template.cpp
    M clang/test/SemaCXX/overloaded-operator.cpp
    A clang/test/SemaCXX/restrict-this.cpp
    M clang/test/SemaCXX/source_location.cpp
    M clang/test/SemaCXX/type-traits-nonobject.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/undefined-internal.cpp
    M clang/test/SemaCXX/warn-bool-conversion.cpp
    M clang/test/SemaCXX/warn-self-move.cpp
    A clang/test/SemaCXX/warn-unsequenced-paren-list-init.cpp
    M clang/test/SemaCXX/warn-unused-variables.cpp
    A clang/test/SemaHLSL/BuiltIns/any-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
    M clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
    M clang/test/SemaObjC/integer-overflow.m
    M clang/test/SemaObjC/objc-literal-nsnumber.m
    M clang/test/SemaOpenACC/compute-construct-ast.cpp
    M clang/test/SemaOpenACC/no-branch-in-out.c
    A clang/test/SemaOpenACC/no-branch-in-out.cpp
    M clang/test/SemaOpenACC/parallel-assoc-stmt-inst.cpp
    M clang/test/SemaOpenACC/parallel-loc-and-stmt.c
    M clang/test/SemaOpenCLCXX/addrspace-constructors.clcpp
    A clang/test/SemaTemplate/PR25708.cpp
    M clang/test/SemaTemplate/class-template-noexcept.cpp
    M clang/test/SemaTemplate/concepts-lambda.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
    A clang/test/TableGen/target-builtins-prototype-parser.td
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-fuzzer/proto-to-llvm/loop_proto_to_llvm.h
    M clang/tools/clang-installapi/CMakeLists.txt
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    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-linker-wrapper/LinkerWrapperOpts.td
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/diagtool/DiagTool.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/driver/driver.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterODRStrategiesTest.cpp
    M clang/unittests/AST/MatchVerifier.h
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
    M clang/unittests/ASTMatchers/Dynamic/VariantValueTest.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
    M clang/unittests/Basic/DarwinSDKInfoTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestMacroExpansion.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    A clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp
    A clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
    M clang/unittests/Sema/SemaNoloadLookupTest.cpp
    M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
    M clang/unittests/Serialization/ModuleCacheTest.cpp
    M clang/unittests/Serialization/NoCommentsTest.cpp
    M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
    M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXOperatorCallExprTraverser.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksBinaryOperator.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksCompoundAssignOperator.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksUnaryOperator.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPostOrderNoQueue.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPreOrderNoQueue.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/TemplateArgumentLocTraverser.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/make_cxx_dr_status
    M cmake/Modules/CMakePolicy.cmake
    A cmake/Modules/LLVMVersion.cmake
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/include/profile/InstrProfData.inc
    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/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/builtins/cpu_model/x86.c
    A compiler-rt/lib/builtins/extendbfsf2.c
    M compiler-rt/lib/builtins/fp_extend.h
    M compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
    M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
    M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
    M compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
    M compiler-rt/lib/hwasan/hwasan.cpp
    M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
    M compiler-rt/lib/hwasan/hwasan_report.cpp
    M compiler-rt/lib/hwasan/hwasan_thread_list.cpp
    M compiler-rt/lib/hwasan/hwasan_thread_list.h
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/tests/CMakeLists.txt
    M compiler-rt/lib/lsan/lsan_interceptors.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/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingBuffer.c
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/profile/InstrProfilingInternal.h
    M compiler-rt/lib/profile/InstrProfilingMerge.c
    M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
    M compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/profile/InstrProfilingPlatformOther.c
    M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
    M compiler-rt/lib/profile/InstrProfilingWriter.c
    M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_getauxval.h
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_placement_new.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.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_symbolizer_report.cpp
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
    M compiler-rt/lib/scudo/standalone/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/allocator_common.h
    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/checksum.cpp
    M compiler-rt/lib/scudo/standalone/checksum.h
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/condition_variable.h
    M compiler-rt/lib/scudo/standalone/crc32_hw.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/secondary.h
    M compiler-rt/lib/scudo/standalone/stack_depot.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/memtag_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/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
    M compiler-rt/lib/tsan/tests/CMakeLists.txt
    M compiler-rt/lib/xray/tests/CMakeLists.txt
    M compiler-rt/test/asan/TestCases/Windows/intercept_strdup.cpp
    A compiler-rt/test/asan/TestCases/Windows/issue64990.cpp
    M compiler-rt/test/dfsan/reaches_function.c
    A compiler-rt/test/hwasan/TestCases/longjmp-out-of-range.c
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/lsan/TestCases/recoverable_leak_check.cpp
    M compiler-rt/test/orc/lit.cfg.py
    M compiler-rt/test/profile/instrprof-basic.c
    M compiler-rt/test/profile/instrprof-write-buffer-internal.c
    A compiler-rt/test/sanitizer_common/TestCases/Linux/static-link.c
    M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter_default_impl.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
    A compiler-rt/test/tsan/compare_exchange_acquire_fence.cpp
    M compiler-rt/test/tsan/getline_nohang.cpp
    M compiler-rt/test/tsan/pthread_atfork_deadlock3.c
    M compiler-rt/test/tsan/signal_errno.cpp
    A compiler-rt/test/tsan/signal_in_read.c
    M compiler-rt/test/tsan/signal_sync.cpp
    M compiler-rt/test/tsan/signal_thread.cpp
    M compiler-rt/test/tsan/signal_thread2.cpp
    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 cross-project-tests/debuginfo-tests/llgdb-tests/static-member-2.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/test_debuginfo.pl
    M flang/CMakeLists.txt
    M flang/docs/Directives.md
    M flang/docs/Extensions.md
    A flang/docs/OpenMP-declare-target.md
    A flang/docs/RuntimeEnvironment.md
    M flang/docs/conf.py
    M flang/docs/index.md
    M flang/include/flang/Common/float128.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Lower/OpenMP.h
    M flang/include/flang/Lower/PFTBuilder.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/CodeGen/CodeGen.h
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIRDialect.h
    M flang/include/flang/Optimizer/Dialect/FIRDialect.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Parser/char-block.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/provenance.h
    M flang/include/flang/Parser/source.h
    M flang/include/flang/Runtime/api-attrs.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Semantics/expression.h
    A flang/include/flang/Semantics/module-dependences.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Semantics/type.h
    M flang/lib/Decimal/decimal-to-binary.cpp
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/intrinsics-library.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.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/ClauseT.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/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    M flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/provenance.cpp
    M flang/lib/Parser/source.cpp
    M flang/lib/Parser/token-sequence.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-call.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-select-type.cpp
    M flang/lib/Semantics/data-to-inits.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names-utils.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/resolve-names.h
    M flang/lib/Semantics/rewrite-directives.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Semantics/type.cpp
    M flang/module/__fortran_builtins.f90
    M flang/runtime/CMakeLists.txt
    M flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/acos.cpp
    A flang/runtime/Float128Math/acosh.cpp
    A flang/runtime/Float128Math/asin.cpp
    A flang/runtime/Float128Math/asinh.cpp
    A flang/runtime/Float128Math/atan.cpp
    A flang/runtime/Float128Math/atan2.cpp
    A flang/runtime/Float128Math/atanh.cpp
    R flang/runtime/Float128Math/cabs.cpp
    A flang/runtime/Float128Math/ceil.cpp
    A flang/runtime/Float128Math/complex-math.c
    A flang/runtime/Float128Math/complex-math.h
    A flang/runtime/Float128Math/cos.cpp
    A flang/runtime/Float128Math/cosh.cpp
    A flang/runtime/Float128Math/erf.cpp
    A flang/runtime/Float128Math/erfc.cpp
    A flang/runtime/Float128Math/exp.cpp
    A flang/runtime/Float128Math/exponent.cpp
    A flang/runtime/Float128Math/floor.cpp
    A flang/runtime/Float128Math/fma.cpp
    A flang/runtime/Float128Math/fraction.cpp
    A flang/runtime/Float128Math/hypot.cpp
    A flang/runtime/Float128Math/j0.cpp
    A flang/runtime/Float128Math/j1.cpp
    A flang/runtime/Float128Math/jn.cpp
    A flang/runtime/Float128Math/lgamma.cpp
    A flang/runtime/Float128Math/llround.cpp
    A flang/runtime/Float128Math/log.cpp
    A flang/runtime/Float128Math/log10.cpp
    A flang/runtime/Float128Math/lround.cpp
    M flang/runtime/Float128Math/math-entries.h
    A flang/runtime/Float128Math/mod-real.cpp
    A flang/runtime/Float128Math/modulo-real.cpp
    A flang/runtime/Float128Math/nearest.cpp
    A flang/runtime/Float128Math/norm2.cpp
    A flang/runtime/Float128Math/numeric-template-specs.h
    A flang/runtime/Float128Math/pow.cpp
    A flang/runtime/Float128Math/random.cpp
    A flang/runtime/Float128Math/round.cpp
    A flang/runtime/Float128Math/rrspacing.cpp
    A flang/runtime/Float128Math/scale.cpp
    A flang/runtime/Float128Math/set-exponent.cpp
    M flang/runtime/Float128Math/sin.cpp
    A flang/runtime/Float128Math/sinh.cpp
    A flang/runtime/Float128Math/spacing.cpp
    M flang/runtime/Float128Math/sqrt.cpp
    A flang/runtime/Float128Math/tan.cpp
    A flang/runtime/Float128Math/tanh.cpp
    A flang/runtime/Float128Math/tgamma.cpp
    A flang/runtime/Float128Math/trunc.cpp
    A flang/runtime/Float128Math/y0.cpp
    A flang/runtime/Float128Math/y1.cpp
    A flang/runtime/Float128Math/yn.cpp
    M flang/runtime/buffer.h
    M flang/runtime/command.cpp
    M flang/runtime/complex-powi.cpp
    M flang/runtime/complex-reduction.c
    M flang/runtime/complex-reduction.h
    M flang/runtime/environment.cpp
    M flang/runtime/environment.h
    M flang/runtime/extrema.cpp
    M flang/runtime/format-implementation.h
    M flang/runtime/internal-unit.cpp
    M flang/runtime/internal-unit.h
    M flang/runtime/io-stmt.cpp
    M flang/runtime/io-stmt.h
    A flang/runtime/numeric-templates.h
    M flang/runtime/numeric.cpp
    M flang/runtime/pointer.cpp
    M flang/runtime/product.cpp
    A flang/runtime/random-templates.h
    M flang/runtime/random.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/sum.cpp
    M flang/runtime/temporary-stack.cpp
    M flang/runtime/tools.h
    M flang/runtime/unit.cpp
    M flang/runtime/unit.h
    A flang/test/Driver/cuda-option.f90
    M flang/test/Driver/flang-experimental-polymorphism-flag.f90
    M flang/test/Driver/linker-flags.f90
    A flang/test/Fir/omp-reduction-embox-codegen.fir
    A flang/test/Fir/target-complex16.f90
    M flang/test/HLFIR/all-lowering.fir
    M flang/test/HLFIR/any-lowering.fir
    A flang/test/HLFIR/assumed-type-actual-args.f90
    M flang/test/HLFIR/count-lowering-default-int-kinds.fir
    M flang/test/HLFIR/count-lowering.fir
    M flang/test/HLFIR/dot_product-lowering.fir
    M flang/test/HLFIR/element-addr.fir
    M flang/test/HLFIR/extents-of-shape-of.f90
    M flang/test/HLFIR/matmul-lowering.fir
    M flang/test/HLFIR/maxloc-lowering.fir
    M flang/test/HLFIR/maxval-lowering.fir
    M flang/test/HLFIR/minloc-lowering.fir
    M flang/test/HLFIR/minval-lowering.fir
    M flang/test/HLFIR/mul_transpose.f90
    M flang/test/HLFIR/product-lowering.fir
    M flang/test/HLFIR/sum-lowering.fir
    M flang/test/HLFIR/transpose-lowering.fir
    A flang/test/Integration/OpenMP/copyprivate.f90
    A flang/test/Integration/iso-fortran-binding.cpp
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    A flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    A flang/test/Lower/CUDA/cuda-mod.cuf
    A flang/test/Lower/CUDA/cuda-module-use.cuf
    M flang/test/Lower/HLFIR/allocatable-end-of-scope-dealloc.f90
    M flang/test/Lower/HLFIR/bindc_internal_proc.f90
    M flang/test/Lower/HLFIR/internal-procedures-2.f90
    A flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
    M flang/test/Lower/HLFIR/internal-procedures.f90
    M flang/test/Lower/HLFIR/structure-constructor.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    A flang/test/Lower/Intrinsics/acos_complex16.f90
    A flang/test/Lower/Intrinsics/acos_real16.f90
    A flang/test/Lower/Intrinsics/acosh_complex16.f90
    A flang/test/Lower/Intrinsics/acosh_real16.f90
    A flang/test/Lower/Intrinsics/aint_real16.f90
    A flang/test/Lower/Intrinsics/anint_real16.f90
    A flang/test/Lower/Intrinsics/asin_complex16.f90
    A flang/test/Lower/Intrinsics/asin_real16.f90
    A flang/test/Lower/Intrinsics/asinh_complex16.f90
    A flang/test/Lower/Intrinsics/asinh_real16.f90
    A flang/test/Lower/Intrinsics/atan2_real16.f90
    A flang/test/Lower/Intrinsics/atan_complex16.f90
    A flang/test/Lower/Intrinsics/atan_real16.f90
    A flang/test/Lower/Intrinsics/atanh_complex16.f90
    A flang/test/Lower/Intrinsics/atanh_real16.f90
    A flang/test/Lower/Intrinsics/bessel_j0_real16.f90
    A flang/test/Lower/Intrinsics/bessel_j1_real16.f90
    A flang/test/Lower/Intrinsics/bessel_jn_real16.f90
    A flang/test/Lower/Intrinsics/bessel_y0_real16.f90
    A flang/test/Lower/Intrinsics/bessel_y1_real16.f90
    A flang/test/Lower/Intrinsics/bessel_yn_real16.f90
    A flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
    A flang/test/Lower/Intrinsics/cabs_real16.f90
    A flang/test/Lower/Intrinsics/ceiling_real16.f90
    A flang/test/Lower/Intrinsics/cos_complex16.f90
    A flang/test/Lower/Intrinsics/cos_real16.f90
    A flang/test/Lower/Intrinsics/cosh_complex16.f90
    A flang/test/Lower/Intrinsics/cosh_real16.f90
    A flang/test/Lower/Intrinsics/erf_real16.f90
    A flang/test/Lower/Intrinsics/erfc_real16.f90
    A flang/test/Lower/Intrinsics/exp_complex16.f90
    A flang/test/Lower/Intrinsics/exp_real16.f90
    A flang/test/Lower/Intrinsics/floor_real16.f90
    A flang/test/Lower/Intrinsics/fma_real16.f90
    A flang/test/Lower/Intrinsics/gamma_real16.f90
    A flang/test/Lower/Intrinsics/hypot_real16.f90
    A flang/test/Lower/Intrinsics/log10_real16.f90
    A flang/test/Lower/Intrinsics/log_complex16.f90
    A flang/test/Lower/Intrinsics/log_gamma_real16.f90
    A flang/test/Lower/Intrinsics/log_real16.f90
    R flang/test/Lower/Intrinsics/missing-math-runtime.f90
    M flang/test/Lower/Intrinsics/modulo.f90
    A flang/test/Lower/Intrinsics/nint_real16.f90
    M flang/test/Lower/Intrinsics/norm2.f90
    A flang/test/Lower/Intrinsics/pow_complex16.f90
    A flang/test/Lower/Intrinsics/pow_complex16i.f90
    A flang/test/Lower/Intrinsics/pow_complex16k.f90
    A flang/test/Lower/Intrinsics/pow_real16.f90
    A flang/test/Lower/Intrinsics/powi_real16.f90
    M flang/test/Lower/Intrinsics/random.f90
    A flang/test/Lower/Intrinsics/random_number_real16.f90
    A flang/test/Lower/Intrinsics/sin_complex16.f90
    A flang/test/Lower/Intrinsics/sin_real16.f90
    A flang/test/Lower/Intrinsics/sinh_complex16.f90
    A flang/test/Lower/Intrinsics/sinh_real16.f90
    A flang/test/Lower/Intrinsics/sizeof.f90
    A flang/test/Lower/Intrinsics/sqrt_complex16.f90
    A flang/test/Lower/Intrinsics/sqrt_real16.f90
    A flang/test/Lower/Intrinsics/tan_complex16.f90
    A flang/test/Lower/Intrinsics/tan_real16.f90
    A flang/test/Lower/Intrinsics/tanh_complex16.f90
    A flang/test/Lower/Intrinsics/tanh_real16.f90
    M flang/test/Lower/Intrinsics/ubound01.f90
    M flang/test/Lower/OpenACC/acc-routine04.f90
    A flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
    A flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
    A flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    A flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    A flang/test/Lower/OpenMP/declare-target-deferred-marking.f90
    A flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
    A flang/test/Lower/OpenMP/default-clause-byref.f90
    A flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
    A flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
    A flang/test/Lower/OpenMP/delayed-privatization-private.f90
    A flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    A flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    A flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    A flang/test/Lower/OpenMP/parallel-reduction-rename.f90
    A flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
    A flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
    A flang/test/Lower/OpenMP/threadprivate-host-association.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
    A flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    A flang/test/Lower/OpenMP/workshare.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/PowerPC/ppc-vector-types.f90
    M flang/test/Lower/array-temp.f90
    M flang/test/Lower/convert.f90
    M flang/test/Lower/dummy-arguments.f90
    M flang/test/Lower/dummy-procedure-character.f90
    M flang/test/Lower/equivalence-with-host-assoc.f90
    M flang/test/Lower/explicit-interface-results-2.f90
    M flang/test/Lower/forall/array-constructor.f90
    M flang/test/Lower/forall/character-1.f90
    M flang/test/Lower/global-initialization.f90
    M flang/test/Lower/host-associated-functions.f90
    M flang/test/Lower/host-associated-globals.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/module-and-internal-proc.f90
    M flang/test/Lower/parent-component.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/program-units-fir-mangling.f90
    A flang/test/Parser/assume-aligned.f90
    A flang/test/Semantics/Inputs/dir1/modfile63a.mod
    A flang/test/Semantics/Inputs/dir1/modfile63b.mod
    A flang/test/Semantics/Inputs/dir2/modfile63a.mod
    A flang/test/Semantics/Inputs/dir2/modfile63b.mod
    A flang/test/Semantics/OpenMP/reduction11.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    M flang/test/Semantics/assign04.f90
    M flang/test/Semantics/bind-c03.f90
    M flang/test/Semantics/bind-c04.f90
    M flang/test/Semantics/call03.f90
    A flang/test/Semantics/call41.f90
    M flang/test/Semantics/cuf03.cuf
    A flang/test/Semantics/data21.f90
    A flang/test/Semantics/data22.f90
    M flang/test/Semantics/declarations06.f90
    M flang/test/Semantics/forall01.f90
    M flang/test/Semantics/getsymbols02.f90
    A flang/test/Semantics/implicit14.f90
    M flang/test/Semantics/init01.f90
    A flang/test/Semantics/intrinsics03.f90
    A flang/test/Semantics/modfile63.f90
    A flang/test/Semantics/modfile64.f90
    M flang/test/Semantics/namelist01.f90
    M flang/test/Semantics/null01.f90
    M flang/test/Semantics/resolve09.f90
    M flang/test/Semantics/resolve11.f90
    M flang/test/Semantics/resolve61.f90
    M flang/test/Semantics/resolve91.f90
    M flang/test/Semantics/selecttype03.f90
    A flang/test/Semantics/selecttype04.f90
    M flang/test/Semantics/separate-mp02.f90
    M flang/test/Semantics/test_modfile.py
    A flang/test/Semantics/typed-subr.f90
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/Frontend/FrontendActionTest.cpp
    M flang/unittests/Runtime/NumericalFormatTest.cpp
    M flang/unittests/Runtime/Ragged.cpp
    M libc/.clang-tidy
    M libc/AOR_v20.02/string/arm/memchr.S
    M libc/CMakeLists.txt
    M libc/benchmarks/automemcpy/README.md
    M libc/benchmarks/automemcpy/lib/CMakeLists.txt
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/cmake/modules/compiler_features/check_float128.cpp
    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/headers.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/darwin/x86_64/headers.txt
    M libc/config/gpu/api.td
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/api.td
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/exclude.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/c23.rst
    M libc/docs/configure.rst
    M libc/docs/contributing.rst
    M libc/docs/date_and_time.rst
    M libc/docs/dev/clang_tidy_checks.rst
    M libc/docs/dev/code_style.rst
    M libc/docs/dev/config_options.rst
    M libc/docs/dev/printf_behavior.rst
    M libc/docs/dev/undefined_behavior.rst
    M libc/docs/full_cross_build.rst
    A libc/docs/gpu/building.rst
    M libc/docs/gpu/index.rst
    M libc/docs/gpu/motivation.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/index.rst
    M libc/docs/libc_search.rst
    M libc/docs/math/index.rst
    M libc/docs/math/log.rst
    M libc/docs/math/stdfix.rst
    M libc/docs/porting.rst
    M libc/docs/stdbit.rst
    M libc/docs/stdio.rst
    M libc/docs/strings.rst
    A libc/docs/talks.rst
    M libc/fuzzing/stdio/CMakeLists.txt
    A libc/fuzzing/stdio/printf_fixed_conv_fuzz.cpp
    M libc/include/CMakeLists.txt
    M libc/include/__llvm-libc-common.h
    M libc/include/fcntl.h.def
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/containerof-macro.h
    M libc/include/llvm-libc-macros/fcntl-macros.h
    M libc/include/llvm-libc-macros/features-macros.h
    M libc/include/llvm-libc-macros/fenv-macros.h
    M libc/include/llvm-libc-macros/file-seek-macros.h
    M libc/include/llvm-libc-macros/float-macros.h
    M libc/include/llvm-libc-macros/generic-error-number-macros.h
    M libc/include/llvm-libc-macros/gpu/time-macros.h
    M libc/include/llvm-libc-macros/inttypes-macros.h
    M libc/include/llvm-libc-macros/limits-macros.h
    M libc/include/llvm-libc-macros/linux/fcntl-macros.h
    M libc/include/llvm-libc-macros/linux/sched-macros.h
    M libc/include/llvm-libc-macros/linux/signal-macros.h
    M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h
    M libc/include/llvm-libc-macros/linux/sys-random-macros.h
    M libc/include/llvm-libc-macros/linux/sys-resource-macros.h
    M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
    M libc/include/llvm-libc-macros/linux/sys-stat-macros.h
    M libc/include/llvm-libc-macros/linux/sys-time-macros.h
    M libc/include/llvm-libc-macros/linux/sys-wait-macros.h
    M libc/include/llvm-libc-macros/linux/termios-macros.h
    M libc/include/llvm-libc-macros/linux/time-macros.h
    M libc/include/llvm-libc-macros/linux/unistd-macros.h
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/include/llvm-libc-macros/null-macro.h
    M libc/include/llvm-libc-macros/offsetof-macro.h
    M libc/include/llvm-libc-macros/sched-macros.h
    M libc/include/llvm-libc-macros/signal-macros.h
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/include/llvm-libc-macros/stdckdint-macros.h
    M libc/include/llvm-libc-macros/stdfix-macros.h
    A libc/include/llvm-libc-macros/stdint-macros.h
    M libc/include/llvm-libc-macros/stdio-macros.h
    M libc/include/llvm-libc-macros/stdlib-macros.h
    M libc/include/llvm-libc-macros/sys-auxv-macros.h
    M libc/include/llvm-libc-macros/sys-ioctl-macros.h
    M libc/include/llvm-libc-macros/sys-mman-macros.h
    M libc/include/llvm-libc-macros/sys-queue-macros.h
    M libc/include/llvm-libc-macros/sys-random-macros.h
    M libc/include/llvm-libc-macros/sys-resource-macros.h
    M libc/include/llvm-libc-macros/sys-select-macros.h
    M libc/include/llvm-libc-macros/sys-socket-macros.h
    M libc/include/llvm-libc-macros/sys-stat-macros.h
    M libc/include/llvm-libc-macros/sys-time-macros.h
    M libc/include/llvm-libc-macros/sys-wait-macros.h
    M libc/include/llvm-libc-macros/termios-macros.h
    M libc/include/llvm-libc-macros/time-macros.h
    M libc/include/llvm-libc-macros/unistd-macros.h
    M libc/include/llvm-libc-macros/wchar-macros.h
    M libc/include/llvm-libc-types/ACTION.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    M libc/include/llvm-libc-types/DIR.h
    M libc/include/llvm-libc-types/ENTRY.h
    M libc/include/llvm-libc-types/FILE.h
    M libc/include/llvm-libc-types/__atexithandler_t.h
    M libc/include/llvm-libc-types/__atfork_callback_t.h
    M libc/include/llvm-libc-types/__bsearchcompare_t.h
    M libc/include/llvm-libc-types/__call_once_func_t.h
    M libc/include/llvm-libc-types/__exec_argv_t.h
    M libc/include/llvm-libc-types/__exec_envp_t.h
    M libc/include/llvm-libc-types/__futex_word.h
    M libc/include/llvm-libc-types/__getoptargv_t.h
    M libc/include/llvm-libc-types/__mutex_type.h
    M libc/include/llvm-libc-types/__pthread_once_func_t.h
    M libc/include/llvm-libc-types/__pthread_start_t.h
    M libc/include/llvm-libc-types/__pthread_tss_dtor_t.h
    M libc/include/llvm-libc-types/__qsortcompare_t.h
    M libc/include/llvm-libc-types/__qsortrcompare_t.h
    M libc/include/llvm-libc-types/__sighandler_t.h
    M libc/include/llvm-libc-types/__thread_type.h
    M libc/include/llvm-libc-types/blkcnt_t.h
    M libc/include/llvm-libc-types/blksize_t.h
    M libc/include/llvm-libc-types/cc_t.h
    M libc/include/llvm-libc-types/clock_t.h
    M libc/include/llvm-libc-types/clockid_t.h
    M libc/include/llvm-libc-types/cnd_t.h
    M libc/include/llvm-libc-types/cookie_io_functions_t.h
    M libc/include/llvm-libc-types/cpu_set_t.h
    M libc/include/llvm-libc-types/dev_t.h
    M libc/include/llvm-libc-types/div_t.h
    M libc/include/llvm-libc-types/double_t.h
    M libc/include/llvm-libc-types/fd_set.h
    M libc/include/llvm-libc-types/fenv_t.h
    M libc/include/llvm-libc-types/fexcept_t.h
    M libc/include/llvm-libc-types/float128.h
    M libc/include/llvm-libc-types/float_t.h
    M libc/include/llvm-libc-types/gid_t.h
    M libc/include/llvm-libc-types/ino_t.h
    M libc/include/llvm-libc-types/jmp_buf.h
    M libc/include/llvm-libc-types/ldiv_t.h
    M libc/include/llvm-libc-types/lldiv_t.h
    A libc/include/llvm-libc-types/mbstate_t.h
    M libc/include/llvm-libc-types/mode_t.h
    M libc/include/llvm-libc-types/mtx_t.h
    M libc/include/llvm-libc-types/nlink_t.h
    M libc/include/llvm-libc-types/off64_t.h
    M libc/include/llvm-libc-types/off_t.h
    M libc/include/llvm-libc-types/once_flag.h
    M libc/include/llvm-libc-types/pid_t.h
    M libc/include/llvm-libc-types/posix_spawn_file_actions_t.h
    M libc/include/llvm-libc-types/posix_spawnattr_t.h
    M libc/include/llvm-libc-types/pthread_attr_t.h
    M libc/include/llvm-libc-types/pthread_key_t.h
    M libc/include/llvm-libc-types/pthread_mutex_t.h
    M libc/include/llvm-libc-types/pthread_mutexattr_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/rlim_t.h
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/include/llvm-libc-types/sa_family_t.h
    M libc/include/llvm-libc-types/sig_atomic_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/size_t.h
    M libc/include/llvm-libc-types/socklen_t.h
    M libc/include/llvm-libc-types/speed_t.h
    M libc/include/llvm-libc-types/ssize_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_data.h
    M libc/include/llvm-libc-types/struct_epoll_event.h
    M libc/include/llvm-libc-types/struct_hsearch_data.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_timespec.h
    M libc/include/llvm-libc-types/struct_timeval.h
    M libc/include/llvm-libc-types/struct_tm.h
    M libc/include/llvm-libc-types/struct_utsname.h
    M libc/include/llvm-libc-types/suseconds_t.h
    M libc/include/llvm-libc-types/tcflag_t.h
    M libc/include/llvm-libc-types/test_rpc_opcodes_t.h
    M libc/include/llvm-libc-types/thrd_start_t.h
    M libc/include/llvm-libc-types/thrd_t.h
    M libc/include/llvm-libc-types/time_t.h
    M libc/include/llvm-libc-types/tss_dtor_t.h
    M libc/include/llvm-libc-types/tss_t.h
    M libc/include/llvm-libc-types/uid_t.h
    M libc/include/llvm-libc-types/union_sigval.h
    M libc/include/llvm-libc-types/wchar_t.h
    M libc/include/llvm-libc-types/wint_t.h
    M libc/include/sched.h.def
    M libc/include/spawn.h.def
    A libc/include/stdint.h.def
    M libc/include/sys/queue.h
    A libc/include/uchar.h.def
    M libc/lib/CMakeLists.txt
    M libc/spec/bsd_ext.td
    M libc/spec/gnu_ext.td
    M libc/spec/llvm_libc_ext.td
    A libc/spec/llvm_libc_stdfix_ext.td
    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/bit.h
    M libc/src/__support/CPP/limits.h
    M libc/src/__support/CPP/type_traits/is_fixed_point.h
    M libc/src/__support/CPP/type_traits/is_floating_point.h
    M libc/src/__support/CPP/type_traits/is_integral.h
    M libc/src/__support/CPP/type_traits/make_signed.h
    M libc/src/__support/CPP/type_traits/make_unsigned.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/fpbits_str.h
    M libc/src/__support/FPUtil/generic/FMod.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/FPUtil/x86_64/sqrt.h
    M libc/src/__support/GPU/CMakeLists.txt
    A libc/src/__support/GPU/allocator.cpp
    A libc/src/__support/GPU/allocator.h
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/generic/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/HashTable/CMakeLists.txt
    M libc/src/__support/HashTable/table.h
    M libc/src/__support/OSUtil/gpu/io.h
    M libc/src/__support/RPC/rpc.h
    M libc/src/__support/RPC/rpc_client.h
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/StringUtil/message_mapper.h
    M libc/src/__support/StringUtil/platform_errors.h
    M libc/src/__support/StringUtil/platform_signals.h
    M libc/src/__support/StringUtil/tables/linux_extension_errors.h
    M libc/src/__support/StringUtil/tables/linux_extension_signals.h
    M libc/src/__support/StringUtil/tables/linux_platform_errors.h
    M libc/src/__support/StringUtil/tables/linux_platform_signals.h
    M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
    M libc/src/__support/StringUtil/tables/minimal_platform_signals.h
    M libc/src/__support/StringUtil/tables/posix_errors.h
    M libc/src/__support/StringUtil/tables/posix_signals.h
    M libc/src/__support/StringUtil/tables/signal_table.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/src/__support/StringUtil/tables/stdc_signals.h
    M libc/src/__support/UInt.h
    M libc/src/__support/UInt128.h
    M libc/src/__support/blockstore.h
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/__support/fixed_point/fx_rep.h
    A libc/src/__support/fixed_point/sqrt.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_to_string.h
    R libc/src/__support/integer_utils.h
    M libc/src/__support/macros/properties/CMakeLists.txt
    R libc/src/__support/macros/properties/float.h
    A libc/src/__support/macros/properties/types.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/__support/threads/CMakeLists.txt
    M libc/src/__support/threads/gpu/mutex.h
    A libc/src/__support/threads/sleep.h
    M libc/src/assert/assert.h
    M libc/src/gpu/rpc_host_call.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/amdgpu/CMakeLists.txt
    A libc/src/math/amdgpu/acos.cpp
    A libc/src/math/amdgpu/acosf.cpp
    A libc/src/math/amdgpu/acosh.cpp
    A libc/src/math/amdgpu/acoshf.cpp
    A libc/src/math/amdgpu/asin.cpp
    A libc/src/math/amdgpu/asinf.cpp
    A libc/src/math/amdgpu/asinh.cpp
    A libc/src/math/amdgpu/asinhf.cpp
    A libc/src/math/amdgpu/atan.cpp
    A libc/src/math/amdgpu/atan2.cpp
    A libc/src/math/amdgpu/atan2f.cpp
    A libc/src/math/amdgpu/atanf.cpp
    A libc/src/math/amdgpu/atanh.cpp
    A libc/src/math/amdgpu/atanhf.cpp
    A libc/src/math/amdgpu/ceil.cpp
    A libc/src/math/amdgpu/ceilf.cpp
    A libc/src/math/amdgpu/copysign.cpp
    A libc/src/math/amdgpu/copysignf.cpp
    A libc/src/math/amdgpu/cos.cpp
    A libc/src/math/amdgpu/cosf.cpp
    A libc/src/math/amdgpu/cosh.cpp
    A libc/src/math/amdgpu/coshf.cpp
    A libc/src/math/amdgpu/declarations.h
    A libc/src/math/amdgpu/erf.cpp
    A libc/src/math/amdgpu/erff.cpp
    A libc/src/math/amdgpu/exp.cpp
    A libc/src/math/amdgpu/exp10.cpp
    A libc/src/math/amdgpu/exp10f.cpp
    A libc/src/math/amdgpu/exp2.cpp
    A libc/src/math/amdgpu/exp2f.cpp
    A libc/src/math/amdgpu/expf.cpp
    A libc/src/math/amdgpu/expm1.cpp
    A libc/src/math/amdgpu/expm1f.cpp
    A libc/src/math/amdgpu/fabs.cpp
    A libc/src/math/amdgpu/fabsf.cpp
    A libc/src/math/amdgpu/fdim.cpp
    A libc/src/math/amdgpu/fdimf.cpp
    A libc/src/math/amdgpu/floor.cpp
    A libc/src/math/amdgpu/floorf.cpp
    A libc/src/math/amdgpu/fma.cpp
    A libc/src/math/amdgpu/fmaf.cpp
    A libc/src/math/amdgpu/fmax.cpp
    A libc/src/math/amdgpu/fmaxf.cpp
    A libc/src/math/amdgpu/fmin.cpp
    A libc/src/math/amdgpu/fminf.cpp
    A libc/src/math/amdgpu/fmod.cpp
    A libc/src/math/amdgpu/fmodf.cpp
    A libc/src/math/amdgpu/frexp.cpp
    A libc/src/math/amdgpu/frexpf.cpp
    A libc/src/math/amdgpu/hypot.cpp
    A libc/src/math/amdgpu/hypotf.cpp
    A libc/src/math/amdgpu/ilogb.cpp
    A libc/src/math/amdgpu/ilogbf.cpp
    A libc/src/math/amdgpu/ldexp.cpp
    A libc/src/math/amdgpu/ldexpf.cpp
    A libc/src/math/amdgpu/llrint.cpp
    A libc/src/math/amdgpu/llrintf.cpp
    A libc/src/math/amdgpu/log.cpp
    A libc/src/math/amdgpu/log10.cpp
    A libc/src/math/amdgpu/log10f.cpp
    A libc/src/math/amdgpu/log1p.cpp
    A libc/src/math/amdgpu/log1pf.cpp
    A libc/src/math/amdgpu/log2.cpp
    A libc/src/math/amdgpu/log2f.cpp
    A libc/src/math/amdgpu/logb.cpp
    A libc/src/math/amdgpu/logbf.cpp
    A libc/src/math/amdgpu/logf.cpp
    A libc/src/math/amdgpu/lrint.cpp
    A libc/src/math/amdgpu/lrintf.cpp
    A libc/src/math/amdgpu/nearbyint.cpp
    A libc/src/math/amdgpu/nearbyintf.cpp
    A libc/src/math/amdgpu/nextafter.cpp
    A libc/src/math/amdgpu/nextafterf.cpp
    A libc/src/math/amdgpu/platform.h
    A libc/src/math/amdgpu/pow.cpp
    A libc/src/math/amdgpu/powf.cpp
    A libc/src/math/amdgpu/remainder.cpp
    A libc/src/math/amdgpu/remainderf.cpp
    A libc/src/math/amdgpu/remquo.cpp
    A libc/src/math/amdgpu/remquof.cpp
    A libc/src/math/amdgpu/rint.cpp
    A libc/src/math/amdgpu/rintf.cpp
    A libc/src/math/amdgpu/round.cpp
    A libc/src/math/amdgpu/roundf.cpp
    A libc/src/math/amdgpu/scalbn.cpp
    A libc/src/math/amdgpu/scalbnf.cpp
    A libc/src/math/amdgpu/sin.cpp
    A libc/src/math/amdgpu/sincos.cpp
    A libc/src/math/amdgpu/sincosf.cpp
    A libc/src/math/amdgpu/sinf.cpp
    A libc/src/math/amdgpu/sinh.cpp
    A libc/src/math/amdgpu/sinhf.cpp
    A libc/src/math/amdgpu/sqrt.cpp
    A libc/src/math/amdgpu/sqrtf.cpp
    A libc/src/math/amdgpu/tan.cpp
    A libc/src/math/amdgpu/tanf.cpp
    A libc/src/math/amdgpu/tanh.cpp
    A libc/src/math/amdgpu/tanhf.cpp
    A libc/src/math/amdgpu/tgamma.cpp
    A libc/src/math/amdgpu/tgammaf.cpp
    A libc/src/math/amdgpu/trunc.cpp
    A libc/src/math/amdgpu/truncf.cpp
    M libc/src/math/ceilf128.h
    M libc/src/math/copysignf128.h
    M libc/src/math/docs/add_math_function.md
    M libc/src/math/fabsf128.h
    M libc/src/math/fdimf128.h
    M libc/src/math/floorf128.h
    M libc/src/math/fmaxf128.h
    M libc/src/math/fminf128.h
    A libc/src/math/fmodf128.h
    A libc/src/math/fmodl.h
    M libc/src/math/frexpf128.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp_utils.h
    M libc/src/math/generic/fmodf.cpp
    A libc/src/math/generic/fmodf128.cpp
    A libc/src/math/generic/fmodl.cpp
    M libc/src/math/generic/hypotf.cpp
    M libc/src/math/generic/ilogb.cpp
    M libc/src/math/generic/ilogbf.cpp
    A libc/src/math/generic/ilogbf128.cpp
    M libc/src/math/generic/ilogbl.cpp
    A libc/src/math/generic/llogb.cpp
    A libc/src/math/generic/llogbf.cpp
    A libc/src/math/generic/llogbf128.cpp
    A libc/src/math/generic/llogbl.cpp
    A libc/src/math/generic/llrintf128.cpp
    A libc/src/math/generic/llroundf128.cpp
    M libc/src/math/generic/logbf.cpp
    A libc/src/math/generic/logbf128.cpp
    A libc/src/math/generic/lrintf128.cpp
    A libc/src/math/generic/lroundf128.cpp
    A libc/src/math/generic/modff128.cpp
    A libc/src/math/generic/nextafterf128.cpp
    A libc/src/math/generic/rintf128.cpp
    R libc/src/math/gpu/CMakeLists.txt
    R libc/src/math/gpu/ceil.cpp
    R libc/src/math/gpu/ceilf.cpp
    R libc/src/math/gpu/copysign.cpp
    R libc/src/math/gpu/copysignf.cpp
    R libc/src/math/gpu/fabs.cpp
    R libc/src/math/gpu/fabsf.cpp
    R libc/src/math/gpu/floor.cpp
    R libc/src/math/gpu/floorf.cpp
    R libc/src/math/gpu/fma.cpp
    R libc/src/math/gpu/fmaf.cpp
    R libc/src/math/gpu/fmax.cpp
    R libc/src/math/gpu/fmaxf.cpp
    R libc/src/math/gpu/fmin.cpp
    R libc/src/math/gpu/fminf.cpp
    R libc/src/math/gpu/fmod.cpp
    R libc/src/math/gpu/fmodf.cpp
    R libc/src/math/gpu/llround.cpp
    R libc/src/math/gpu/llroundf.cpp
    R libc/src/math/gpu/lround.cpp
    R libc/src/math/gpu/lroundf.cpp
    R libc/src/math/gpu/modf.cpp
    R libc/src/math/gpu/modff.cpp
    R libc/src/math/gpu/nearbyint.cpp
    R libc/src/math/gpu/nearbyintf.cpp
    R libc/src/math/gpu/remainder.cpp
    R libc/src/math/gpu/remainderf.cpp
    R libc/src/math/gpu/rint.cpp
    R libc/src/math/gpu/rintf.cpp
    R libc/src/math/gpu/round.cpp
    R libc/src/math/gpu/roundf.cpp
    R libc/src/math/gpu/sinh.cpp
    R libc/src/math/gpu/sqrt.cpp
    R libc/src/math/gpu/sqrtf.cpp
    R libc/src/math/gpu/tan.cpp
    R libc/src/math/gpu/tanh.cpp
    R libc/src/math/gpu/trunc.cpp
    R libc/src/math/gpu/truncf.cpp
    R libc/src/math/gpu/vendor/CMakeLists.txt
    R libc/src/math/gpu/vendor/acos.cpp
    R libc/src/math/gpu/vendor/acosf.cpp
    R libc/src/math/gpu/vendor/acosh.cpp
    R libc/src/math/gpu/vendor/acoshf.cpp
    R libc/src/math/gpu/vendor/amdgpu/amdgpu.h
    R libc/src/math/gpu/vendor/amdgpu/declarations.h
    R libc/src/math/gpu/vendor/amdgpu/platform.h
    R libc/src/math/gpu/vendor/asin.cpp
    R libc/src/math/gpu/vendor/asinf.cpp
    R libc/src/math/gpu/vendor/asinh.cpp
    R libc/src/math/gpu/vendor/asinhf.cpp
    R libc/src/math/gpu/vendor/atan.cpp
    R libc/src/math/gpu/vendor/atan2.cpp
    R libc/src/math/gpu/vendor/atan2f.cpp
    R libc/src/math/gpu/vendor/atanf.cpp
    R libc/src/math/gpu/vendor/atanh.cpp
    R libc/src/math/gpu/vendor/atanhf.cpp
    R libc/src/math/gpu/vendor/common.h
    R libc/src/math/gpu/vendor/cos.cpp
    R libc/src/math/gpu/vendor/cosf.cpp
    R libc/src/math/gpu/vendor/cosh.cpp
    R libc/src/math/gpu/vendor/coshf.cpp
    R libc/src/math/gpu/vendor/erf.cpp
    R libc/src/math/gpu/vendor/erff.cpp
    R libc/src/math/gpu/vendor/exp.cpp
    R libc/src/math/gpu/vendor/exp10.cpp
    R libc/src/math/gpu/vendor/exp10f.cpp
    R libc/src/math/gpu/vendor/exp2.cpp
    R libc/src/math/gpu/vendor/exp2f.cpp
    R libc/src/math/gpu/vendor/expf.cpp
    R libc/src/math/gpu/vendor/expm1.cpp
    R libc/src/math/gpu/vendor/expm1f.cpp
    R libc/src/math/gpu/vendor/fdim.cpp
    R libc/src/math/gpu/vendor/fdimf.cpp
    R libc/src/math/gpu/vendor/frexp.cpp
    R libc/src/math/gpu/vendor/frexpf.cpp
    R libc/src/math/gpu/vendor/hypot.cpp
    R libc/src/math/gpu/vendor/hypotf.cpp
    R libc/src/math/gpu/vendor/ilogb.cpp
    R libc/src/math/gpu/vendor/ilogbf.cpp
    R libc/src/math/gpu/vendor/ldexp.cpp
    R libc/src/math/gpu/vendor/ldexpf.cpp
    R libc/src/math/gpu/vendor/llrint.cpp
    R libc/src/math/gpu/vendor/llrintf.cpp
    R libc/src/math/gpu/vendor/log.cpp
    R libc/src/math/gpu/vendor/log10.cpp
    R libc/src/math/gpu/vendor/log10f.cpp
    R libc/src/math/gpu/vendor/log1p.cpp
    R libc/src/math/gpu/vendor/log1pf.cpp
    R libc/src/math/gpu/vendor/log2.cpp
    R libc/src/math/gpu/vendor/log2f.cpp
    R libc/src/math/gpu/vendor/logb.cpp
    R libc/src/math/gpu/vendor/logbf.cpp
    R libc/src/math/gpu/vendor/logf.cpp
    R libc/src/math/gpu/vendor/lrint.cpp
    R libc/src/math/gpu/vendor/lrintf.cpp
    R libc/src/math/gpu/vendor/nextafter.cpp
    R libc/src/math/gpu/vendor/nextafterf.cpp
    R libc/src/math/gpu/vendor/nvptx/declarations.h
    R libc/src/math/gpu/vendor/nvptx/nvptx.h
    R libc/src/math/gpu/vendor/pow.cpp
    R libc/src/math/gpu/vendor/powf.cpp
    R libc/src/math/gpu/vendor/remquo.cpp
    R libc/src/math/gpu/vendor/remquof.cpp
    R libc/src/math/gpu/vendor/scalbn.cpp
    R libc/src/math/gpu/vendor/scalbnf.cpp
    R libc/src/math/gpu/vendor/sin.cpp
    R libc/src/math/gpu/vendor/sincos.cpp
    R libc/src/math/gpu/vendor/sincosf.cpp
    R libc/src/math/gpu/vendor/sinf.cpp
    R libc/src/math/gpu/vendor/sinh.cpp
    R libc/src/math/gpu/vendor/sinhf.cpp
    R libc/src/math/gpu/vendor/tan.cpp
    R libc/src/math/gpu/vendor/tanf.cpp
    R libc/src/math/gpu/vendor/tanh.cpp
    R libc/src/math/gpu/vendor/tanhf.cpp
    R libc/src/math/gpu/vendor/tgamma.cpp
    R libc/src/math/gpu/vendor/tgammaf.cpp
    A libc/src/math/ilogbf128.h
    M libc/src/math/ldexpf128.h
    A libc/src/math/llogb.h
    A libc/src/math/llogbf.h
    A libc/src/math/llogbf128.h
    A libc/src/math/llogbl.h
    A libc/src/math/llrintf128.h
    A libc/src/math/llroundf128.h
    A libc/src/math/logbf128.h
    A libc/src/math/lrintf128.h
    A libc/src/math/lroundf128.h
    A libc/src/math/modff128.h
    A libc/src/math/nextafterf128.h
    A libc/src/math/nvptx/CMakeLists.txt
    A libc/src/math/nvptx/acos.cpp
    A libc/src/math/nvptx/acosf.cpp
    A libc/src/math/nvptx/acosh.cpp
    A libc/src/math/nvptx/acoshf.cpp
    A libc/src/math/nvptx/asin.cpp
    A libc/src/math/nvptx/asinf.cpp
    A libc/src/math/nvptx/asinh.cpp
    A libc/src/math/nvptx/asinhf.cpp
    A libc/src/math/nvptx/atan.cpp
    A libc/src/math/nvptx/atan2.cpp
    A libc/src/math/nvptx/atan2f.cpp
    A libc/src/math/nvptx/atanf.cpp
    A libc/src/math/nvptx/atanh.cpp
    A libc/src/math/nvptx/atanhf.cpp
    A libc/src/math/nvptx/ceil.cpp
    A libc/src/math/nvptx/ceilf.cpp
    A libc/src/math/nvptx/copysign.cpp
    A libc/src/math/nvptx/copysignf.cpp
    A libc/src/math/nvptx/cos.cpp
    A libc/src/math/nvptx/cosf.cpp
    A libc/src/math/nvptx/cosh.cpp
    A libc/src/math/nvptx/coshf.cpp
    A libc/src/math/nvptx/declarations.h
    A libc/src/math/nvptx/erf.cpp
    A libc/src/math/nvptx/erff.cpp
    A libc/src/math/nvptx/exp.cpp
    A libc/src/math/nvptx/exp10.cpp
    A libc/src/math/nvptx/exp10f.cpp
    A libc/src/math/nvptx/exp2.cpp
    A libc/src/math/nvptx/exp2f.cpp
    A libc/src/math/nvptx/expf.cpp
    A libc/src/math/nvptx/expm1.cpp
    A libc/src/math/nvptx/expm1f.cpp
    A libc/src/math/nvptx/fabs.cpp
    A libc/src/math/nvptx/fabsf.cpp
    A libc/src/math/nvptx/fdim.cpp
    A libc/src/math/nvptx/fdimf.cpp
    A libc/src/math/nvptx/floor.cpp
    A libc/src/math/nvptx/floorf.cpp
    A libc/src/math/nvptx/fma.cpp
    A libc/src/math/nvptx/fmaf.cpp
    A libc/src/math/nvptx/fmax.cpp
    A libc/src/math/nvptx/fmaxf.cpp
    A libc/src/math/nvptx/fmin.cpp
    A libc/src/math/nvptx/fminf.cpp
    A libc/src/math/nvptx/fmod.cpp
    A libc/src/math/nvptx/fmodf.cpp
    A libc/src/math/nvptx/frexp.cpp
    A libc/src/math/nvptx/frexpf.cpp
    A libc/src/math/nvptx/hypot.cpp
    A libc/src/math/nvptx/hypotf.cpp
    A libc/src/math/nvptx/ilogb.cpp
    A libc/src/math/nvptx/ilogbf.cpp
    A libc/src/math/nvptx/ldexp.cpp
    A libc/src/math/nvptx/ldexpf.cpp
    A libc/src/math/nvptx/llrint.cpp
    A libc/src/math/nvptx/llrintf.cpp
    A libc/src/math/nvptx/log.cpp
    A libc/src/math/nvptx/log10.cpp
    A libc/src/math/nvptx/log10f.cpp
    A libc/src/math/nvptx/log1p.cpp
    A libc/src/math/nvptx/log1pf.cpp
    A libc/src/math/nvptx/log2.cpp
    A libc/src/math/nvptx/log2f.cpp
    A libc/src/math/nvptx/logb.cpp
    A libc/src/math/nvptx/logbf.cpp
    A libc/src/math/nvptx/logf.cpp
    A libc/src/math/nvptx/lrint.cpp
    A libc/src/math/nvptx/lrintf.cpp
    A libc/src/math/nvptx/nearbyint.cpp
    A libc/src/math/nvptx/nearbyintf.cpp
    A libc/src/math/nvptx/nextafter.cpp
    A libc/src/math/nvptx/nextafterf.cpp
    A libc/src/math/nvptx/nvptx.h
    A libc/src/math/nvptx/pow.cpp
    A libc/src/math/nvptx/powf.cpp
    A libc/src/math/nvptx/remainder.cpp
    A libc/src/math/nvptx/remainderf.cpp
    A libc/src/math/nvptx/remquo.cpp
    A libc/src/math/nvptx/remquof.cpp
    A libc/src/math/nvptx/rint.cpp
    A libc/src/math/nvptx/rintf.cpp
    A libc/src/math/nvptx/round.cpp
    A libc/src/math/nvptx/roundf.cpp
    A libc/src/math/nvptx/scalbn.cpp
    A libc/src/math/nvptx/scalbnf.cpp
    A libc/src/math/nvptx/sin.cpp
    A libc/src/math/nvptx/sincos.cpp
    A libc/src/math/nvptx/sincosf.cpp
    A libc/src/math/nvptx/sinf.cpp
    A libc/src/math/nvptx/sinh.cpp
    A libc/src/math/nvptx/sinhf.cpp
    A libc/src/math/nvptx/sqrt.cpp
    A libc/src/math/nvptx/sqrtf.cpp
    A libc/src/math/nvptx/tan.cpp
    A libc/src/math/nvptx/tanf.cpp
    A libc/src/math/nvptx/tanh.cpp
    A libc/src/math/nvptx/tanhf.cpp
    A libc/src/math/nvptx/tgamma.cpp
    A libc/src/math/nvptx/tgammaf.cpp
    A libc/src/math/nvptx/trunc.cpp
    A libc/src/math/nvptx/truncf.cpp
    A libc/src/math/rintf128.h
    M libc/src/math/roundf128.h
    M libc/src/math/sqrtf128.h
    M libc/src/math/truncf128.h
    M libc/src/search/hsearch/CMakeLists.txt
    M libc/src/search/hsearch/global.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_bit_ceil_uc.cpp
    A libc/src/stdbit/stdc_bit_ceil_uc.h
    A libc/src/stdbit/stdc_bit_ceil_ui.cpp
    A libc/src/stdbit/stdc_bit_ceil_ui.h
    A libc/src/stdbit/stdc_bit_ceil_ul.cpp
    A libc/src/stdbit/stdc_bit_ceil_ul.h
    A libc/src/stdbit/stdc_bit_ceil_ull.cpp
    A libc/src/stdbit/stdc_bit_ceil_ull.h
    A libc/src/stdbit/stdc_bit_ceil_us.cpp
    A libc/src/stdbit/stdc_bit_ceil_us.h
    A libc/src/stdbit/stdc_bit_floor_uc.cpp
    A libc/src/stdbit/stdc_bit_floor_uc.h
    A libc/src/stdbit/stdc_bit_floor_ui.cpp
    A libc/src/stdbit/stdc_bit_floor_ui.h
    A libc/src/stdbit/stdc_bit_floor_ul.cpp
    A libc/src/stdbit/stdc_bit_floor_ul.h
    A libc/src/stdbit/stdc_bit_floor_ull.cpp
    A libc/src/stdbit/stdc_bit_floor_ull.h
    A libc/src/stdbit/stdc_bit_floor_us.cpp
    A libc/src/stdbit/stdc_bit_floor_us.h
    A libc/src/stdbit/stdc_bit_width_uc.cpp
    A libc/src/stdbit/stdc_bit_width_uc.h
    A libc/src/stdbit/stdc_bit_width_ui.cpp
    A libc/src/stdbit/stdc_bit_width_ui.h
    A libc/src/stdbit/stdc_bit_width_ul.cpp
    A libc/src/stdbit/stdc_bit_width_ul.h
    A libc/src/stdbit/stdc_bit_width_ull.cpp
    A libc/src/stdbit/stdc_bit_width_ull.h
    A libc/src/stdbit/stdc_bit_width_us.cpp
    A libc/src/stdbit/stdc_bit_width_us.h
    A libc/src/stdbit/stdc_count_ones_uc.cpp
    A libc/src/stdbit/stdc_count_ones_uc.h
    A libc/src/stdbit/stdc_count_ones_ui.cpp
    A libc/src/stdbit/stdc_count_ones_ui.h
    A libc/src/stdbit/stdc_count_ones_ul.cpp
    A libc/src/stdbit/stdc_count_ones_ul.h
    A libc/src/stdbit/stdc_count_ones_ull.cpp
    A libc/src/stdbit/stdc_count_ones_ull.h
    A libc/src/stdbit/stdc_count_ones_us.cpp
    A libc/src/stdbit/stdc_count_ones_us.h
    A libc/src/stdbit/stdc_count_zeros_uc.cpp
    A libc/src/stdbit/stdc_count_zeros_uc.h
    A libc/src/stdbit/stdc_count_zeros_ui.cpp
    A libc/src/stdbit/stdc_count_zeros_ui.h
    A libc/src/stdbit/stdc_count_zeros_ul.cpp
    A libc/src/stdbit/stdc_count_zeros_ul.h
    A libc/src/stdbit/stdc_count_zeros_ull.cpp
    A libc/src/stdbit/stdc_count_zeros_ull.h
    A libc/src/stdbit/stdc_count_zeros_us.cpp
    A libc/src/stdbit/stdc_count_zeros_us.h
    M libc/src/stdbit/stdc_first_leading_one_uc.cpp
    M libc/src/stdbit/stdc_first_leading_one_ui.cpp
    M libc/src/stdbit/stdc_first_leading_one_ul.cpp
    M libc/src/stdbit/stdc_first_leading_one_ull.cpp
    M libc/src/stdbit/stdc_first_leading_one_us.cpp
    M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    M libc/src/stdbit/stdc_first_leading_zero_us.cpp
    M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_one_us.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    A libc/src/stdbit/stdc_has_single_bit_uc.cpp
    A libc/src/stdbit/stdc_has_single_bit_uc.h
    A libc/src/stdbit/stdc_has_single_bit_ui.cpp
    A libc/src/stdbit/stdc_has_single_bit_ui.h
    A libc/src/stdbit/stdc_has_single_bit_ul.cpp
    A libc/src/stdbit/stdc_has_single_bit_ul.h
    A libc/src/stdbit/stdc_has_single_bit_ull.cpp
    A libc/src/stdbit/stdc_has_single_bit_ull.h
    A libc/src/stdbit/stdc_has_single_bit_us.cpp
    A libc/src/stdbit/stdc_has_single_bit_us.h
    M libc/src/stdfix/CMakeLists.txt
    A libc/src/stdfix/exphk.cpp
    A libc/src/stdfix/exphk.h
    A libc/src/stdfix/expk.cpp
    A libc/src/stdfix/expk.h
    A libc/src/stdfix/sqrtuhk.cpp
    A libc/src/stdfix/sqrtuhk.h
    A libc/src/stdfix/sqrtuhr.cpp
    A libc/src/stdfix/sqrtuhr.h
    A libc/src/stdfix/sqrtuk.cpp
    A libc/src/stdfix/sqrtuk.h
    A libc/src/stdfix/sqrtulr.cpp
    A libc/src/stdfix/sqrtulr.h
    A libc/src/stdfix/sqrtur.cpp
    A libc/src/stdfix/sqrtur.h
    A libc/src/stdfix/uhksqrtus.cpp
    A libc/src/stdfix/uhksqrtus.h
    A libc/src/stdfix/uksqrtui.cpp
    A libc/src/stdfix/uksqrtui.h
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/converter.cpp
    M libc/src/stdio/printf_core/converter_atlas.h
    M libc/src/stdio/printf_core/converter_utils.h
    M libc/src/stdio/printf_core/core_structs.h
    A libc/src/stdio/printf_core/fixed_converter.h
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/printf_config.h
    M libc/src/stdio/scanf_core/CMakeLists.txt
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/gpu/CMakeLists.txt
    M libc/src/stdlib/gpu/free.cpp
    M libc/src/stdlib/gpu/malloc.cpp
    M libc/src/string/CMakeLists.txt
    M libc/src/string/memory_utils/aarch64/inline_bcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcpy.h
    M libc/src/string/memory_utils/generic/aligned_access.h
    M libc/src/string/memory_utils/generic/byte_per_byte.h
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/memory_utils/riscv/inline_memmove.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_bcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/string/memory_utils/x86_64/inline_memset.h
    A libc/src/string/memset_explicit.cpp
    A libc/src/string/memset_explicit.h
    M libc/src/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    A libc/src/sys/mman/linux/msync.cpp
    A libc/src/sys/mman/msync.h
    M libc/src/wchar/CMakeLists.txt
    M libc/startup/gpu/amdgpu/start.cpp
    M libc/startup/linux/CMakeLists.txt
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/ExecuteFunction.h
    M libc/test/UnitTest/FPExceptMatcher.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.h
    M libc/test/UnitTest/PlatformDefs.h
    M libc/test/UnitTest/RoundingModeUtils.h
    M libc/test/UnitTest/StringUtils.h
    M libc/test/UnitTest/Test.h
    M libc/test/UnitTest/TestLogger.cpp
    M libc/test/include/CMakeLists.txt
    A libc/test/include/stdbit_stub.h
    A libc/test/include/stdbit_test.c
    M libc/test/include/stdbit_test.cpp
    M libc/test/include/sys/queue_test.cpp
    M libc/test/integration/scudo/CMakeLists.txt
    M libc/test/integration/src/__support/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/scan_reduce.cpp
    M libc/test/integration/src/spawn/test_binary_properties.h
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/CMakeLists.txt
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/CPP/limits_test.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/fixed_point/fx_bits_test.cpp
    M libc/test/src/__support/high_precision_decimal_test.cpp
    M libc/test/src/__support/integer_literals_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libc/test/src/__support/memory_size_test.cpp
    A libc/test/src/__support/str_to_integer_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M libc/test/src/__support/uint_test.cpp
    M libc/test/src/compiler/stack_chk_guard_test.cpp
    M libc/test/src/fenv/CMakeLists.txt
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/FAbsTest.h
    M libc/test/src/math/FMaxTest.h
    M libc/test/src/math/FMinTest.h
    M libc/test/src/math/FloorTest.h
    M libc/test/src/math/RandUtils.h
    M libc/test/src/math/RoundTest.h
    M libc/test/src/math/TruncTest.h
    R libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
    R libc/test/src/math/differential_testing/CMakeLists.txt
    R libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
    R libc/test/src/math/differential_testing/Timer.cpp
    R libc/test/src/math/differential_testing/Timer.h
    R libc/test/src/math/differential_testing/ceilf_diff.cpp
    R libc/test/src/math/differential_testing/ceilf_perf.cpp
    R libc/test/src/math/differential_testing/cosf_diff.cpp
    R libc/test/src/math/differential_testing/cosf_perf.cpp
    R libc/test/src/math/differential_testing/exp2f_diff.cpp
    R libc/test/src/math/differential_testing/exp2f_perf.cpp
    R libc/test/src/math/differential_testing/expf_diff.cpp
    R libc/test/src/math/differential_testing/expf_perf.cpp
    R libc/test/src/math/differential_testing/expm1f_diff.cpp
    R libc/test/src/math/differential_testing/expm1f_perf.cpp
    R libc/test/src/math/differential_testing/fabsf_diff.cpp
    R libc/test/src/math/differential_testing/fabsf_perf.cpp
    R libc/test/src/math/differential_testing/floorf_diff.cpp
    R libc/test/src/math/differential_testing/floorf_perf.cpp
    R libc/test/src/math/differential_testing/fmod_diff.cpp
    R libc/test/src/math/differential_testing/fmod_perf.cpp
    R libc/test/src/math/differential_testing/fmodf_diff.cpp
    R libc/test/src/math/differential_testing/fmodf_perf.cpp
    R libc/test/src/math/differential_testing/hypot_diff.cpp
    R libc/test/src/math/differential_testing/hypot_perf.cpp
    R libc/test/src/math/differential_testing/hypotf_diff.cpp
    R libc/test/src/math/differential_testing/hypotf_perf.cpp
    R libc/test/src/math/differential_testing/log10f_perf.cpp
    R libc/test/src/math/differential_testing/log1pf_perf.cpp
    R libc/test/src/math/differential_testing/log2f_diff.cpp
    R libc/test/src/math/differential_testing/log2f_perf.cpp
    R libc/test/src/math/differential_testing/logbf_diff.cpp
    R libc/test/src/math/differential_testing/logbf_perf.cpp
    R libc/test/src/math/differential_testing/logf_diff.cpp
    R libc/test/src/math/differential_testing/logf_perf.cpp
    R libc/test/src/math/differential_testing/nearbyintf_diff.cpp
    R libc/test/src/math/differential_testing/nearbyintf_perf.cpp
    R libc/test/src/math/differential_testing/rintf_diff.cpp
    R libc/test/src/math/differential_testing/rintf_perf.cpp
    R libc/test/src/math/differential_testing/roundf_diff.cpp
    R libc/test/src/math/differential_testing/roundf_perf.cpp
    R libc/test/src/math/differential_testing/sinf_diff.cpp
    R libc/test/src/math/differential_testing/sinf_perf.cpp
    R libc/test/src/math/differential_testing/sqrtf_diff.cpp
    R libc/test/src/math/differential_testing/sqrtf_perf.cpp
    R libc/test/src/math/differential_testing/truncf_diff.cpp
    R libc/test/src/math/differential_testing/truncf_perf.cpp
    M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
    M libc/test/src/math/in_float_range_test_helper.h
    A libc/test/src/math/nextafterf128_test.cpp
    A libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
    A libc/test/src/math/performance_testing/CMakeLists.txt
    A libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
    A libc/test/src/math/performance_testing/Timer.cpp
    A libc/test/src/math/performance_testing/Timer.h
    A libc/test/src/math/performance_testing/ceilf_perf.cpp
    A libc/test/src/math/performance_testing/cosf_perf.cpp
    A libc/test/src/math/performance_testing/exp2f_perf.cpp
    A libc/test/src/math/performance_testing/expf_perf.cpp
    A libc/test/src/math/performance_testing/expm1f_perf.cpp
    A libc/test/src/math/performance_testing/fabsf_perf.cpp
    A libc/test/src/math/performance_testing/floorf_perf.cpp
    A libc/test/src/math/performance_testing/fmod_perf.cpp
    A libc/test/src/math/performance_testing/fmodf128_perf.cpp
    A libc/test/src/math/performance_testing/fmodf_perf.cpp
    A libc/test/src/math/performance_testing/fmodl_perf.cpp
    A libc/test/src/math/performance_testing/hypot_perf.cpp
    A libc/test/src/math/performance_testing/hypotf_perf.cpp
    A libc/test/src/math/performance_testing/log10f_perf.cpp
    A libc/test/src/math/performance_testing/log1pf_perf.cpp
    A libc/test/src/math/performance_testing/log2f_perf.cpp
    A libc/test/src/math/performance_testing/logbf_perf.cpp
    A libc/test/src/math/performance_testing/logf_perf.cpp
    A libc/test/src/math/performance_testing/nearbyintf_perf.cpp
    A libc/test/src/math/performance_testing/rintf_perf.cpp
    A libc/test/src/math/performance_testing/roundf_perf.cpp
    A libc/test/src/math/performance_testing/sinf_perf.cpp
    A libc/test/src/math/performance_testing/sqrtf_perf.cpp
    A libc/test/src/math/performance_testing/truncf_perf.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    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/FMaxTest.h
    M libc/test/src/math/smoke/FMinTest.h
    M libc/test/src/math/smoke/FloorTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LogbTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/RoundTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/TruncTest.h
    A libc/test/src/math/smoke/fmodf128_test.cpp
    A libc/test/src/math/smoke/fmodl_test.cpp
    M libc/test/src/math/smoke/ilogb_test.cpp
    A libc/test/src/math/smoke/ilogbf128_test.cpp
    M libc/test/src/math/smoke/ilogbf_test.cpp
    M libc/test/src/math/smoke/ilogbl_test.cpp
    A libc/test/src/math/smoke/llogb_test.cpp
    A libc/test/src/math/smoke/llogbf128_test.cpp
    A libc/test/src/math/smoke/llogbf_test.cpp
    A libc/test/src/math/smoke/llogbl_test.cpp
    A libc/test/src/math/smoke/llrintf128_test.cpp
    A libc/test/src/math/smoke/llroundf128_test.cpp
    A libc/test/src/math/smoke/logbf128_test.cpp
    A libc/test/src/math/smoke/lrintf128_test.cpp
    A libc/test/src/math/smoke/lroundf128_test.cpp
    A libc/test/src/math/smoke/modff128_test.cpp
    M libc/test/src/math/smoke/nanl_test.cpp
    A libc/test/src/math/smoke/nextafterf128_test.cpp
    A libc/test/src/math/smoke/rintf128_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
    A libc/test/src/stdbit/stdc_bit_ceil_ui_test.cpp
    A libc/test/src/stdbit/stdc_bit_ceil_ul_test.cpp
    A libc/test/src/stdbit/stdc_bit_ceil_ull_test.cpp
    A libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp
    A libc/test/src/stdbit/stdc_bit_floor_uc_test.cpp
    A libc/test/src/stdbit/stdc_bit_floor_ui_test.cpp
    A libc/test/src/stdbit/stdc_bit_floor_ul_test.cpp
    A libc/test/src/stdbit/stdc_bit_floor_ull_test.cpp
    A libc/test/src/stdbit/stdc_bit_floor_us_test.cpp
    A libc/test/src/stdbit/stdc_bit_width_uc_test.cpp
    A libc/test/src/stdbit/stdc_bit_width_ui_test.cpp
    A libc/test/src/stdbit/stdc_bit_width_ul_test.cpp
    A libc/test/src/stdbit/stdc_bit_width_ull_test.cpp
    A libc/test/src/stdbit/stdc_bit_width_us_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_uc_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_ui_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_ul_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_ull_test.cpp
    A libc/test/src/stdbit/stdc_count_ones_us_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_uc_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_ui_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_ul_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_ull_test.cpp
    A libc/test/src/stdbit/stdc_count_zeros_us_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_ui_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_ul_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_ull_test.cpp
    A libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/ExpTest.h
    A libc/test/src/stdfix/ISqrtTest.h
    M libc/test/src/stdfix/RoundTest.h
    A libc/test/src/stdfix/SqrtTest.h
    A libc/test/src/stdfix/exphk_test.cpp
    A libc/test/src/stdfix/expk_test.cpp
    A libc/test/src/stdfix/sqrtuhk_test.cpp
    A libc/test/src/stdfix/sqrtuhr_test.cpp
    A libc/test/src/stdfix/sqrtuk_test.cpp
    A libc/test/src/stdfix/sqrtulr_test.cpp
    A libc/test/src/stdfix/sqrtur_test.cpp
    A libc/test/src/stdfix/uhksqrtus_test.cpp
    A libc/test/src/stdfix/uksqrtui_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdio/sscanf_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/strtold_test.cpp
    M libc/test/src/string/CMakeLists.txt
    M libc/test/src/string/memory_utils/CMakeLists.txt
    M libc/test/src/string/memory_utils/op_tests.cpp
    A libc/test/src/string/memset_explicit_test.cpp
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    A libc/test/src/sys/mman/linux/msync_test.cpp
    M libc/test/src/time/CMakeLists.txt
    M libc/test/src/time/TmHelper.h
    M libc/test/utils/UnitTest/CMakeLists.txt
    M libc/utils/CMakeLists.txt
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M libc/utils/gpu/CMakeLists.txt
    M libc/utils/gpu/loader/CMakeLists.txt
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M libc/utils/gpu/loader/nvptx/CMakeLists.txt
    M libc/utils/gpu/server/CMakeLists.txt
    A libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    R libc/utils/gpu/server/rpc_server.h
    M libc/utils/mathtools/GenerateHPDConstants.py
    M libc/utils/mathtools/ryu_tablegen.py
    M libclc/CMakeLists.txt
    M libclc/generic/lib/gen_convert.py
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/AndroidNDK.cmake
    M libcxx/cmake/config-ix.cmake
    M libcxx/docs/Contributing.rst
    M libcxx/docs/FeatureTestMacroTable.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/Status/Cxx2cPapers.csv
    M libcxx/docs/Status/SpaceshipPapers.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__assert
    M libcxx/include/__atomic/aliases.h
    M libcxx/include/__atomic/atomic_base.h
    M libcxx/include/__atomic/atomic_flag.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    M libcxx/include/__availability
    M libcxx/include/__charconv/from_chars_integral.h
    M libcxx/include/__charconv/to_chars_base_10.h
    M libcxx/include/__charconv/to_chars_integral.h
    M libcxx/include/__charconv/traits.h
    M libcxx/include/__config
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__format/concepts.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    R libcxx/include/__format/format_fwd.h
    M libcxx/include/__format/formatter.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/identity.h
    M libcxx/include/__fwd/array.h
    A libcxx/include/__fwd/format.h
    A libcxx/include/__fwd/functional.h
    R libcxx/include/__fwd/hash.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/bounded_iter.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__numeric/saturation_arithmetic.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__stop_token/stop_state.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__thread/id.h
    M libcxx/include/__thread/support/pthread.h
    A libcxx/include/__tuple/find_index.h
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__tuple/tuple_size.h
    M libcxx/include/__type_traits/conjunction.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_convertible.h
    M libcxx/include/__type_traits/is_reference_wrapper.h
    M libcxx/include/__type_traits/remove_cv.h
    M libcxx/include/__type_traits/remove_cvref.h
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/__utility/integer_sequence.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/bit
    M libcxx/include/bitset
    M libcxx/include/cassert
    M libcxx/include/ccomplex
    M libcxx/include/cctype
    M libcxx/include/cerrno
    M libcxx/include/cfenv
    M libcxx/include/cfloat
    M libcxx/include/charconv
    M libcxx/include/chrono
    M libcxx/include/cinttypes
    M libcxx/include/ciso646
    M libcxx/include/climits
    M libcxx/include/clocale
    M libcxx/include/cmath
    M libcxx/include/codecvt
    M libcxx/include/compare
    M libcxx/include/complex
    M libcxx/include/concepts
    M libcxx/include/condition_variable
    M libcxx/include/coroutine
    M libcxx/include/csetjmp
    M libcxx/include/csignal
    M libcxx/include/cstdarg
    M libcxx/include/cstdbool
    M libcxx/include/cstddef
    M libcxx/include/cstdint
    M libcxx/include/cstdio
    M libcxx/include/cstdlib
    M libcxx/include/cstring
    M libcxx/include/ctgmath
    M libcxx/include/ctime
    M libcxx/include/cuchar
    M libcxx/include/cwchar
    M libcxx/include/cwctype
    M libcxx/include/deque
    M libcxx/include/exception
    M libcxx/include/execution
    M libcxx/include/expected
    M libcxx/include/experimental/__simd/scalar.h
    M libcxx/include/experimental/__simd/vec_ext.h
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/filesystem
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/functional
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/iomanip
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/iostream
    M libcxx/include/istream
    M libcxx/include/iterator
    M libcxx/include/latch
    M libcxx/include/libcxx.imp
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/memory
    A libcxx/include/module.modulemap
    R libcxx/include/module.modulemap.in
    M libcxx/include/mutex
    M libcxx/include/new
    M libcxx/include/numbers
    M libcxx/include/numeric
    M libcxx/include/optional
    M libcxx/include/ostream
    M libcxx/include/print
    M libcxx/include/queue
    M libcxx/include/random
    M libcxx/include/ranges
    M libcxx/include/ratio
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdexcept
    M libcxx/include/stop_token
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/strstream
    M libcxx/include/system_error
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/type_traits
    M libcxx/include/typeindex
    M libcxx/include/typeinfo
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/utility
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/include/version
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    R libcxx/lib/libc++abi.exp
    M libcxx/modules/CMakeLists.txt.in
    M libcxx/modules/modules.json.in
    M libcxx/modules/std/atomic.inc
    M libcxx/modules/std/iosfwd.inc
    M libcxx/src/CMakeLists.txt
    M libcxx/src/ios.cpp
    M libcxx/src/iostream.cpp
    M libcxx/src/new.cpp
    M libcxx/src/tzdb.cpp
    M libcxx/test/CMakeLists.txt
    M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
    R libcxx/test/libcxx/assertions/headers_declare_verbose_abort.gen.py
    M libcxx/test/libcxx/assertions/modes/none.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
    M libcxx/test/libcxx/clang_modules_include.gen.py
    A libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/views/views.span/assert.iterator-indexing.pass.cpp
    R libcxx/test/libcxx/containers/views/views.span/debug.iterator-indexing.pass.cpp
    M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
    A libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp
    M libcxx/test/libcxx/lint/lint_headers.sh.py
    M libcxx/test/libcxx/module_std.gen.py
    M libcxx/test/libcxx/module_std_compat.gen.py
    A libcxx/test/libcxx/strings/string.view/string.view.iterators/assert.iterator-indexing.pass.cpp
    R libcxx/test/libcxx/strings/string.view/string.view.iterators/debug.iterator-indexing.pass.cpp
    M libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp
    M libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/utilities/variant/variant.variant/variant_size.pass.cpp
    A libcxx/test/libcxx/vendor/apple/availability-with-pedantic-errors.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/parse.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.cons/initialization.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
    A libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cin.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcin-imbue.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcin.sh.cpp
    A libcxx/test/std/input.output/string.streams/helper_concepts.h
    A libcxx/test/std/input.output/string.streams/helper_string_macros.h
    A libcxx/test/std/input.output/string.streams/helper_types.h
    A libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string_view.alloc.pass.cpp
    A libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string_view.mode.alloc.pass.cpp
    A libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string_view.mode.pass.cpp
    A libcxx/test/std/input.output/string.streams/istringstream/istringstream.members/str.string_view.pass.cpp
    A libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string_view.alloc.pass.cpp
    A libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string_view.mode.alloc.pass.cpp
    A libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string_view.mode.pass.cpp
    A libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.string_view.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string_view.alloc.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string_view.mode.alloc.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string_view.mode.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.members/str.string_view.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string_view.alloc.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string_view.mode.alloc.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string_view.mode.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/str.string_view.pass.cpp
    M libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
    M libcxx/test/std/language.support/support.dynamic/align_val_t.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.pass.cpp
    R lldb/third_party/Python/module/unittest2/unittest2/test/dummy.py

  Log Message:
  -----------
  rebase and expansion of PR scope to nested members

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/d1dcf9e9c262...d54f25726496

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