[all-commits] [llvm/llvm-project] 732f53: [RFC][mlir] Add profitability callback to the Inli...

Amir Ayupov via All-commits all-commits at lists.llvm.org
Thu Mar 21 16:37:43 PDT 2024


  Branch: refs/heads/users/aaupov/spr/main.bolt-emit-intra-function-control-flow-in-yamlbat
  Home:   https://github.com/llvm/llvm-project
  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: 64f76dea9c95fd59e383e7550de35786781d9662
      https://github.com/llvm/llvm-project/commit/64f76dea9c95fd59e383e7550de35786781d9662
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/test/Bitcode/dbg-record-roundtrip.ll

  Log Message:
  -----------
  [NFC] Fix comment in test from #83251


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

  Changed paths:
    M llvm/test/Bitcode/dbg-record-roundtrip.ll

  Log Message:
  -----------
  [NFC] Fix incorrect RUN line in test from #83251

Note: This wasn't the cause of the strange behaviour mentioned in the NOTE
comment in the test.


  Commit: 0b9f19a9880eb786871194af116f223d2ad30c52
      https://github.com/llvm/llvm-project/commit/0b9f19a9880eb786871194af116f223d2ad30c52
  Author: antoine moynault <antoine.moynault at linaro.org>
  Date:   2024-03-15 (Fri, 15 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:
  -----------
  Revert "[compiler-rt] Avoid generating coredumps when piped to a tool" (#85390)

This reverts commit 27e5312a8bc8935f9c5620ff061c647d9fbcec85.

This commit broke some bots:
- clang-aarch64-sve-vla
https://lab.llvm.org/buildbot/#/builders/197/builds/13609
- clang-aarch64-sve-vls
https://lab.llvm.org/buildbot/#/builders/184/builds/10988
- clang-aarch64-lld-2stage
https://lab.llvm.org/buildbot/#/builders/185/builds/6312

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


  Commit: f4676b6be6ee0d908c92d64936d17bd6fa3fbda8
      https://github.com/llvm/llvm-project/commit/f4676b6be6ee0d908c92d64936d17bd6fa3fbda8
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/tls-dialect.c
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    A llvm/test/CodeGen/X86/tls-desc.ll

  Log Message:
  -----------
  [X86] Add Support for X86 TLSDESC Relocations (#83136)


  Commit: 092999e70b349ac521cab2648152ababeb12873f
      https://github.com/llvm/llvm-project/commit/092999e70b349ac521cab2648152ababeb12873f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll

  Log Message:
  -----------
  [AMDGPU] Update checks in new test after #85370


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

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

  Log Message:
  -----------
  [X86] isGuaranteedNotToBeUndefOrPoisonForTargetNode - generalize shuffle decoding to support more target shuffles in the future.


  Commit: bf3f86623c4712bff146b5d168cad5f7e658ac56
      https://github.com/llvm/llvm-project/commit/bf3f86623c4712bff146b5d168cad5f7e658ac56
  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 GFX11 and GFX12 FLAT saddr field definition

It is simpler to define this field correctly in the base class for the
Reals for each architecture, than to override it in subclasses for
different addressing modes.


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

  Changed paths:
    M flang/lib/Lower/ConvertCall.cpp
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf

  Log Message:
  -----------
  [flang][cuda] Lower dim3 grid z correctly on calls (#85346)


  Commit: 0e0bfacff71859d1f9212205f8f873d47029d3fb
      https://github.com/llvm/llvm-project/commit/0e0bfacff71859d1f9212205f8f873d47029d3fb
  Author: yonghong-song <yhs at fb.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/lib/Basic/Targets/BPF.cpp
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/BPF/BPFInstrFormats.td
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
    M llvm/test/MC/BPF/insn-unit.s

  Log Message:
  -----------
  [BPF] Add support for may_goto insn (#85358)

Alexei added may_goto insn in [1]. The asm syntax for may_goto looks
like
  may_goto <label>

The instruction represents a conditional branch but the condition is
implicit. Later in bpf kernel verifier, the 'may_goto <label>' insn will
be rewritten with an explicit condition. The encoding of 'may_goto' insn
is enforced in [2] and is also implemented in this patch.

In [3], 'may_goto' insn is encoded with raw bytes. I made the following
change
```
  --- a/tools/testing/selftests/bpf/bpf_experimental.h
  +++ b/tools/testing/selftests/bpf/bpf_experimental.h
  @@ -328,10 +328,7 @@ l_true:                                                                                            \

   #define cond_break                                     \
          ({ __label__ l_break, l_continue;               \
  -        asm volatile goto("1:.byte 0xe5;                       \
  -                     .byte 0;                          \
  -                     .long ((%l[l_break] - 1b - 8) / 8) & 0xffff;      \
  -                     .short 0"                         \
  +        asm volatile goto("may_goto %l[l_break]"       \
                        :::: l_break);                    \
          goto l_continue;                                \
          l_break: break;
```
and ran the selftest with the latest llvm with this patch. All tests are
passed.

[1]
https://lore.kernel.org/bpf/20240306031929.42666-1-alexei.starovoitov@gmail.com/
[2]
https://lore.kernel.org/bpf/20240306031929.42666-2-alexei.starovoitov@gmail.com/
[3]
https://lore.kernel.org/bpf/20240306031929.42666-4-alexei.starovoitov@gmail.com/


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

  Changed paths:
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [bazel] Add workflows to label and assign bazel PRs (#85352)

Bazel PRs aren't being tagged or auto assigned, so they're easily
missed, especially for those created by contributors w/o triage or
commit access.

I'm putting myself as the default auto reviewer, but only for the
purposes of making sure PRs don't get lost.


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

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

  Log Message:
  -----------
  [SLP] Compute a shuffle mask for SK_Broadcast shuffle (#85327)

This is the first of a couple of small patches to compute shuffle masks
for the couple of cases where we call getShuffleCost without one. My
goal is to add an invariant that all calls to getShuffleCost for fixed
length vectors have a mask.

---------

Co-authored-by: Alexey Bataev <a.bataev at gmx.com>


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

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

  Log Message:
  -----------
  [DFAJumpThreading] Early exit if switch is not in a loop (#85360)

This patch prevents taking non-loop switch as candidate.


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

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/tools/llvm-shlib/CMakeLists.txt

  Log Message:
  -----------
  llvm-shlib: Fix libLLVM-${MAJOR}.so symlink on MacOS (#85163)

This is a partial revert of 10c48a772742b7afe665a815b7eba2047f17dc4b
with a fix for the symlink target name on MacOS

See #84637


  Commit: 86293a7c1377d1c795961f0e73799977eeb4829a
      https://github.com/llvm/llvm-project/commit/86293a7c1377d1c795961f0e73799977eeb4829a
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    M flang/test/Lower/Intrinsics/modulo.f90

  Log Message:
  -----------
  [flang] Lower REAL(16) MODULO to Float128Math library call. (#85322)

I did not test it through in #85005, and my assumption was wrong:
arith::RemFOp might be lowered to an fmodf128() call that does not
exist everywhere.


  Commit: 92b56011e6b61e7dc1628c0431ece432f282b3cb
      https://github.com/llvm/llvm-project/commit/92b56011e6b61e7dc1628c0431ece432f282b3cb
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang] Fix documentation markup in the Clang release notes and language extension docs. (#85310)


  Commit: 45e41f9686ee9fbc0598da2acb8316cdfd12e08d
      https://github.com/llvm/llvm-project/commit/45e41f9686ee9fbc0598da2acb8316cdfd12e08d
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [SLP] Compute a shuffle mask for SK_InsertSubvector (#85408)

This is the third of a series of small patches to compute shuffle masks
for the couple of cases where we call getShuffleCost without one. My
goal is to add an invariant that all calls to getShuffleCost for fixed
length vectors have a mask.

After this change, there is one SK_InsertSubvector case left. I excluded
it from this patch just because I thought it worthy of individual
attention and review.

---------

Co-authored-by: Alexey Bataev <a.bataev at gmx.com>


  Commit: 0674ed753a16b407609637eb775f26e7e18cbe76
      https://github.com/llvm/llvm-project/commit/0674ed753a16b407609637eb775f26e7e18cbe76
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [SLP] Compute a shuffle mask for getGatherCost (#85330)

This is the second of a series of small patches to compute shuffle masks
for the couple of cases where we call getShuffleCost without one. My
goal is to add an invariant that all calls to getShuffleCost for fixed
length vectors have a mask.

---------

Co-authored-by: Alexey Bataev <a.bataev at gmx.com>


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td

  Log Message:
  -----------
  AMDGPU: Partially clean up canonicalized predicates in tablegen (#85404)

This was the easy case. There are more issues with some of the other
is_canonicalized* patterns. First there appears to be a tablegen bug
where the predicate is silently ignored if used as a ComplexPattern
source, and we also probably need a version with an operand.


  Commit: 12c2a53e6ae5e1ee33de5811341a10bcdc7a8c4f
      https://github.com/llvm/llvm-project/commit/12c2a53e6ae5e1ee33de5811341a10bcdc7a8c4f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Simplify some uniform patterns. NFC. (#85407)

If the outer node is uniform then the inner nodes must be too, so there
is no need to check them explicitly.


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

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/AST/Interp/cxx98.cpp

  Log Message:
  -----------
  [clang][Interp] Don't diagnose reading const ints in C++98

We _can_ read them, even in C++98.


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

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Don't suppress diagnostics for undefined+external funcs

Calling them should still generate a diagnostic.


  Commit: a4ca07f13b560b4f6fa5459eef7159e4f9ee9a6b
      https://github.com/llvm/llvm-project/commit/a4ca07f13b560b4f6fa5459eef7159e4f9ee9a6b
  Author: FantasqueX <fantasquex at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M libc/docs/fullbuild_mode.rst

  Log Message:
  -----------
  [libc] Fix typo in libc fullbuild mode doc (#85204)

"In order to" is more appropriate.


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

  Changed paths:
    M llvm/test/Bitcode/dbg-record-roundtrip.ll

  Log Message:
  -----------
  Add ALLOW_RETRIES to flaky test dbg-record-roundtrip.ll (#85410)

Something strange is happening in this test.

If the llvm-as output is piped into llvm-link in the final RUN lines
then this test fails on my machine (1 in 200) using WSL2. If the
verify-uselistorder RUN lines are removed then it doesn't fail on my
machine (in 10,000+). If the llvm-as and llvm-link RUN lines mentioned
at the start are removed then it doesn't fail on my machine (in
10,000+).

Writing the llvm-as output to a temporary file for llvm-link to read on
those final RUN lines, the test doesn't fail on my machine (in 10,000+).
But it _does_ fail on a bot:
https://lab.llvm.org/buildbot/#/builders/245/builds/21930. So clearly my
workaround doesn't solve the underlying problem (and I have no idea what
that is).


  Commit: 0ed7a5a9a1d4297e30c7992379ff292cd1aa3828
      https://github.com/llvm/llvm-project/commit/0ed7a5a9a1d4297e30c7992379ff292cd1aa3828
  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] Clean up GFX10 FLAT saddr field definition

On GFX10 only, saddr = EXEC_HI (instead of NULL) is use to distinguish
ST mode from other SCRATCH addressing modes. Handle this when defining
the saddr field instead of overriding it in subclasses.


  Commit: 5a8a7ee9d12d7cd3680c7bc14a4750bd44d99c56
      https://github.com/llvm/llvm-project/commit/5a8a7ee9d12d7cd3680c7bc14a4750bd44d99c56
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Support/VirtualFileSystem.h
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/unittests/Support/VirtualFileSystemTest.cpp

  Log Message:
  -----------
  [llvm][vfs] Preserve paths for fallback/fallthrough in RedirectingFileSystem (#85307)

When we lookup in the external filesystem, do not remove . and ..
components from the original path. For .. this is a correctness issue in
the presence of symlinks, while for . it is simply better practice to
preserve the original path to better match the behaviour of other
filesystems. The only modification we need is to apply the working
directory, since it could differ from the external filesystem.

rdar://123655660


  Commit: ea628f087e42b24c8188f782cb81f146e06be40e
      https://github.com/llvm/llvm-project/commit/ea628f087e42b24c8188f782cb81f146e06be40e
  Author: Kevin P. Neal <kevin.neal at sas.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/ctrloop-constrained-fp.ll

  Log Message:
  -----------
  [FPEnv][PowerPC] Correct strictfp test.

Correct llvm-reduce strictfp test to follow the rules documented in the
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics

This test needed the strictfp attribute added to function definitions.

Test changes verified with D146845.


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

  Changed paths:
    M libc/src/__support/blockstore.h
    M libc/src/stdlib/atexit.cpp
    M libc/test/src/__support/blockstore_test.cpp

  Log Message:
  -----------
  [libc] remove BlockStore from cpp namespace (#85312)

The cpp namespace should only be used to mirror APIs from C++'s std::
namespace
(at least until we share more code with libc++, see

https://discourse.llvm.org/t/rfc-project-hand-in-hand-llvm-libc-libc-code-sharing/77701)


  Commit: 864a88610594d8244e007e9a6e563e2c0f16d1cd
      https://github.com/llvm/llvm-project/commit/864a88610594d8244e007e9a6e563e2c0f16d1cd
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M libcxx/include/limits
    A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
    A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp

  Log Message:
  -----------
  [libc++] Add [[nodiscard]] to static numeric limit functions (#83748)

Fixes #83695


  Commit: 2e8417680a9ab032859c936b2ceb773bb08e08ca
      https://github.com/llvm/llvm-project/commit/2e8417680a9ab032859c936b2ceb773bb08e08ca
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M libcxx/utils/ci/run-buildbot-container

  Log Message:
  -----------
  [libc++] Fixes run-buildbot-container. (#84644)

Pulls the proper docker image instead of a non-existing image.


  Commit: 186565513c57cd625ea7afd7b33897adfed7e9f8
      https://github.com/llvm/llvm-project/commit/186565513c57cd625ea7afd7b33897adfed7e9f8
  Author: SahilPatidar <patidarsahil2001 at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [X86][AVX] Fix handling of out-of-bounds SRA shift amounts in AVX2 vector shift nodes (#84426)


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

  Changed paths:
    A lldb/include/lldb/Host/Alarm.h
    M lldb/source/Host/CMakeLists.txt
    A lldb/source/Host/common/Alarm.cpp
    A lldb/unittests/Host/AlarmTest.cpp
    M lldb/unittests/Host/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Add an Alarm class for coalescing progress reports (#85329)

The commit introduces a new, generic, Alarm class. The class lets you to
schedule functions (callbacks) that will execute after a predefined
timeout. Once scheduled, you can cancel and reset a callback, given the
timeout hasn't expired yet.

The alarm class worker thread that sleeps until the next timeout
expires. When the thread wakes up, it checks for all the callbacks that
have expired and calls them in order. Because the callback is called
from the worker thread, the only guarantee is that a callback is called
no sooner than the timeout. A long running callback could potentially
block the worker threads and delay other callbacks from getting called.

I intentionally kept the implementation as simple as possible while
addressing the needs for the use case of coalescing progress events as
discussed in [1]. If we want to rely on this somewhere else, we can
reassess whether we need to address this class' limitations.

[1] https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717/


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

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/X86/asm-dialect-module.ll

  Log Message:
  -----------
  [X86,AsmPrinter] Set assembler dialect for module inline asm

`clang -c -masm=intel` compiling a source file with file scope basic asm
incorrectly uses the AT&T dialect.
```
% cat a.c
asm("mov rax, rax");
% clang a.c -c -masm=intel
<inline asm>:1:1: error: unknown use of instruction mnemonic without a size suffix
mov rax, rax
^
```

Fix this by setting the assembler dialect from the MCAsmInfo object.

Note: `clang -c -flto -masm=intel a.c` still fails because of
https://reviews.llvm.org/D82862 for #34830: it tried to support AT&T
syntax for clang-cl, but the forced AT&T syntax is not compatible with
intended Intel syntax.

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


  Commit: 0b0e52836d2563afa4c968b93a633c2b17fa5820
      https://github.com/llvm/llvm-project/commit/0b0e52836d2563afa4c968b93a633c2b17fa5820
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
    M llvm/test/MC/AMDGPU/gfx11_asm_sop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt

  Log Message:
  -----------
  [AMDGPU] Fix GFX11 sendmsg codes (#85299)

The code MSG_RTN_GET_TBA_TO_PC was missing, and the next code is off by
1 as a result.


  Commit: 9ecc72f39918d157a46ff1ea816a8756a9bbf75b
      https://github.com/llvm/llvm-project/commit/9ecc72f39918d157a46ff1ea816a8756a9bbf75b
  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 definition of FLAT segment bits. NFC.


  Commit: 58f7251820b14c93168726a24816d8a094599be5
      https://github.com/llvm/llvm-project/commit/58f7251820b14c93168726a24816d8a094599be5
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan.cpp
    M compiler-rt/lib/msan/msan.h
    M compiler-rt/lib/msan/msan_linux.cpp

  Log Message:
  -----------
  [msan] Re-exec with no ASLR if memory layout is incompatible on Linux (#85142)

This ports the change from TSan
(https://github.com/llvm/llvm-project/commit/0784b1eefa36d4acbb0dacd2d18796e26313b6c5).

Testing notes: run 'sudo sysctl vm.mmap_rnd_bits=32; ninja check-msan'
before and after this patch.

N.B. aggressive ASLR may also cause the app to overlap with the
allocator region; for MSan, this was fixed in
https://github.com/llvm/llvm-project/commit/af2bf86a372cacf5f536bae06e2f2d3886eefb7b


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

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/Options.td
    M lld/docs/ld.lld.1
    M lld/test/ELF/incompatible-section-types2.s
    M lld/test/ELF/linkerscript/custom-section-type.s
    A lld/test/ELF/unknown-section.test

  Log Message:
  -----------
  [ELF] Reject certain unknown section types (#85173)

Unknown section sections may require special linking rules, and
rejecting such sections for older linkers may be desired. For example,
if we introduce a new section type to replace a control structure (e.g.
relocations), it would be nice for older linkers to reject the new
section type. GNU ld allows certain unknown section types:

* [SHT_LOUSER,SHT_HIUSER] and non-SHF_ALLOC
* [SHT_LOOS,SHT_HIOS] and non-SHF_OS_NONCONFORMING

but reports errors and stops linking for others (unless
--no-warn-mismatch is specified). Port its behavior. For convenience, we
additionally allow all [SHT_LOPROC,SHT_HIPROC] types so that we don't
have to hard code all known types for each processor.

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


  Commit: 2d80505401835ed4c32d0d58f015efddf929c39d
      https://github.com/llvm/llvm-project/commit/2d80505401835ed4c32d0d58f015efddf929c39d
  Author: Sean Fertile <sd.fertile at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCSymbolXCOFF.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.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/aix-codemodel-attr.ll

  Log Message:
  -----------
  [AIX] Support per global code model. (#79202)

Exploit the per global code model attribute on AIX. On AIX we need to
update both the code sequence used to access the global (either 1 or 2
instructions for small and large code model respectively) and the
storage mapping class that we emit the toc entry.

---------

Co-authored-by: Amy Kwan <akwan0907 at gmail.com>


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test for minbitwidth analysis of icmp, being transformed
to trunc.


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

  Changed paths:
    M lldb/include/lldb/Host/Alarm.h

  Log Message:
  -----------
  [lldb] Add missing headers lldb/Host/Alarm.h


  Commit: 9a42bdc0ae53f321966b1418430d4aaaf83877b5
      https://github.com/llvm/llvm-project/commit/9a42bdc0ae53f321966b1418430d4aaaf83877b5
  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:
  -----------
  [SLP][NFC]Fix signedness to avoid comparison warning.


  Commit: 1e8dad3bef64ada8b293e6c538b1f41ad9727cc0
      https://github.com/llvm/llvm-project/commit/1e8dad3bef64ada8b293e6c538b1f41ad9727cc0
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.h
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.h
    M mlir/test/CAPI/llvm.c
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Support Recursive DITypes (#80251)

Following the discussion from [this
thread](https://discourse.llvm.org/t/handling-cyclic-dependencies-in-debug-info/67526/11),
this PR adds support for recursive DITypes.

This PR adds:
1. DIRecursiveTypeAttrInterface: An interface that DITypeAttrs can
implement to indicate that it supports recursion. See full description
in code.
2. Importer & exporter support (The only DITypeAttr that implements the
interface is DICompositeTypeAttr, so the exporter is only implemented
for composites too. There will be two methods that each llvm DI type
that supports mutation needs to implement since there's nothing
general).

---------

Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>


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

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn

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


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

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h

  Log Message:
  -----------
  [Hexagon][TTI] Remove two overrides which simply proxy to base class [NFC]

These serve no point, and slightly complicate a refectoring I'm working
on for this API.


  Commit: 2210c85a664463cdc11e3b7990c9663c739e6060
      https://github.com/llvm/llvm-project/commit/2210c85a664463cdc11e3b7990c9663c739e6060
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-03-15 (Fri, 15 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:
  -----------
  Reapply [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: b43965adacfafc4dc6b5ec17b4bea839372b7626
      https://github.com/llvm/llvm-project/commit/b43965adacfafc4dc6b5ec17b4bea839372b7626
  Author: Michael Flanders <mkf727 at cs.washington.edu>
  Date:   2024-03-15 (Fri, 15 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/__support/UInt.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/nanf128.cpp
    A libc/src/math/nanf128.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/nanf128_test.cpp

  Log Message:
  -----------
  [libc][math][c23] adds `nanf128` (#85201)

Continuing #84689, this one required more changes than the others, so I
am making it a separate PR.

Extends some stuff in `str_to_float.h`, `str_to_integer.h` to work on
types wider than `unsigned long long` and `uint64_t`.

cc @lntue for review.


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

  Changed paths:
    M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_heap_allocation.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_host.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/double_free.cpp
    R compiler-rt/test/asan/TestCases/Windows/interface_symbols_windows.cpp
    M compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cpp
    M compiler-rt/test/asan/TestCases/Windows/symbols_path.cpp
    M compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cpp
    M compiler-rt/test/asan/TestCases/calloc-overflow.cpp
    M compiler-rt/test/asan/TestCases/deep_stack_uaf.cpp
    M compiler-rt/test/asan/TestCases/double-free.cpp
    M compiler-rt/test/asan/TestCases/malloc-size-too-big.cpp
    M compiler-rt/test/asan/TestCases/strncpy-overflow.cpp
    M compiler-rt/test/asan/TestCases/use-after-free-right.cpp
    M compiler-rt/test/asan/TestCases/use-after-free.cpp

  Log Message:
  -----------
  [asan][windows] Make tests more flexable (#85274)

Contains test changes from
https://github.com/llvm/llvm-project/pull/81677 that are simple test
changes. For the most part just makes the tests allow more flexibility
in the callstacks produced by asan.

Note: this PR has the exact changes from
https://github.com/llvm/llvm-project/pull/81677 in addition to a revert
commit to remove the ones that require other things from that PR. This
will be squashed, ofc. I just left things unsquashed for reviewing
pleasure :).

This is a non-functional-change


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

  Changed paths:
    M clang/test/Preprocessor/riscv-target-features.c

  Log Message:
  -----------
  [RISCV,test] Change two -munaligned-access to GCC-supported -mno-strict-align


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/test/Driver/apple-kext-mkernel.c
    M clang/test/Driver/loongarch-munaligned-access.c
    M clang/test/Driver/munaligned-access-unused.c
    M clang/test/Driver/riscv-features.c

  Log Message:
  -----------
  [Driver] Don't alias -mstrict-align to -mno-unaligned-access

GCC ports only supports one of the options, with -mstrict-align
preferred by newer ports. They reject adding -m[no-]unaligned-access to
newer ports that use -m[no-]strict-align.
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111555).

We should not support aliases, either. Since the behavior has been
long-time for ARM (a146a48349c965932dcf304ffb8155b25307f245), support
both forms for ARM for now but remove -m[no-]unaligned-access for
RISC-V/LoongArch (see also
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/62).

While here, add TargetSpecific to ensure errors on unsupported targets
(https://reviews.llvm.org/D151590) and remove unneeded CC1 options.

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


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

  Changed paths:
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/test/X86/reader-stale-yaml.test

  Log Message:
  -----------
  [BOLT] Check BF state in stale matching (#85339)

Only apply stale matching if the binary function is in CFG state, i.e.
has basic blocks.

Test Plan:
Updated bolt/test/X86/reader-stale-yaml.test


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

  Changed paths:
    M libc/config/baremetal/api.td
    M libc/config/gpu/api.td
    M libc/config/linux/api.td
    M libc/include/llvm-libc-macros/stdio-macros.h

  Log Message:
  -----------
  [libc] Move EOF macro to stdio-macros.h (#85159)

libc++ char_traits.h assumes EOF is always available

See #85158 for more details.


  Commit: 500e05f5a29e8a8008f849788b385cfb0c72e3ef
      https://github.com/llvm/llvm-project/commit/500e05f5a29e8a8008f849788b385cfb0c72e3ef
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [libc] Match stdlib.h baremetal entrypoints with types (#85030)

To match the entrypoints and types for baremetal, we need to include
__qsortrcompare_t and omit __atexithandler_t.


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

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

  Log Message:
  -----------
  [libc] Include double_t and float_t in math.h on baremetal (#85028)

This matches other targets.


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

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M openmp/libomptarget/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/aarch64/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/ppc64/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/ppc64le/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/s390x/CMakeLists.txt
    M openmp/libomptarget/plugins-nextgen/x86_64/CMakeLists.txt
    M openmp/libomptarget/src/CMakeLists.txt
    M openmp/libomptarget/test/api/omp_dynamic_shared_memory.c
    M openmp/libomptarget/test/jit/empty_kernel_lvl1.c
    M openmp/libomptarget/test/jit/empty_kernel_lvl2.c
    M openmp/libomptarget/test/jit/type_punning.c
    M openmp/libomptarget/test/mapping/auto_zero_copy.cpp
    M openmp/libomptarget/test/mapping/auto_zero_copy_globals.cpp
    M openmp/libomptarget/test/offloading/barrier_fence.c
    M openmp/libomptarget/test/offloading/bug49334.cpp
    M openmp/libomptarget/test/offloading/default_thread_limit.c
    M openmp/libomptarget/test/offloading/ompx_bare.c
    M openmp/libomptarget/test/offloading/ompx_coords.c
    M openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
    M openmp/libomptarget/test/offloading/parallel_target_teams_reduction.cpp
    M openmp/libomptarget/test/offloading/small_trip_count.c
    M openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
    M openmp/libomptarget/test/offloading/spmdization.c
    M openmp/libomptarget/test/offloading/target_critical_region.cpp
    M openmp/libomptarget/test/offloading/thread_limit.c
    M openmp/libomptarget/test/ompt/target_memcpy.c
    M openmp/libomptarget/test/ompt/target_memcpy_emi.c
    M openmp/libomptarget/test/ompt/veccopy.c
    M openmp/libomptarget/test/ompt/veccopy_data.c
    M openmp/libomptarget/test/ompt/veccopy_disallow_both.c
    M openmp/libomptarget/test/ompt/veccopy_emi.c
    M openmp/libomptarget/test/ompt/veccopy_emi_map.c
    M openmp/libomptarget/test/ompt/veccopy_map.c

  Log Message:
  -----------
  Reapply [libomptarget] Build plugins-nextgen for SystemZ (#83978)

The plugin was not getting built as the build_generic_elf64 macro
assumes the LLVM triple processor name matches the CMake processor name,
which is unfortunately not the case for SystemZ.

Fix this by providing two separate arguments instead.

Actually building the plugin exposed a number of other issues causing
various test failures. Specifically, I've had to add the SystemZ target
to
- CompilerInvocation::ParseLangArgs
- linkDevice in ClangLinuxWrapper.cpp
- OMPContext::OMPContext (to set the device_kind_cpu trait)
- LIBOMPTARGET_ALL_TARGETS in libomptarget/CMakeLists.txt
- a check_plugin_target call in libomptarget/src/CMakeLists.txt

Finally, I've had to set a number of test cases to UNSUPPORTED on
s390x-ibm-linux-gnu; all these tests were already marked as UNSUPPORTED
for x86_64-pc-linux-gnu and aarch64-unknown-linux-gnu and are failing on
s390x for what seem to be the same reason.

In addition, this also requires support for BE ELF files in
plugins-nextgen: https://github.com/llvm/llvm-project/pull/85246


  Commit: 1b0072734ffb1297070ea37ad49c374f32b1d94d
      https://github.com/llvm/llvm-project/commit/1b0072734ffb1297070ea37ad49c374f32b1d94d
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [new-prs-labeler] Add "DXContainer" patterns to the backend:DirectX label (#85446)

This should make sure PRs like #84409 get labelled.


  Commit: 89b7b3b9952210fbd9bd0db95385bfed69ffc7a3
      https://github.com/llvm/llvm-project/commit/89b7b3b9952210fbd9bd0db95385bfed69ffc7a3
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/Generic/ForceStackAlign.ll
    M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll

  Log Message:
  -----------
  [NVPTX] support dynamic allocas with PTX alloca instruction (#84585)

Add support for dynamically sized alloca instructions with the PTX
alloca instruction introduced in PTX 7.3 
([9.7.15.3. Stack Manipulation Instructions: alloca]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#stack-manipulation-instructions-alloca))


  Commit: 0e21672d996282973d9a7aca675a7f9510ba4bb8
      https://github.com/llvm/llvm-project/commit/0e21672d996282973d9a7aca675a7f9510ba4bb8
  Author: Felipe Cabarcas <110852406+fel-cab at users.noreply.github.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M openmp/libomptarget/src/OpenMP/Mapping.cpp

  Log Message:
  -----------
  Fixing LIBOMPTARGET_INFO message, for Copying data from device to host (#85444)

When running OpenMP offloading application with LIBOMPTARGET_INFO=-1,
the addresses of the Copying data from **device** to **host**, the
address are swap.
As an example, Currently the address would be
```
omptarget device 0 info: Mapping exists with HstPtrBegin=0x00007ffddaf0fb90, TgtPtrBegin=0x00007fb385404000, Size=8000, DynRefCount=0 (decremented, delayed deletion), HoldRefCount=0
omptarget device 0 info: Copying data from device to host, TgtPtr=0x00007ffddaf0fb90, HstPtr=0x00007fb385404000, Size=8000, Name=d
```
And it should be
```
omptarget device 0 info: Copying data from device to host, TgtPtr=0x00007fb385404000, HstPtr=0x00007ffddaf0fb90, Size=8000, Name=d
```

---------

Co-authored-by: fel-cab <fel-cab at github.com>


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

  Changed paths:
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp

  Log Message:
  -----------
  [lldb] Show module name in progress update for downloading symbols (#85342)

Currently, we always show the argument passed to dsymForUUID in the
corresponding progress update. Most of the time this is a UUID, but it
can also be an absolute path. The former is pretty uninformative and the
latter needlessly noisy.

This changes the progress update to print the UUID and the module name,
if both are available. Otherwise, we print the UUID or the module name
depending on which one is available.

We now also unconditionally pass the module file spec and architecture
to DownloadObjectAndSymbolFile, while previously this was conditional on
the file existing on-disk. This should be harmless:

  - We already check that the file exists in DownloadObjectAndSymbolFile.
  - It doesn't make sense to check the filesystem for the architecutre.

rdar://124643548


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

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/test/Dialect/Math/expand-math.mlir

  Log Message:
  -----------
  Revert "[mlir][math] Implement alternative decomposition for tanh (#8… (#85429)

…5025)"

This reverts commit 58ef9bec071383744fb703ff08df9806f25e4095.

There is a bool to float casting issue that needs to be sorted out to
make sure this is target independent


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

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
    M mlir/test/Dialect/Math/polynomial-approximation.mlir

  Log Message:
  -----------
  [mlir][math] Propagate scalability in polynomial approximation (#84949)

This simply updates the rewrites to propagate the scalable flags (which
as they do not alter the vector shape, is pretty simple).

The added tests are simply scalable versions of the existing vector
tests.


  Commit: f0863a004e794b7cf90dd92869064e964400b52c
      https://github.com/llvm/llvm-project/commit/f0863a004e794b7cf90dd92869064e964400b52c
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [MLIR][LLVM] Fix bazel build (#85462)

Fix bazel build after #80251.


  Commit: 8ff96eb100d4811120f3050e5bc75848ea83a938
      https://github.com/llvm/llvm-project/commit/8ff96eb100d4811120f3050e5bc75848ea83a938
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/nextdown.cpp
    A libc/src/math/generic/nextdownf.cpp
    A libc/src/math/generic/nextdownf128.cpp
    A libc/src/math/generic/nextup.cpp
    A libc/src/math/generic/nextupf.cpp
    A libc/src/math/generic/nextupf128.cpp
    A libc/src/math/nextdown.h
    A libc/src/math/nextdownf.h
    A libc/src/math/nextdownf128.h
    A libc/src/math/nextup.h
    A libc/src/math/nextupf.h
    A libc/src/math/nextupf128.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/NextDownTest.h
    A libc/test/src/math/smoke/NextUpTest.h
    A libc/test/src/math/smoke/nextdown_test.cpp
    A libc/test/src/math/smoke/nextdownf128_test.cpp
    A libc/test/src/math/smoke/nextdownf_test.cpp
    A libc/test/src/math/smoke/nextup_test.cpp
    A libc/test/src/math/smoke/nextupf128_test.cpp
    A libc/test/src/math/smoke/nextupf_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add nextup{,f,f128} and nextdown{,f,f128} functions (#85431)

See https://github.com/llvm/llvm-project/issues/85283.

I had a test for `nextdownl` that was failing and I thought I should add
`nextupl` and `nextdownl` later and first make a PR for the other
functions.

cc @lntue


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

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
    M bolt/test/X86/dwarf5-debug-names.test
    M bolt/test/X86/dwarf5-df-debug-names-generate-debug-names.test
    M bolt/test/X86/dwarf5-df-debug-names.test
    M bolt/test/X86/dwarf5-df-main-debug-names-ftu-ltu-mix.test
    M bolt/test/X86/dwarf5-df-one-cu-debug-names.test
    M bolt/test/X86/dwarf5-df-types-debug-names.test
    M bolt/test/X86/dwarf5-df-types-one-cu-debug-names.test
    M bolt/test/X86/dwarf5-one-cu-debug-names.test
    M bolt/test/X86/dwarf5-types-debug-names.test
    M bolt/test/X86/dwarf5-types-one-cu-debug-names.test

  Log Message:
  -----------
  [BOLT][DWARF] Add support for DW_IDX_parent (#85285)

This adds support for DW_IDX_parent. If DIE has a parent then
DW_IDX_parent in Entry will point to Entry for that parent DIE.
Otherwise it will have DW_FORM_flag_present in abbrev. Which takes zero
space in Entry.

This came from

https://discourse.llvm.org/t/rfc-improve-dwarf-5-debug-names-type-lookup-parsing-speed/74151


  Commit: ca4c4a6758d184f209cb5d88ef42ecc011b11642
      https://github.com/llvm/llvm-project/commit/ca4c4a6758d184f209cb5d88ef42ecc011b11642
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2024-03-15 (Fri, 15 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:
  -----------
  Revert "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)"

This reverts commit 92a09c0165b87032e1bd05020a78ed845cf35661.

This is triggering a bunch of new -Wnullability-completeness warnings
in code with existing raw pointer nullability annotations.

The intent was the new nullability locations wouldn't affect those
warnings, so this is a bug at least for now.


  Commit: 5e21fa23bb242d6e0575c1ca630e4d293413aed6
      https://github.com/llvm/llvm-project/commit/5e21fa23bb242d6e0575c1ca630e4d293413aed6
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M flang/runtime/edit-output.cpp

  Log Message:
  -----------
  [flang][runtime] Fix off-by-one error in EX0.0 output editing (#85428)

The maximum number of significant hexadecimal digits in EX0.0 REAL
output editing is 29, not 28. Fix by computing it at build time from the
precision of REAL(16).


  Commit: 60fa2b0670b874b702ddb9f81d098af692ea6875
      https://github.com/llvm/llvm-project/commit/60fa2b0670b874b702ddb9f81d098af692ea6875
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Parser/executable-parsers.cpp
    M flang/lib/Parser/misc-parsers.h
    M flang/lib/Parser/unparse.cpp
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Parser/cuf-sanity-tree.CUF
    M flang/test/Semantics/cuf09.cuf

  Log Message:
  -----------
  [flang] Parse !$CUF KERNEL DO <<< (*) (#85338)

Accept and represent asterisks within the parenthesized grid and block
specification lists.


  Commit: 0481f049c37029d829dbc0c0cc5d1ee71c6d1c9a
      https://github.com/llvm/llvm-project/commit/0481f049c37029d829dbc0c0cc5d1ee71c6d1c9a
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    A clang/docs/PointerAuthentication.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/module.modulemap
    A clang/lib/Headers/ptrauth.h
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/ptrauth-intrinsics.c
    A clang/test/Preprocessor/ptrauth_feature.c
    A clang/test/Sema/ptrauth-intrinsics-macro.c
    A clang/test/Sema/ptrauth.c
    M llvm/docs/PointerAuth.md

  Log Message:
  -----------
  [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (#65996)

This defines the basic set of pointer authentication clang builtins
(provided in a new header, ptrauth.h), with diagnostics and IRGen
support.  The availability of the builtins is gated on a new flag,
`-fptrauth-intrinsics`.

Note that this only includes the basic intrinsics, and notably excludes
`ptrauth_sign_constant`, `ptrauth_type_discriminator`, and
`ptrauth_string_discriminator`, which need extra logic to be fully
supported.

This also introduces clang/docs/PointerAuthentication.rst, which
describes the ptrauth model in general, in addition to these builtins.

Co-Authored-By: Akira Hatanaka <ahatanaka at apple.com>
Co-Authored-By: John McCall <rjmccall at apple.com>


  Commit: 71e0261fb0c6c382f68eedddf6bbcf637e6709f2
      https://github.com/llvm/llvm-project/commit/71e0261fb0c6c382f68eedddf6bbcf637e6709f2
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    A flang/include/flang/Common/optional.h
    M flang/include/flang/Runtime/type-code.h
    M flang/runtime/connection.h
    M flang/runtime/descriptor-io.cpp
    M flang/runtime/descriptor-io.h
    M flang/runtime/edit-input.cpp
    M flang/runtime/environment.cpp
    M flang/runtime/environment.h
    M flang/runtime/extrema.cpp
    M flang/runtime/file.cpp
    M flang/runtime/file.h
    M flang/runtime/format-implementation.h
    M flang/runtime/format.h
    M flang/runtime/io-api.cpp
    M flang/runtime/io-stmt.cpp
    M flang/runtime/io-stmt.h
    M flang/runtime/matmul-transpose.cpp
    M flang/runtime/matmul.cpp
    M flang/runtime/misc-intrinsic.cpp
    M flang/runtime/namelist.cpp
    M flang/runtime/random-templates.h
    M flang/runtime/random.cpp
    M flang/runtime/tools.h
    M flang/runtime/type-code.cpp
    M flang/runtime/type-info.cpp
    M flang/runtime/type-info.h
    M flang/runtime/unit-map.cpp
    M flang/runtime/unit.cpp
    M flang/runtime/unit.h
    M flang/runtime/utf.cpp
    M flang/runtime/utf.h

  Log Message:
  -----------
  [flang][runtime] Added Fortran::common::optional for use on device.

This is a simplified implementation of std::optional that can be used
in the offload builds for the device code. The methods are properly
marked with RT_API_ATTRS so that the device compilation succedes.

Reviewers: klausler, jeanPerier

Reviewed By: jeanPerier

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


  Commit: d4a8e979e4bd6c282e2b3645353f84a189bb4a9a
      https://github.com/llvm/llvm-project/commit/d4a8e979e4bd6c282e2b3645353f84a189bb4a9a
  Author: Sterling Augustine <saugustine at google.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    R llvm/test/CodeGen/NVPTX/common-linkage.ll
    M llvm/test/CodeGen/NVPTX/weak-global.ll

  Log Message:
  -----------
  Revert "[NVPTX] Use .common linkage for common globals (#84416)"

This reverts commit 8f0012d3dc2ae6d40e9f812cae111ca7a6eb2a2d.

The common-linkage.ll test fails with ptxas enabled.


  Commit: 6e1959d0e79afdc3a8ff803638616813ccee558e
      https://github.com/llvm/llvm-project/commit/6e1959d0e79afdc3a8ff803638616813ccee558e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 0481f049c370


  Commit: d8f97c067c9488f00bfaa17086c672d1fb7106d9
      https://github.com/llvm/llvm-project/commit/d8f97c067c9488f00bfaa17086c672d1fb7106d9
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    A flang/include/flang/Common/reference-wrapper.h
    M flang/runtime/io-stmt.h

  Log Message:
  -----------
  [flang][runtime] Added Fortran::common::reference_wrapper for use on device.

This is a simplified implementation of std::reference_wrapper that can be used
in the offload builds for the device code. The methods are properly
marked with RT_API_ATTRS so that the device compilation succedes.

Reviewers: jeanPerier, klausler

Reviewed By: jeanPerier

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


  Commit: 037a32a9a73286cf6e1bf439c61b03767658b564
      https://github.com/llvm/llvm-project/commit/037a32a9a73286cf6e1bf439c61b03767658b564
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M 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

  Log Message:
  -----------
  [flang][OpenMP] Convert DataSharingProcessor to omp::Clause (#81629)

[Clause representation 6/6]


  Commit: 8ebf4084f13d939eb33cd0a29d057158fa15a3a7
      https://github.com/llvm/llvm-project/commit/8ebf4084f13d939eb33cd0a29d057158fa15a3a7
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/runtime/derived-api.cpp
    M flang/runtime/type-info.h

  Log Message:
  -----------
  [NFC][flang] Reorder const and RT_API_ATTRS.

Clean-up to keep the type qualifier next to the type.

Reviewers: klausler

Reviewed By: klausler

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


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

  Changed paths:
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/include/lldb/Symbol/LineEntry.h
    M lldb/include/lldb/Utility/SupportFile.h
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Symbol/CompileUnit.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/LineEntry.cpp
    M lldb/source/Symbol/LineTable.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/TraceDumper.cpp

  Log Message:
  -----------
  [lldb] Store SupportFile in FileEntry (NFC) (#85468)

This is another step towards supporting DWARF5 checksums and inline
source code in LLDB.


  Commit: 047b2b241defcad79a6ac0fec9cda092bac0a922
      https://github.com/llvm/llvm-project/commit/047b2b241defcad79a6ac0fec9cda092bac0a922
  Author: Yichen Yan <oraluben at outlook.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/cuda-cross-compiling.c

  Log Message:
  -----------
  [NVPTX] Add `-march=general` option to mirror default configuration (#85222)

This PR adds `-march=generic` support for the NVPTX backend. This
fulfills a TODO introduced in #79873.

With this PR, users can explicitly request the "default" CUDA
architecture, which makes sure that no specific architecture is
specified.

This PR does not address any compatibility issues between different CUDA
versions.

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


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

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

  Log Message:
  -----------
  [tsan][test] Switch SIGPROF to SIGALRM

Followup to #85188.


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

  Changed paths:
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/testing.rst
    M libc/docs/gpu/using.rst

  Log Message:
  -----------
  [libc] Update GPU testing documentation (#85459)

Summary:
This documentation was lagging reality and didn't contain much. Update
it with some more information now that it's more mature.


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

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

  Log Message:
  -----------
  [lldb] Fix -Wctad-maybe-unsupported in Alarm.cpp (NFC)

llvm-project/lldb/source/Host/common/Alarm.cpp:37:5:
error: 'lock_guard' may not intend to support class template argument deduction [-Werror,-Wctad-maybe-unsupported]
    std::lock_guard alarm_guard(m_alarm_mutex);
    ^


  Commit: 8f2632c45f54d1e91248be81db5d4908d1036213
      https://github.com/llvm/llvm-project/commit/8f2632c45f54d1e91248be81db5d4908d1036213
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M lldb/unittests/Host/AlarmTest.cpp

  Log Message:
  -----------
  [lldb][test] Fix -Wctad-maybe-unsupported in AlarmTest.cpp (NFC)

llvm-project/lldb/unittests/Host/AlarmTest.cpp:49:7:
error: 'lock_guard' may not intend to support class template argument deduction [-Werror,-Wctad-maybe-unsupported]
      std::lock_guard guard(m);
      ^


  Commit: 4da2b542b142dac441722e044ee75da2475d9a20
      https://github.com/llvm/llvm-project/commit/4da2b542b142dac441722e044ee75da2475d9a20
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/test/API/commands/dwim-print/TestDWIMPrint.py

  Log Message:
  -----------
  [lldb] Fix dwim-print to not delete non-result persistent variables (#85152)

`EvaluateExpression` does not always create a new persistent result. If the expression 
is a bare persistent variable, then a new persistent result is not created. This means 
the caller can't assume a new persistent result is created for each evaluation. 
However, `dwim-print` was doing exactly that: assuming a new persistent result for each 
evaluation. This resulted in a bug:

```
(lldb) p int $j = 23
(lldb) p $j
(lldb) p $j
```

The first `p $j` would not create a persistent result, and so `dwim-print` would 
inadvertently delete `$j`. The second `p $j` would fail.

The fix is to try `expr` as a persistent variable, after trying `expr` as a frame 
variable. For persistent variables, this avoids calling `EvaluateExpression`.

Resolves https://github.com/llvm/llvm-project/issues/84806

rdar://124688427


  Commit: 8d7ee4691dadd3a9d831108f77d1f4e511191a44
      https://github.com/llvm/llvm-project/commit/8d7ee4691dadd3a9d831108f77d1f4e511191a44
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/lib/Driver/Driver.cpp
    M clang/tools/driver/driver.cpp

  Log Message:
  -----------
  [clang] Move CCC_OVERRIDE_OPTIONS implementation to Driver (#85425)

Move CCC_OVERRIDE_OPTIONS support to clangDriver so that it may be used outside of the 
clang driver binary.

The override functionality will be used in LLDB, to apply adjustments to ClangImporter 
flags. This will be useful as an escape hatch when there are issues that can be fixed 
by adding or removing clang flags.

The only thing changed is the name, from `ApplyQAOverride` to `applyOverrideOptions`.


  Commit: f128607b89b4818a2265f5ebd09313408277d975
      https://github.com/llvm/llvm-project/commit/f128607b89b4818a2265f5ebd09313408277d975
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/test/CodeGenCXX/mangle-ms-back-references.cpp

  Log Message:
  -----------
  [clang][MSVC] Correct mangling of thread-safe static initialization variables. (#85300)

Static local variables with dynamic initializers depend on implicitly defined
guard variables to synchronize thread-safe initialization.  These guard
variables may have external linkage and therefore require a stable name for
linkage purposes.  The Microsoft ABI assigns these variables a local name of
'$TSS' followed by a discriminator and mangles them as a static local variable
of type 'int'.  Previously, the '$TSS<discriminator>' portion of the name was
not registered as a back reference candidate and this resulted in incorrect
back references for enclosing class and/or namespace scopes that might be
referenced in the signature of the enclosing function.  This change adds the
previously missing back reference registration.  This matches the mangling
performed by MSVC and resolves incompatibilities when inline functions with
static local variables are inlined across DLL boundaries.

This is an ABI change and has the potential to cause backward compatibility
issues with previous Clang releases.

Fixes #83616


  Commit: 83afcbf5f39b9766fd4e5c7d577e308d71f9edc1
      https://github.com/llvm/llvm-project/commit/83afcbf5f39b9766fd4e5c7d577e308d71f9edc1
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp

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

llvm-project/mlir/lib/Target/LLVMIR/DebugTranslation.cpp:226:10:
error: unused variable '[iter, inserted]' [-Werror,-Wunused-variable]
    auto [iter, inserted] =
         ^
1 error generated.


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

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [CMAKE] Enable FatLTO as a build option for LLVM (#80480)

Since LLVM supports `-ffat-lto-objects` we should enable this as an
option in the LLVM build. FatLTO should improve the time it takes to
build tests for LTO enabled builds of the compiler by not linking w/ the
bitcode portion of the object files, which should speed up build times
for LTO builds without disabling optimizations.


  Commit: f3a8af07fa9e9dbc3bfa495b34846e3a5962cc27
      https://github.com/llvm/llvm-project/commit/f3a8af07fa9e9dbc3bfa495b34846e3a5962cc27
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/StageSparseOperations.cpp
    M mlir/test/Dialect/Bufferization/invalid.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir

  Log Message:
  -----------
  [mlir][sparse] best effort finalization of escaping empty sparse tensors (#85482)

This change lifts the restriction that purely allocated empty sparse
tensors cannot escape the method. Instead it makes a best effort to add
a finalizing operation before the escape.

This assumes that
(1) we never build sparse tensors across method boundaries
    (e.g. allocate in one, insert in other method)
(2) if we have other uses of the empty allocation in the
    same method, we assume that either that op will fail
    or will do the finalization for us.

This is best-effort, but fixes some very obvious missing cases.


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

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

  Log Message:
  -----------
  [Libomptarget][NFC] Remove warning on return value const


  Commit: 0ead2bd91bd5df4f1d285038d8ebd2f6a5ec569d
      https://github.com/llvm/llvm-project/commit/0ead2bd91bd5df4f1d285038d8ebd2f6a5ec569d
  Author: Bixia Zheng <bixia at google.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp

  Log Message:
  -----------
  [MLIR][LLVM] Suppress unused variable warning. (#85467)


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

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

  Log Message:
  -----------
  Revert "[libc] Match stdlib.h baremetal entrypoints with types" (#85490)

Reverts llvm/llvm-project#85030

This patch causes build failures when building runtimes for armv6m
```
FAILED: /b/s/w/ir/x/w/llvm_build/include/armv6m-unknown-eabi/stdlib.h 
cd /b/s/w/ir/x/w/llvm-llvm-project/libc/include && /b/s/w/ir/x/w/llvm_build/bin/libc-hdrgen -o /b/s/w/ir/x/w/llvm_build/include/armv6m-unknown-eabi/stdlib.h --header stdlib.h --def /b/s/w/ir/x/w/llvm-llvm-project/libc/include/stdlib.h.def -I /b/s/w/ir/x/w/llvm-llvm-project/libc --e=__assert_fail --e=isalnum --e=isalpha --e=isascii --e=isblank --e=iscntrl --e=isdigit --e=isgraph --e=islower --e=isprint --e=ispunct --e=isspace --e=isupper --e=isxdigit --e=toascii --e=tolower --e=toupper --e=__stack_chk_fail --e=errno --e=bcmp --e=bcopy --e=bzero --e=index --e=memccpy --e=memchr --e=memcmp --e=memcpy --e=memmem --e=memmove --e=mempcpy --e=memrchr --e=memset --e=memset_explicit --e=rindex --e=stpcpy --e=stpncpy --e=strcasecmp --e=strcasestr --e=strcat --e=strchr --e=strchrnul --e=strcmp --e=strcoll --e=strcpy --e=strcspn --e=strerror --e=strerror_r --e=strlcat --e=strlcpy --e=strlen --e=strncasecmp --e=strncat --e=strncmp --e=strncpy --e=strnlen --e=strpbrk --e=strrchr --e=strsep --e=strspn --e=strstr --e=strtok --e=strtok_r --e=strxfrm --e=imaxabs --e=imaxdiv --e=strtoimax --e=strtoumax --e=sprintf --e=snprintf --e=vsprintf --e=vsnprintf --e=stdc_leading_zeros_uc --e=stdc_leading_zeros_us --e=stdc_leading_zeros_ui --e=stdc_leading_zeros_ul --e=stdc_leading_zeros_ull --e=stdc_leading_ones_uc --e=stdc_leading_ones_us --e=stdc_leading_ones_ui --e=stdc_leading_ones_ul --e=stdc_leading_ones_ull --e=stdc_trailing_zeros_uc --e=stdc_trailing_zeros_us --e=stdc_trailing_zeros_ui --e=stdc_trailing_zeros_ul --e=stdc_trailing_zeros_ull --e=stdc_trailing_ones_uc --e=stdc_trailing_ones_us --e=stdc_trailing_ones_ui --e=stdc_trailing_ones_ul --e=stdc_trailing_ones_ull --e=stdc_first_leading_zero_uc --e=stdc_first_leading_zero_us --e=stdc_first_leading_zero_ui --e=stdc_first_leading_zero_ul --e=stdc_first_leading_zero_ull --e=stdc_first_leading_one_uc --e=stdc_first_leading_one_us --e=stdc_first_leading_one_ui --e=stdc_first_leading_one_ul --e=stdc_first_leading_one_ull --e=stdc_first_trailing_zero_uc --e=stdc_first_trailing_zero_us --e=stdc_first_trailing_zero_ui --e=stdc_first_trailing_zero_ul --e=stdc_first_trailing_zero_ull --e=stdc_first_trailing_one_uc --e=stdc_first_trailing_one_us --e=stdc_first_trailing_one_ui --e=stdc_first_trailing_one_ul --e=stdc_first_trailing_one_ull --e=stdc_count_zeros_uc --e=stdc_count_zeros_us --e=stdc_count_zeros_ui --e=stdc_count_zeros_ul --e=stdc_count_zeros_ull --e=stdc_count_ones_uc --e=stdc_count_ones_us --e=stdc_count_ones_ui --e=stdc_count_ones_ul --e=stdc_count_ones_ull --e=stdc_has_single_bit_uc --e=stdc_has_single_bit_us --e=stdc_has_single_bit_ui --e=stdc_has_single_bit_ul --e=stdc_has_single_bit_ull --e=stdc_bit_width_uc --e=stdc_bit_width_us --e=stdc_bit_width_ui --e=stdc_bit_width_ul --e=stdc_bit_width_ull --e=stdc_bit_floor_uc --e=stdc_bit_floor_us --e=stdc_bit_floor_ui --e=stdc_bit_floor_ul --e=stdc_bit_floor_ull --e=stdc_bit_ceil_uc --e=stdc_bit_ceil_us --e=stdc_bit_ceil_ui --e=stdc_bit_ceil_ul --e=stdc_bit_ceil_ull --e=abort --e=abs --e=atoi --e=atof --e=atol --e=atoll --e=bsearch --e=div --e=labs --e=ldiv --e=llabs --e=lldiv --e=qsort --e=qsort_r --e=rand --e=srand --e=strtod --e=strtof --e=strtol --e=strtold --e=strtoll --e=strtoul --e=strtoull --e=feclearexcept --e=fedisableexcept --e=feenableexcept --e=fegetenv --e=fegetexcept --e=fegetexceptflag --e=fegetround --e=feholdexcept --e=fesetenv --e=fesetexceptflag --e=fesetround --e=feraiseexcept --e=fetestexcept --e=feupdateenv --e=acosf --e=acoshf --e=asinf --e=asinhf --e=atanf --e=atanhf --e=ceil --e=ceilf --e=ceill --e=copysign --e=copysignf --e=copysignl --e=cosf --e=coshf --e=erff --e=exp --e=exp10 --e=exp10f --e=exp2 --e=exp2f --e=expf --e=expm1 --e=expm1f --e=fabs --e=fabsf --e=fabsl --e=fdim --e=fdimf --e=fdiml --e=floor --e=floorf --e=floorl --e=fma --e=fmaf --e=fmax --e=fmaxf --e=fmaxl --e=fmin --e=fminf --e=fminl --e=fmod --e=fmodf --e=fmodl --e=frexp --e=frexpf --e=frexpl --e=hypot --e=hypotf --e=ilogb --e=ilogbf --e=ilogbl --e=ldexp --e=ldexpf --e=ldexpl --e=llogb --e=llogbf --e=llogbl --e=llrint --e=llrintf --e=llrintl --e=llround --e=llroundf --e=llroundl --e=log --e=log10 --e=log10f --e=log1p --e=log1pf --e=log2 --e=log2f --e=logb --e=logbf --e=logbl --e=logf --e=lrint --e=lrintf --e=lrintl --e=lround --e=lroundf --e=lroundl --e=modf --e=modff --e=modfl --e=nan --e=nanf --e=nanl --e=nearbyint --e=nearbyintf --e=nearbyintl --e=nextafter --e=nextafterf --e=nextafterl --e=nexttoward --e=nexttowardf --e=nexttowardl --e=powf --e=remainder --e=remainderf --e=remainderl --e=remquo --e=remquof --e=remquol --e=rint --e=rintf --e=rintl --e=round --e=roundf --e=roundl --e=scalbn --e=scalbnf --e=scalbnl --e=sincosf --e=sinf --e=sinhf --e=sqrt --e=sqrtf --e=sqrtl --e=tanf --e=tanhf --e=trunc --e=truncf --e=truncl --e=abshk --e=abshr --e=absk --e=absr --e=abslk --e=abslr --e=exphk --e=expk --e=roundhk --e=roundhr --e=roundk --e=roundr --e=roundlk --e=roundlr --e=rounduhk --e=rounduhr --e=rounduk --e=roundur --e=roundulk --e=roundulr --e=sqrtuhk --e=sqrtuhr --e=sqrtuk --e=sqrtur --e=sqrtulr --e=uhksqrtus --e=uksqrtui /b/s/w/ir/x/w/llvm-llvm-project/libc/config/baremetal/api.td
error: __qsortrcompare_t not found in any standard spec.
```
Original failure:
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8753376051397217137/overview
I've tested that reverting this commit would make the build green again.

https://ci.chromium.org/raw/build/logs.chromium.org/fuchsia/led/paulkirth_google.com/29c31064b1fb757cb90a304e79086d644406406dff130569c2e77b066021eee6/+/build.proto?server=chromium-swarm.appspot.com


  Commit: 113214e15b5ce3f3ec313eb1fa91a7038ecd072f
      https://github.com/llvm/llvm-project/commit/113214e15b5ce3f3ec313eb1fa91a7038ecd072f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp

  Log Message:
  -----------
  [lldb] Update SymbolFilePDBTests for LineEntry change (d5a277d309e9)


  Commit: 8386a388bd4f144889401cc503b2c51bf4bb9275
      https://github.com/llvm/llvm-project/commit/8386a388bd4f144889401cc503b2c51bf4bb9275
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-15 (Fri, 15 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/clamp-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/clamp.hlsl
    A clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/clamp-vec.ll
    A llvm/test/CodeGen/DirectX/clamp.ll
    A llvm/test/CodeGen/DirectX/fmax.ll
    A llvm/test/CodeGen/DirectX/fmin.ll
    A llvm/test/CodeGen/DirectX/smax.ll
    A llvm/test/CodeGen/DirectX/smin.ll
    M llvm/test/CodeGen/DirectX/umax.ll
    A llvm/test/CodeGen/DirectX/umin.ll

  Log Message:
  -----------
  [HLSL] implement `clamp` intrinsic (#85424)

closes #70071
- `CGBuiltin.cpp` - Add the unsigned\generic clamp intrinsic emitter.
- `IntrinsicsDirectX.td` - add the `dx.clamp` & `dx.uclamp` intrinsics
- `DXILIntrinsicExpansion.cpp` - add the `clamp` instruction expansion
while maintaining vector form.
- `SemaChecking.cpp` -  Add `clamp`  builtin Sema Checks.
- `Builtins.td` - add a `clamp` builtin
- `hlsl_intrinsics.h` - add the `clamp` api

Why `clamp` as instruction expansion  for DXIL?
1. SPIR-V has a GLSL `clamp` extension via:
-
[FClamp](https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html#FClamp)
-
[UClamp](https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html#UClamp)
-
[SClamp](https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html#SClamp)
2. Further Clamp lowers to `min(max( x, min_range ), max_range)` which
we have float, signed, & unsigned dixilOps.


  Commit: 7c460c6205eedaa24f77d5de272dfd94dc3e9a38
      https://github.com/llvm/llvm-project/commit/7c460c6205eedaa24f77d5de272dfd94dc3e9a38
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in annotating FunctionDeclarationName (#85361)

A name is not a FunctionDeclarationName if it's preceded by an
Objective-C keyword.

Fixes #84578.


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

  Changed paths:
    M mlir/test/Integration/Dialect/Memref/reinterpret-cast-runtime-verification.mlir
    M mlir/test/Integration/Dialect/Memref/subview-runtime-verification.mlir

  Log Message:
  -----------
  [mlir][memref] Fix memory leaks in runtime verification tests (#85362)

Change `memref.alloc` to `memref.alloca`, which does not require manual
deallocation.


  Commit: 513cdb82223a106f183b49a40d9acb1f7efbbe7e
      https://github.com/llvm/llvm-project/commit/513cdb82223a106f183b49a40d9acb1f7efbbe7e
  Author: Justin Fargnoli <justinfargnoli at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
    M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/Func/IR/FuncOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
    M mlir/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp

  Log Message:
  -----------
  [mlir] Declare promised interfaces for all dialects (#78368)

This PR adds promised interface declarations for all interfaces declared
in `InitAllDialects.h`.

Promised interfaces allow a dialect to declare that it will have an
implementation of a particular interface, crashing the program if one
isn't provided when the interface is used.


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

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-matmul-masked-vec.mlir
    M mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.mlir

  Log Message:
  -----------
  [mlir][linalg, tosa] Fix memory leaks in integration tests (#85366)

Buffers are no longer deallocation by One-Shot Bufferize. This is now
done by a separate buffer deallocation pass.

Also fix a bug in the `vector.mask` folding, which was triggered by
`-buffer-deallocation-pipeline`, which runs the canonicalizer.


  Commit: 426e6945897afbec01c042bec4771522a2aac176
      https://github.com/llvm/llvm-project/commit/426e6945897afbec01c042bec4771522a2aac176
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/lib/Format/BreakableToken.h
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/Encoding.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatInternal.h
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/Macros.h
    M clang/lib/Format/SortJavaScriptImports.h
    M clang/lib/Format/TokenAnalyzer.h
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.h
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Format/WhitespaceManager.h

  Log Message:
  -----------
  [clang-format][NFC] Delete redundant and extraneous #include lines


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

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

  Log Message:
  -----------
  [PassBuilder] Expose parametrized passes related functions (#85357)

Some targets have passes with parameters, e.g. ARM, AMDGPU and MIPS.
For example, AMDGPU has a pass `AMDGPUAtomicOptimizerPass`
which need a `ScanOption`, this commit enables the syntax
like `-passes=amdgpu-atomic-optimizer<strategy=dpp>` for backend passes.


  Commit: 3e69e5a15782a5776a3245170aeb5d97ef746fa5
      https://github.com/llvm/llvm-project/commit/3e69e5a15782a5776a3245170aeb5d97ef746fa5
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

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

  Log Message:
  -----------
  [Concepts] Add Decls from the outer scope of the current lambda for conversion function constraints (#83420)

This fixes the case shown by
https://github.com/llvm/llvm-project/issues/64808#issuecomment-1929131611.

Similar to
https://github.com/llvm/llvm-project/commit/f9caa12328b265b77221fe7a310d4504673d814a,
we have some calls to constraint checking for a lambda's conversion
function while determining the conversion sequence.

This patch addresses the problem where the requires-expression within
such a lambda references to a Decl outside of the lambda by adding these
Decls to the current instantiation scope.

I'm abusing the flag `ForOverloadResolution` of
CheckFunctionConstraints, which is actually meant to consider the Decls
from parent DeclContexts.

---------

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


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

  Changed paths:
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Try to fix builtin-functions test on AIX

See
https://github.com/llvm/llvm-project/commit/0a739eb75fe68b1cec4e4aaad8b5395bb5da9a89#commitcomment-139850284


  Commit: dbbdee2ea2156170062813fb3d7f2c023d65e02d
      https://github.com/llvm/llvm-project/commit/dbbdee2ea2156170062813fb3d7f2c023d65e02d
  Author: Stella Laurenzo <stellaraccident at gmail.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/MLProgram/IR/CMakeLists.txt
    M mlir/lib/Dialect/MLProgram/IR/MLProgramDialect.cpp
    A mlir/test/Dialect/MLProgram/inlining.mlir

  Log Message:
  -----------
  [mlir] Make the ml_program dialect allow all of its operations to be inlined. (#85479)


  Commit: fce046ca5b7edb4c0d37a6eb580154ccb7dda966
      https://github.com/llvm/llvm-project/commit/fce046ca5b7edb4c0d37a6eb580154ccb7dda966
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Move InliningUtils into a separate target. (#85411)

Various (in-tree as well as downstream) targets currently depend on
`InliningUtils.h` to avoid circular dependencies. E.g. `TransformUtils`
depends on `ArithDialect`, so `ArithDialect` can't depend on
`TransformUtils` exporting `InliningUtils.h`. This change exposes that
header and it's implementation as a separate target. Having targets that
implement all the declared functions is the preferred approach for bazel
build graphs.

See also PR #84878, which moves the interface definitions to a separate
file in the `Interfaces` directory. This turned out to be controversial
and putting it in a different directory didn't seem to have any support
either. Instead, this PR only changes the bazel build without moving any
C++ code.


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

  Changed paths:
    M .github/workflows/pr-code-format.yml

  Log Message:
  -----------
  [GitHub][workflows] Use latest clang-format version 18.1.1 (#85502)


  Commit: a02b79f3fc765af77ad565e907989c25b2427fe5
      https://github.com/llvm/llvm-project/commit/a02b79f3fc765af77ad565e907989c25b2427fe5
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp

  Log Message:
  -----------
  [Mips][NFC] Garbage collect unused code (#85499)


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

  Changed paths:
    M clang/include/clang/Format/.clang-format
    M clang/lib/Format/.clang-format
    M clang/tools/clang-format/.clang-format
    M clang/unittests/Format/.clang-format

  Log Message:
  -----------
  Revert "[clang-format][NFC] Don't use clang-format style in config files"

This reverts commit c69ec700adec315b3daa55742f2ef655242fa297, which has been
obsolete since commit dec63221d56e because the clang-format style was added
in version 18.


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

  Changed paths:
    M .github/workflows/pr-code-format.yml

  Log Message:
  -----------
  Revert "[GitHub][workflows] Use latest clang-format version 18.1.1 (#85502)"

This reverts commit dec63221d56e8092557f29f1f2c127828d7521bb.

This probably needs more discussion before we can land it. The consensus
(from what I can gather) in https://discourse.llvm.org/t/rfc-clang-format-all-the-things/76614
is that we should be careful with version upgrades for consistency.


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

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

  Log Message:
  -----------
  [bazel] Add missing dependency for b43965adacfafc4dc6b5ec17b4bea839372b7626


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

  Changed paths:
    M .github/workflows/pr-code-format.yml

  Log Message:
  -----------
  [GitHub][workflows] Use latest clang-format version 18.1.1 (#85502)


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/DeclCXX.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp

  Log Message:
  -----------
  Reapply "[clang] Fix crash when declaring invalid lambda member" (#85427)

This re-applies #74110 with the crashing code disabled in C++11. I'll
try to fix the new crash in it's own patch.


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

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

  Log Message:
  -----------
  [clang][Interp] Handle ArrayTypeTraitExprs


  Commit: 12978b3e23a2766732595391c193e5631f40a3db
      https://github.com/llvm/llvm-project/commit/12978b3e23a2766732595391c193e5631f40a3db
  Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/include/__compare/partial_order.h
    M libcxx/include/__compare/strong_order.h
    M libcxx/include/__compare/weak_order.h
    M libcxx/include/__iterator/iter_move.h
    M libcxx/include/__ranges/access.h
    M libcxx/include/__ranges/rbegin.h
    M libcxx/include/__ranges/rend.h
    M libcxx/include/__ranges/size.h
    M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
    M libcxx/test/std/ranges/range.access/begin.pass.cpp
    M libcxx/test/std/ranges/range.access/end.pass.cpp
    M libcxx/test/std/ranges/range.access/rbegin.pass.cpp
    M libcxx/test/std/ranges/range.access/rend.pass.cpp
    M libcxx/test/std/ranges/range.access/size.pass.cpp
    A libcxx/test/std/ranges/robust_against_poison_pills.compile.pass.cpp

  Log Message:
  -----------
  [libc++] P2602R2 Poison Pills are Too Toxic (#74534)

Implements [P2602R2 Poison Pills are Too
Toxic](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2602r2.html)
as a DR in C++20 mode.


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

  Changed paths:
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/format
    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

  Log Message:
  -----------
  [libc++] Remove <locale> includes from <format> (#85478)

This reduces the include time from 767ms to 691ms.


  Commit: 6d3cec01a6c29fa4e51ba129fa13dbf55d2b928e
      https://github.com/llvm/llvm-project/commit/6d3cec01a6c29fa4e51ba129fa13dbf55d2b928e
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h

  Log Message:
  -----------
  Revert "[openmp] __kmp_x86_cpuid fix for i386/PIC builds." (#85526)

Reverts llvm/llvm-project#84626


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

  Changed paths:
    M libcxx/include/complex

  Log Message:
  -----------
  [libc++][NFC] Use the tuple forward declaration header for tuple forward declarations


  Commit: 9d5edfde5c3dbc4eb559d316e82e664f291fc2bf
      https://github.com/llvm/llvm-project/commit/9d5edfde5c3dbc4eb559d316e82e664f291fc2bf
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-03-16 (Sat, 16 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 (#85477)

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:

![image](https://github.com/llvm/llvm-project/assets/103613512/2277e3ff-d59c-4fff-b93a-e0587ee740a6)

Note: This is a retry of this PR:
https://github.com/llvm/llvm-project/pull/84250
On the original PR, the armv7+armv8 builds were failing due to absolute
offsets being different.

Co-authored-by: Alex B <alexborcan at meta.com>


  Commit: 74d1a40915834cbf0629f8d34a7265734d4d9073
      https://github.com/llvm/llvm-project/commit/74d1a40915834cbf0629f8d34a7265734d4d9073
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp

  Log Message:
  -----------
  [Clang] Ignore assumptions with side effects at compile time (#85534)

Fixes #85519.


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

  Changed paths:
    M libcxx/include/mutex

  Log Message:
  -----------
  [libc++][NFC] Simplify scoped_lock::__unlock_unpack a bit (#85517)


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

  Changed paths:
    M libcxx/include/chrono
    M libcxx/test/libcxx/transitive_includes/cxx20.csv

  Log Message:
  -----------
  [libc++] Add <locale> include in <chrono> (#85521)

I accidentally removed this transitive include in #85478.


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

  Changed paths:
    M clang/include/clang/Basic/AllDiagnostics.h
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/Diagnostic.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    A clang/include/clang/Basic/DiagnosticInstallAPI.h
    A clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    A clang/include/clang/InstallAPI/DylibVerifier.h
    A clang/include/clang/InstallAPI/InstallAPIDiagnostic.h
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/test/InstallAPI/driver-invalid-options.test
    M clang/test/InstallAPI/functions.test
    M clang/tools/clang-installapi/CMakeLists.txt
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    A clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M llvm/lib/TextAPI/TextStub.cpp

  Log Message:
  -----------
  [InstallAPI] Add installapi specific options & diagnostics (#85100)

* A lot of `tapi installapi` options are already shared with clang, but
not all. This patch handles installapi-specific options by filtering for
them in the initial argv input, then passing the rest to the clang
driver.
* Installapi not only generates a text file but also reports to library
developers when there are inconsistencies between an interface and its
implementation. To allow this, add support for reporting installapi
diagnostics. This will be leveraged in the verifier service.


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

  Changed paths:
    M clang/include/clang/AST/Availability.h
    M clang/include/clang/InstallAPI/Context.h
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/include/clang/InstallAPI/Frontend.h
    M clang/include/clang/InstallAPI/FrontendRecords.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/DylibVerifier.cpp
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    A clang/test/InstallAPI/asm.test
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/Options.cpp
    M llvm/include/llvm/TextAPI/Record.h

  Log Message:
  -----------
  [InstallAPI] Introduce Basic Verifier (#85106)

This adds basic support for calling the verifier on global declarations
that are expected to represent symbol exports. The driver now
exclusively uses this for knowing what symbols make up a TBD file.
Future patches will check against the dylib's symbol table.


  Commit: c9325f8a2e7ec9bb9e0b28320aab4034bcb94a0d
      https://github.com/llvm/llvm-project/commit/c9325f8a2e7ec9bb9e0b28320aab4034bcb94a0d
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
    A llvm/test/Transforms/DFAJumpThreading/unpredictable-heuristic.ll

  Log Message:
  -----------
  [DFAJumpThreading] Add an early exit heuristic for unpredictable values (#85015)

Right now the algorithm does not exit on unpredictable values. It
waits until all the paths have been enumerated to see if any of
those paths have that value. Waiting this late leads to a lot of
wasteful computation and higher compile time.

In this patch I have added a heuristic that checks if the value
comes from the same inner loops as the switch, if so, then it is
likely that the value will also be seen on a threadable path and
the code in `getStateDefMap()` return an empty map.

I tested this on the llvm test suite and the only change in the
number of threaded switches was in 7zip (before 23, after 18).
In all of those cases the current algorithm was partially threading
the loop because it was hitting a limit on the number of paths to
be explored. On increasing this limit even the current algorithm
finds paths where the unpredictable value is seen.

Compile time(with pass enabled by default and this patch):

https://llvm-compile-time-tracker.com/compare.php?from=8c5e9cf737138aba22a4a8f64ef2c5efc80dd7f9&to=42c75d888058b35c6d15901b34e36251d8f766b9&stat=instructions:u


  Commit: 0847c903c8a04a2bdf53d5f1b93be5705d998801
      https://github.com/llvm/llvm-project/commit/0847c903c8a04a2bdf53d5f1b93be5705d998801
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-16 (Sat, 16 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:
  -----------
  Revert "[libc++] Fix tests on musl (#85085)"

This reverts commit b61fb18456ecd798b2fc340367018ab3109ebfae.

This commit landed with build failures in the pre-commit CI
https://buildkite.com/llvm-project/libcxx-ci/builds/34153


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-lifetime-ends.ll

  Log Message:
  -----------
  [Matrix] Adjust lifetime.ends during multiply fusion. (#84914)

At the moment, loads introduced by multiply fusion may be placed after
an objects lifetime has been terminated by lifetime.end. This introduces
reads to dead objects.

To avoid this, first collect all lifetime.end calls in the function.
During fusion, we deal with any lifetime.end calls that may alias any of
the loads.

Such lifetime.end calls are either moved when possible (both the
lifetime.end and the store are in the same block) or deleted.

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


  Commit: 2867095917cef0d01a68b112bcb01e2f85de4308
      https://github.com/llvm/llvm-project/commit/2867095917cef0d01a68b112bcb01e2f85de4308
  Author: alirezamoshtaghi <124719818+alirezamoshtaghi at users.noreply.github.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
    M clang/lib/AST/Expr.cpp

  Log Message:
  -----------
  [clang] Skip implicit designators in DesignatedInitExpr::getBeginLoc (#83369)

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


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

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

  Log Message:
  -----------
  [clang-format] Correctly parse C++11 attributes in enum specifiers (#85498)

Fixes #85476.


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

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    A libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/nextdownl.cpp
    A libc/src/math/generic/nextupl.cpp
    A libc/src/math/nextdownl.h
    A libc/src/math/nextupl.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/nextdownl_test.cpp
    A libc/test/src/math/smoke/nextupl_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math][c23] Add nextupl and nextdownl functions (#85484)

Fixes #85283.

cc @lntue


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

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

  Log Message:
  -----------
  [clang-format] Fix a bug in SpaceInEmptyBlock option (#85508)

Fixes #84695.


  Commit: 8f878c501886e6dc8b0cf062320a803593972bed
      https://github.com/llvm/llvm-project/commit/8f878c501886e6dc8b0cf062320a803593972bed
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    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

  Log Message:
  -----------
  [libc] Include time.h in baremetal targets (#85026)

These types and conversion functions are used in embedded development.

Note that we cannot yet include other entrypoints such as asctime
because `src/time/time_utils.h` unconditionally uses `EOVERFLOW`, which
is only defined in POSIX and not in C standard. This issue is tracked by
#85556.


  Commit: 65058a8d732c3c41664a4dad1a1ae2a504d5c98e
      https://github.com/llvm/llvm-project/commit/65058a8d732c3c41664a4dad1a1ae2a504d5c98e
  Author: Takuya Shimizu <shimizu2486 at gmail.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/fexplog.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
    M llvm/test/CodeGen/AArch64/fpow.ll
    M llvm/test/CodeGen/AArch64/fsincos.ll
    M llvm/test/CodeGen/AArch64/llvm.exp10.ll

  Log Message:
  -----------
  [AArch64][SelectionDAG] Expand v1f64-typed sin,cos,pow,log,exp intrinsics (#83745)

This patch makes NEON-enabled AArch64 backend expand the `sin, cos, pow,
log, log2, log10, exp, exp2, exp10` intrinsics for `v1f64` data type,
all of which caused selection failure before this patch.
Fixes https://github.com/llvm/llvm-project/issues/83729


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

  Changed paths:
    M clang/lib/Format/AffectedRangeManager.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/DefinitionBlockSeparator.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/MacroCallReconstructor.cpp
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/NamespaceEndCommentsFixer.cpp
    M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UsingDeclarationsSorter.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/tools/clang-format/ClangFormat.cpp

  Log Message:
  -----------
  [clang-format][NFC] Delete 100+ redundant #include lines in .cpp files


  Commit: 6666b3fca848c2562ad2e7470827561894246a6e
      https://github.com/llvm/llvm-project/commit/6666b3fca848c2562ad2e7470827561894246a6e
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-16 (Sat, 16 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] Match baremetal stdlib.h entrypoints with types

To match the entrypoints and types we need to exclude __atexithandler_t
and __qsortrcompare_t, as well as qsort_r, which is a GNU extension.

This is a reland of llvm/llvm-project#85030.


  Commit: f84980570d3f85bdf5c9432647c05bae04a735a0
      https://github.com/llvm/llvm-project/commit/f84980570d3f85bdf5c9432647c05bae04a735a0
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

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

  Log Message:
  -----------
  [llvm-shlib] Fix libLLVM-18 symlink on mingw (#85554)

The TARGET_SONAME_FILE_NAME generator expression is not available on dll
target platforms.


  Commit: 252d01952c087cf0d141f7f281cf60efeb98be41
      https://github.com/llvm/llvm-project/commit/252d01952c087cf0d141f7f281cf60efeb98be41
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll

  Log Message:
  -----------
  [InstCombine] Drop UB-implying attrs/metadata after speculating an instruction (#85542)

When speculating an instruction in `InstCombinerImpl::FoldOpIntoSelect`,
the call may result in undefined behavior. This patch drops all
UB-implying attrs/metadata to fix this.

Fixes #85536.


  Commit: 5a75242bc898886b9833e328ad5f656246424a81
      https://github.com/llvm/llvm-project/commit/5a75242bc898886b9833e328ad5f656246424a81
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-16 (Sat, 16 Mar 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    A libc/src/stdio/baremetal/CMakeLists.txt
    A libc/src/stdio/baremetal/remove.cpp

  Log Message:
  -----------
  [libc] Include empty remove in baremetal stdio.h (#85336)

This is required to avoid compilation error in libc++.

See #85335 for more details.


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

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h

  Log Message:
  -----------
  [clang-format][NFC] Don't export IsCpp in Format.h


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

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

  Log Message:
  -----------
  [AMDGPU] Fix predicates on FLAT scratch ST/SVS mode Pseudos (#85442)

Definitions like this did not work as intended:

  let is_flat_scratch = 1 in {
    let SubtargetPredicate = HasFlatScratchSVSMode in
def _SVS : FLAT_Scratch_Load_Pseudo<opName, regClass, HasTiedOutput, 1,
1>,
               FlatScratchInst<opName, "SVS">;

    let SubtargetPredicate = HasFlatScratchSTMode in
def _ST : FLAT_Scratch_Load_Pseudo<opName, regClass, HasTiedOutput, 0,
0, 0>,
               FlatScratchInst<opName, "ST">;
  }

They tried to override SubtargetPredicate, but then it was overridden
again (back to its default value) by setting is_flat_scratch, which
caused SubtargetPredicate to be recalculated in the base class. (This
patch also removes some overrides of SubtargetPredicate that are
redundant due to being recalculated in the base class.)

Fix this by pushing overrides of is_flat_scratch and is_flat_global "in"
as far as possible. This has the added benefit that there is no need to
override them around groups of Pseudo definitions like this:

let is_flat_global = 1 in {
defm GLOBAL_ATOMIC_CMPSWAP : FLAT_Global_Atomic_Pseudo
<"global_atomic_cmpswap",
                               VGPR_32, i32, v2i32, VReg_64>;
...
}

which are plainly Global instructions anyway.

Verified by inspecting the output of TableGen. It seems to be NFC in
practice.


  Commit: 7b766a6f505577bbb7d2cd2c553b6207306c0df9
      https://github.com/llvm/llvm-project/commit/7b766a6f505577bbb7d2cd2c553b6207306c0df9
  Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    M llvm/lib/Target/X86/X86InstrCMovSetCC.td
    M llvm/lib/Target/X86/X86InstrFormats.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/test/CodeGen/X86/apx/add.ll
    A llvm/test/CodeGen/X86/apx/cfcmov.ll
    M llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
    M llvm/test/CodeGen/X86/apx/inc.ll
    M llvm/test/CodeGen/X86/apx/shift-eflags.ll
    M llvm/test/CodeGen/X86/apx/sub.ll
    M llvm/test/CodeGen/X86/cmov.ll
    M llvm/test/CodeGen/X86/cmp.ll
    M llvm/test/CodeGen/X86/isel-select-cmov.ll
    A llvm/test/MC/Disassembler/X86/apx/cfcmov.txt
    A llvm/test/MC/Disassembler/X86/apx/cmov.txt
    M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
    M llvm/test/MC/Disassembler/X86/apx/reverse-encoding.txt
    A llvm/test/MC/X86/apx/cfcmov-att.s
    A llvm/test/MC/X86/apx/cfcmov-intel.s
    A llvm/test/MC/X86/apx/cmov-att.s
    A llvm/test/MC/X86/apx/cmov-intel.s
    M llvm/test/MC/X86/apx/evex-format-att.s
    M llvm/test/MC/X86/apx/evex-format-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/utils/TableGen/X86ManualFoldTables.def
    M llvm/utils/TableGen/X86RecognizableInstr.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.h

  Log Message:
  -----------
  [X86] Support APX CMOV/CFCMOV instructions (#82592)

This patch support ND CMOV instructions and CFCMOV instructions.

RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4


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

  Changed paths:
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
    M mlir/tools/mlir-pdll/mlir-pdll.cpp

  Log Message:
  -----------
  [mlir] Work around MSVC bug

MSVC fails to parse this construct, leading to
MlirTranslateMain.cpp(70): error C2065: 'inputSplitMarker': undeclared identifier

Just switching to brace init works around the issue


  Commit: 0269790c9894aaf882b939a6802aa3501d610b3c
      https://github.com/llvm/llvm-project/commit/0269790c9894aaf882b939a6802aa3501d610b3c
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Fix a missing comma from a2bad75879c33c0e6a2834bb0abcd3e1599d377d


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

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

  Log Message:
  -----------
  Reland Print library module manifest path again  (#84881)

Following of https://github.com/llvm/llvm-project/pull/82160

The reason why the above PR fails is that the `--sysroot` has lower
priority than the libc++ built from the same source. On the one hand, it
matches the codes behavior. We will add the built libc++ project paths
in the ToolChain class. But we will only add the path related to sysroot
in Linux class, which is derived from the ToolChain classes. So the
paths of just built libc++ is in the front of the paths relative to
sysroot. On the other hand, the behavior should be good from the higher
level. Since the just built libc++ has the same version number with the
just built clang, so it makes sense that these 2 compilers just matches.

So for patch it self, I hacked it by using resource dir in the test
since the resource dir has the higher priority, which is not strongly
correct since we won't do that in practice.

@kaz7 would you like to test on your environment to avoid this get
reverted again?

On the libc++ side, it shows that it lacks a `modules.json` file for the
just built libc++ directory. If we don't have that, it will be
problematic to use std modules from the just built clang and libc++
pair. Then it is not good. And I feel it may be problematic for future
compiler/standard library developers. So I feel this is somewhat a
libc++ issue that need to be fixed.

Also if we don't like the hacked test in the current patch, we must wait
for libc++ to fix this to proceed. But I feel this is somewhat odd since
the test of clang shouldn't dependent on libc++.

CC: @mordante

---------

Co-authored-by: Mark de Wever <koraq at xs4all.nl>


  Commit: 62361fe5dd035ab43a52e6aaa62960d320224fee
      https://github.com/llvm/llvm-project/commit/62361fe5dd035ab43a52e6aaa62960d320224fee
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Port c51095f51b770f0663b65dd8a651601fca15701e


  Commit: 56d45b09dcd6c880215481bcc3c6d6281a04d264
      https://github.com/llvm/llvm-project/commit/56d45b09dcd6c880215481bcc3c6d6281a04d264
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    A lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp

  Log Message:
  -----------
  [lldb][libc++] Adds slice_array data formatters. (#85544)

Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>


  Commit: c5818c3abcafbd4c473a584e98df2ede1437347b
      https://github.com/llvm/llvm-project/commit/c5818c3abcafbd4c473a584e98df2ede1437347b
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv

  Log Message:
  -----------
  [libc++][NFC] Update LWG3477(Simplify constraints for `semiregular-box`) status (#85399)

Since we implemented `copyable-box` in
(https://reviews.llvm.org/D102135,
https://github.com/llvm/llvm-project/commit/6829db727e9e67dfdb70dd0846ffd4e48e00a98d),
this issue got addressed.

---------

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


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

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

  Log Message:
  -----------
  [clang][Interp] Handle __datasizeof.


  Commit: 2c6fb7ce99dfad615ccf64464c79e65b26c1bc93
      https://github.com/llvm/llvm-project/commit/2c6fb7ce99dfad615ccf64464c79e65b26c1bc93
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Add a missing dependency for f2794ccede6d32a6b5ef7a376ced420331e2be27


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

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir

  Log Message:
  -----------
  [mlir][math] Reland 58ef9bec071383744fb703ff08df9806f25e4095 (#85436)

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

`arith.cmpf `(which is a pre-existing instruction in the previous impl)
`arith.sitofp`
`arith.mulf`
`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.

As part of the relanding, a casting issue from the original commit has
been fixed, i.e. casting bool to float with `uitofp`. Additionally a
correctness test with `mlir-cpu-runner` has been added.


  Commit: 192be3c9c13363847d176f2c4bba2bd4be5e822f
      https://github.com/llvm/llvm-project/commit/192be3c9c13363847d176f2c4bba2bd4be5e822f
  Author: sethp <seth at codecopse.net>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp

  Log Message:
  -----------
  fix: constexpr bit_cast with empty base classes (#82383)

Prior to this commit, clang would fail to produce a constant value for
`b` in:

```c++
struct base {
};

struct s : base {
    int z;
};

constexpr auto b = std::bit_cast<s>(0x12); 
```

e.g. https://godbolt.org/z/srrbTMPq4


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

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

  Log Message:
  -----------
  [clang][Interp] Lazily visit const-qualified static data members in C++


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Print qualified name of Descriptor sources


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Make local pointer const


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

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/test/AST/Interp/builtins.cpp
    M clang/test/SemaCXX/warn-constant-evaluated-constexpr.cpp

  Log Message:
  -----------
  [clang][Interp] Add __builtin_is_constant_evaluated warnings

Add the same warnings the current interpreter emits.


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

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryLocation.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineMemOperand.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/DFAPacketizer.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMHazardRecognizer.cpp
    M llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
    M llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp
    M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
    M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
    M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
    M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
    M llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp
    M llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp

  Log Message:
  -----------
  [CodeGen] Use LocationSize for MMO getSize (#84751)

This is part of #70452 that changes the type used for the external
interface of MMO to LocationSize as opposed to uint64_t. This means the
constructors take LocationSize, and convert ~UINT64_C(0) to
LocationSize::beforeOrAfter(). The getSize methods return a
LocationSize.

This allows us to be more precise with unknown sizes, not accidentally
treating them as unsigned values, and in the future should allow us to
add proper scalable vector support but none of that is included in this
patch. It should mostly be an NFC.

Global ISel is still expected to use the underlying LLT as it needs, and
are not expected to see unknown sizes for generic operations. Most of
the changes are hopefully fairly mechanical, adding a lot of getValue()
calls and protecting them with hasValue() where needed.


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

  Changed paths:
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/algorithms/fill.bench.cpp
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__bit_reference
    M libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp

  Log Message:
  -----------
  [libc++] Optimize ranges::fill{,_n} for vector<bool>::iterator (#84642)

```
------------------------------------------------------
Benchmark                          old             new
------------------------------------------------------
bm_ranges_fill_n/1             1.64 ns         3.06 ns
bm_ranges_fill_n/2             3.45 ns         3.06 ns
bm_ranges_fill_n/3             4.88 ns         3.06 ns
bm_ranges_fill_n/4             6.46 ns         3.06 ns
bm_ranges_fill_n/5             8.03 ns         3.06 ns
bm_ranges_fill_n/6             9.65 ns         3.07 ns
bm_ranges_fill_n/7             11.5 ns         3.06 ns
bm_ranges_fill_n/8             13.0 ns         3.06 ns
bm_ranges_fill_n/16            25.9 ns         3.06 ns
bm_ranges_fill_n/64             103 ns         4.62 ns
bm_ranges_fill_n/512            711 ns         4.40 ns
bm_ranges_fill_n/4096          5642 ns         9.86 ns
bm_ranges_fill_n/32768        45135 ns         33.6 ns
bm_ranges_fill_n/262144      360818 ns          243 ns
bm_ranges_fill_n/1048576    1442828 ns          982 ns
bm_ranges_fill/1               1.63 ns         3.17 ns
bm_ranges_fill/2               3.43 ns         3.28 ns
bm_ranges_fill/3               4.97 ns         3.31 ns
bm_ranges_fill/4               6.53 ns         3.27 ns
bm_ranges_fill/5               8.12 ns         3.33 ns
bm_ranges_fill/6               9.76 ns         3.32 ns
bm_ranges_fill/7               11.6 ns         3.29 ns
bm_ranges_fill/8               13.2 ns         3.26 ns
bm_ranges_fill/16              26.3 ns         3.26 ns
bm_ranges_fill/64               104 ns         4.92 ns
bm_ranges_fill/512              716 ns         4.47 ns
bm_ranges_fill/4096            5772 ns         8.21 ns
bm_ranges_fill/32768          45778 ns         33.1 ns
bm_ranges_fill/262144        351422 ns          241 ns
bm_ranges_fill/1048576      1404710 ns          965 ns
```


  Commit: 8e5de66af3da8c2fc79b8fe2cbc26f94b677434d
      https://github.com/llvm/llvm-project/commit/8e5de66af3da8c2fc79b8fe2cbc26f94b677434d
  Author: scythris <118685935+scythris at users.noreply.github.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

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

  Log Message:
  -----------
  [clang-format] Fix clang-format issue with 'new' and 'delete' keywords in C files (#85470)

This resolves an issue in clang-format where `new` and `delete` were
incorrectly formatted as keywords in C files. The fix modifies
`TokenAnnotator::spaceRequiredBetween` to handle `new` and `delete` when
used as identifiers for function pointers in structs in C code.


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

  Changed paths:
    A llvm/test/Transforms/InstCombine/icmp-select-implies-common-op.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for implied cond with swapped operands; NFC


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/InstCombine/icmp-select-implies-common-op.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/shift.ll

  Log Message:
  -----------
  [ValueTracking] Handle non-canonical operand order in `isImpliedCondICmps`

We don't always have canonical order here, so do it manually.

Closes #85575


  Commit: 4dc037019f3876c3cf3c63b2c89839a588dd3b2f
      https://github.com/llvm/llvm-project/commit/4dc037019f3876c3cf3c63b2c89839a588dd3b2f
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll
    M llvm/test/CodeGen/DirectX/lib_entry.ll

  Log Message:
  -----------
  [DirectX] Add DXIL_MODULE_FLAG for ShaderFlags. (#83217)

Add DXIL module flag bit offset for SHADER_FEATURE_FLAG.

Added DXIL_MODULE_FLAG for DXIL module flag which does not have feature flag.

Use DXILModuleFlags for ComputedShaderFlags instead of
ShaderFeatureFlags.

ComputedShaderFlags::getFeatureFlags() was added to get FeatureFlags.

Rename DXContainerGlobals::getShaderFlags to DXContainerGlobals::getFeatureFlags.

Fixes #57925


  Commit: 5a4bbaf8c07d3d4b5ccf654d496faace264ff795
      https://github.com/llvm/llvm-project/commit/5a4bbaf8c07d3d4b5ccf654d496faace264ff795
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

  Changed paths:
    M libc/src/stdio/baremetal/CMakeLists.txt
    M libc/src/stdio/linux/CMakeLists.txt

  Log Message:
  -----------
  [libc] remove.cpp dependency on libc.include.stdio

This addresses a build error introduced by
5a75242bc898886b9833e328ad5f656246424a81.


  Commit: 75473cf07e1b62325412843d58212ad896cba677
      https://github.com/llvm/llvm-project/commit/75473cf07e1b62325412843d58212ad896cba677
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-03-17 (Sun, 17 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/tools/clang-installapi/BUILD.gn

  Log Message:
  -----------
  [gn] port c51095f51b77 (InstallAPI diag tablegen)


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

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

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


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

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 56d45b09dcd6


  Commit: 6cc8d54a75939b18b72cc631d457613de3bef3a4
      https://github.com/llvm/llvm-project/commit/6cc8d54a75939b18b72cc631d457613de3bef3a4
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libcxx/include/__functional/function.h

  Log Message:
  -----------
  [libc++] Add missing hide-from-ABI annotations on virtual functions (#85439)


  Commit: 843a978b6f387e807a44c8861e5c3728a380098b
      https://github.com/llvm/llvm-project/commit/843a978b6f387e807a44c8861e5c3728a380098b
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/sext.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AArch64/zext.ll

  Log Message:
  -----------
  [GlobalISel] Add support to moreElementsVector for G_SEXT, G_ZEXT and G_ANYEXT (#85038)


  Commit: 208a9850e6a4b64ad6311361735d27a9c6cbd8ec
      https://github.com/llvm/llvm-project/commit/208a9850e6a4b64ad6311361735d27a9c6cbd8ec
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Avoid splitting loads of large vector types into individual element loads (#85042)

This patch fixes an issue with the legalization of G_LOAD where the
presence of .lowerIfMemSizeNotByteSizePow2 before .clampMaxNumElements
was causing issues for vectors which matched that condition.

Such vectors would be lowered into per-element loads instead of being
split up into 128-bit chunks.


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

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

  Log Message:
  -----------
  [clang-format][NFC] Minor changes to a unit test in 8e5de66af3da

See https://github.com/llvm/llvm-project/pull/85470#discussion_r1527297517


  Commit: ec34699f750efc5292db503c6700ddeede59ff03
      https://github.com/llvm/llvm-project/commit/ec34699f750efc5292db503c6700ddeede59ff03
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/IR/ConvergenceVerifier.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
    R llvm/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid4.mir
    M llvm/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid6.mir

  Log Message:
  -----------
  [GlobalISel] convergence control tokens and intrinsics (#67006)

[GlobalISel] Implement convergence control tokens and intrinsics in GMIR

In the IR translator, convert the LLVM token type to LLT::token(), which is an
alias for the s0 type. These show up as implicit uses on convergent operations.

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


  Commit: c8da99959df412fdbf9c3d0d4c0c3e0689609c31
      https://github.com/llvm/llvm-project/commit/c8da99959df412fdbf9c3d0d4c0c3e0689609c31
  Author: Carlos Alberto Enciso <47597242+CarlosAlbertoEnciso at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
    M llvm/tools/llvm-debuginfo-analyzer/README.txt

  Log Message:
  -----------
  [llvm-debuginfo-analyzer][DOC] Change .wasm references to .o (#85566)

As part of the WebAssembly support work
https://github.com/llvm/llvm-project/pull/82588

As the object files used in the test cases are a single object (just
produced by clang without being processed by wasm-ld), it was determined
to use .o intead of .wasm.

Update the README.txt to reflect that the tool now supports WebAssembly.


  Commit: c1ccf0781bf96f8609066bbed1389751926818c1
      https://github.com/llvm/llvm-project/commit/c1ccf0781bf96f8609066bbed1389751926818c1
  Author: Carlos Alberto Enciso <47597242+CarlosAlbertoEnciso at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    A llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
    R llvm/include/llvm/DebugInfo/LogicalView/Readers/LVELFReader.h
    M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
    M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
    A llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    R llvm/lib/DebugInfo/LogicalView/Readers/LVELFReader.cpp
    M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/dw-at-specification.test
    M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/pr-57040-ignored-DW_FORM_implicit_const.test
    M llvm/tools/llvm-debuginfo-analyzer/README.txt
    M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
    A llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
    R llvm/unittests/DebugInfo/LogicalView/ELFReaderTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/DebugInfo/LogicalView/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/DebugInfo/LogicalView/BUILD.gn

  Log Message:
  -----------
  [llvm-debuginfo-analyzer][NFC] Rename LVElfReader.cpp[h] (#85530)

As part of the WebAssembly support work review
  https://github.com/llvm/llvm-project/pull/82588

It was decided to rename:

  Files: LVElfReader.cpp[h] -> LVDWARFReader.cpp[h]
         ELFReaderTest.cpp  -> DWARFReaderTest.cpp

  Class: LVELFReader        -> LVDWARFReader

The name LVDWARFReader would match the another reader LVCodeViewReader
as they will reflect the type of
debug information format that they are parsing.


  Commit: 65ae09eeb6773b14189fc67051870c8fc4eb9ae3
      https://github.com/llvm/llvm-project/commit/65ae09eeb6773b14189fc67051870c8fc4eb9ae3
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-rotate.c
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/rldimi.ll
    M llvm/test/CodeGen/PowerPC/rlwimi.ll
    M llvm/test/CodeGen/PowerPC/rlwinm.ll

  Log Message:
  -----------
  [PowerPC] Fix behavior of rldimi/rlwimi/rlwnm builtins (#85040)

rldimi is 64-bit instruction, so the corresponding builtin should not
be available in 32-bit mode. Rotate amount should be in range and
cases when mask is zero needs special handling.

This change also swaps the first and second operands of rldimi/rlwimi
to match previous behavior. For masks not ending at bit 63-SH,
rotation will be inserted before rldimi.


  Commit: 580f60484e193b4f7f853ea34cc35f4a3240dfa7
      https://github.com/llvm/llvm-project/commit/580f60484e193b4f7f853ea34cc35f4a3240dfa7
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/copy_move_common.h
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/lexicographical_compare_three_way.h
    M libcxx/include/__algorithm/move.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__algorithm/partial_sort.h
    M libcxx/include/__algorithm/pop_heap.h
    M libcxx/include/__algorithm/push_heap.h
    M libcxx/include/__algorithm/rotate.h
    M libcxx/include/__algorithm/sort_heap.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__algorithm/unwrap_iter.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/include/__atomic/atomic_base.h
    M libcxx/include/__concepts/swappable.h
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__expected/expected.h
    M libcxx/include/__functional/bind_front.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/not_fn.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/cpp17_iterator_concepts.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/compressed_pair.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__mutex/mutex.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/__ranges/movable_box.h
    M libcxx/include/__ranges/zip_view.h
    M libcxx/include/__split_buffer
    M libcxx/include/__tree
    M libcxx/include/__type_traits/is_assignable.h
    M libcxx/include/__type_traits/is_constructible.h
    R libcxx/include/__type_traits/is_copy_assignable.h
    R libcxx/include/__type_traits/is_copy_constructible.h
    R libcxx/include/__type_traits/is_default_constructible.h
    M libcxx/include/__type_traits/is_implicitly_default_constructible.h
    R libcxx/include/__type_traits/is_move_assignable.h
    R libcxx/include/__type_traits/is_move_constructible.h
    M libcxx/include/__type_traits/is_nothrow_assignable.h
    M libcxx/include/__type_traits/is_nothrow_constructible.h
    R libcxx/include/__type_traits/is_nothrow_copy_assignable.h
    R libcxx/include/__type_traits/is_nothrow_copy_constructible.h
    R libcxx/include/__type_traits/is_nothrow_default_constructible.h
    R libcxx/include/__type_traits/is_nothrow_move_assignable.h
    R libcxx/include/__type_traits/is_nothrow_move_constructible.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/is_trivially_assignable.h
    M libcxx/include/__type_traits/is_trivially_constructible.h
    R libcxx/include/__type_traits/is_trivially_copy_assignable.h
    R libcxx/include/__type_traits/is_trivially_copy_constructible.h
    R libcxx/include/__type_traits/is_trivially_default_constructible.h
    R libcxx/include/__type_traits/is_trivially_move_assignable.h
    R libcxx/include/__type_traits/is_trivially_move_constructible.h
    M libcxx/include/__type_traits/noexcept_move_assign_container.h
    M libcxx/include/__utility/exception_guard.h
    M libcxx/include/__utility/exchange.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/__utility/swap.h
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/forward_list
    M libcxx/include/libcxx.imp
    M libcxx/include/list
    M libcxx/include/module.modulemap
    M libcxx/include/optional
    M libcxx/include/string
    M libcxx/include/tuple
    M libcxx/include/type_traits
    M libcxx/include/variant
    M libcxx/include/vector

  Log Message:
  -----------
  [libc++][NFC] Merge is{,_nothrow,_trivially}{,_copy,_move,_default}{_assignable,_constructible} (#85308)

These headers have become very small by using compiler builtins, often
containing only two declarations. This merges these headers, since
there doesn't seem to be much of a benefit keeping them separate.

Specifically, `is_{,_nothrow,_trivially}{assignable,constructible}` are
kept and the `copy`, `move` and `default` versions of these type traits
are moved in to the respective headers.


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

  Changed paths:
    M libcxx/include/__algorithm/equal.h

  Log Message:
  -----------
  [libc++][NFC] Simplify the implementation of equal a bit (#84754)

We can simplify the implementation of the two range overload of `equal`
a bit since we can now use `if constexpr`.


  Commit: 3e2992f0706db7089b42c54c4eb40c65afc98ec6
      https://github.com/llvm/llvm-project/commit/3e2992f0706db7089b42c54c4eb40c65afc98ec6
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/Mem2Reg.h
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/test/Dialect/LLVMIR/mem2reg-intrinsics.mlir

  Log Message:
  -----------
  [MLIR][Mem2Reg] Replace pattern based approach with a bulk one (#85426)

This commit changes MLIR's Mem2Reg implementation back from being
pattern based into a full pass. Using Mem2Reg as a pattern is
wasteful, as each application can invalidate the dominance info.
Applying changes in bulk allows for reuse of the same dominance info.

Unfortunately, this requires some test changes, due to the `IRBuilder`
not simplifying IR.


  Commit: 63897a595a75e9dfc3313610432171f44287db11
      https://github.com/llvm/llvm-project/commit/63897a595a75e9dfc3313610432171f44287db11
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/SROA.h
    M mlir/lib/Transforms/SROA.cpp
    M mlir/test/Dialect/LLVMIR/sroa-intrinsics.mlir

  Log Message:
  -----------
  [MLIR][SROA] Replace pattern based approach with a one-shot one (#85437)

This commit changes MLIR's SROA implementation back from being pattern
based into a full pass. This is beneficial for upcoming changes that
rely more heavily on the datalayout.

Unfortunately, this change required substantial test changes, as the
IRBuilder no cleans up the IR.


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

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

  Log Message:
  -----------
  [gn build] Port 580f60484e19


  Commit: 99a8ffe6b1e78d16f5dc528048a7c34a236b62bb
      https://github.com/llvm/llvm-project/commit/99a8ffe6b1e78d16f5dc528048a7c34a236b62bb
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [libc++] Use __is_scoped_enum for the implementation of is_scoped_enum if it's available (#85580)


  Commit: 9b98692eedb78aa106539c36ba02944f32cae1ff
      https://github.com/llvm/llvm-project/commit/9b98692eedb78aa106539c36ba02944f32cae1ff
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    A llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll

  Log Message:
  -----------
  [AMDGPU] Run LowerLDS at the end of the fullLTO pipeline (#75333)

This change allows us to use `--lto-partitions` in some cases (not at
all guaranteed it works perfectly), as LDS is lowered before the module
is split for parallel codegen.

We must run LowerLDS before splitting modules as it needs to see all
callers of functions with LDS to properly lower them.


  Commit: 5d45757ec1f507a52b9ee10e5cab6965feca064d
      https://github.com/llvm/llvm-project/commit/5d45757ec1f507a52b9ee10e5cab6965feca064d
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Partial fix for 513cdb82223a106f183b49a40d9acb1f7efbbe7e. (#85604)

Adds a separate target for bufferization interfaces.

`//mlir:ArithDialect` would need to depend on
`//mlir:ValueBoundsOpInterface` as well, but that's creating a circular
dependency.


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

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

  Log Message:
  -----------
  [VPlan] Remove redundant cast (NFCI).

SinkCandidate is a VPSingleDefRecipe now, so no cast is needed to access
getUnderlyingInstr directly.


  Commit: 5cc228148e800b75adfc778f8b5fbace04478dd3
      https://github.com/llvm/llvm-project/commit/5cc228148e800b75adfc778f8b5fbace04478dd3
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/common-cpp.mlir
    M mlir/test/Target/Cpp/const.mlir
    M mlir/test/Target/Cpp/for.mlir
    M mlir/test/Target/Cpp/stdops.mlir

  Log Message:
  -----------
  TranslateToCpp: Emit floating point literals with suffix (#85392)

Emits `2.0e+00f` instead of `(float)2.0e+00`.

This helps consumers of the emitted code, especially when there are
large numbers of floating point literals, to have a simple AST.


  Commit: 3128c202f193c39a23a192446899cb5832d8df5e
      https://github.com/llvm/llvm-project/commit/3128c202f193c39a23a192446899cb5832d8df5e
  Author: Alfie Richards <156316945+AlfieRichardsArm at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [TableGen] Bug fix for tied optional operands resolution (#83588)

This fixes tied operand resolution in cases where there are optional operands before the tied operand.


  Commit: 6854f6f1b102d1c767388e0ed3a58f0eeed69b62
      https://github.com/llvm/llvm-project/commit/6854f6f1b102d1c767388e0ed3a58f0eeed69b62
  Author: Alfie Richards <156316945+AlfieRichardsArm at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [TableGen] Add `PreferSmallerInstructions` for Targets. (#83587)

This option means that in assembly matching instructions with smaller
encodings will be preferred.

This will be used for the ARM instruction set where this is the correct
behavior after some other refactoring.


  Commit: 68342ed1ac90a2a9a18762add1db69df194820bb
      https://github.com/llvm/llvm-project/commit/68342ed1ac90a2a9a18762add1db69df194820bb
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix for 513cdb82223a106f183b49a40d9acb1f7efbbe7e. (#85617)

Follow-up from https://github.com/llvm/llvm-project/pull/85604, this
change also fixes the ArithDialect target.


  Commit: 7fad304a0310836c88aefd2a01f825e70bb14aed
      https://github.com/llvm/llvm-project/commit/7fad304a0310836c88aefd2a01f825e70bb14aed
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sme-call-streaming-compatible-to-normal-fn-wihout-sme-attr.ll

  Log Message:
  -----------
  [AArch64][SME] Make coalescer barrier available without +sme. (#85311)

For each call that changes the streaming-mode ISel inserts a
COALESCER_BARRIER node for the FP and (non-scalable) vector arguments to
the callee.

When calling a non-streaming function from a streaming-compatible
function, it's not required to have +sme (in case the SME code-path is
not actually executed at runtime). The patterns to match the
COALESCER_BARRIER however were still predicated with `HasSME`, which is
incorrect. This patch tries to fix that.


  Commit: 87cee71b3738547465481740fcbde7d73283678f
      https://github.com/llvm/llvm-project/commit/87cee71b3738547465481740fcbde7d73283678f
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    A flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
    A flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
    A flang/test/Lower/OpenMP/delayed-privatization-pointer.f90

  Log Message:
  -----------
  [flang][MLIR][OpenMP] Extend delayed privatization for scalar allocatables and pointers (#84740)

One more step in extending support for delayed privatization. This diff
adds support for scalar allocatables and pointers.


  Commit: 0d313ee3938758b3f2026fdb28497567d1023d9d
      https://github.com/llvm/llvm-project/commit/0d313ee3938758b3f2026fdb28497567d1023d9d
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Port dbbdee2ea2156170062813fb3d7f2c023d65e02d


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

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

  Log Message:
  -----------
  [RemoveDIs] Use getFirstNonPHIIt to fix crash #85472 (#85618)


  Commit: 40d29537fcea7db91f39c0d7bc7feeb499b8e627
      https://github.com/llvm/llvm-project/commit/40d29537fcea7db91f39c0d7bc7feeb499b8e627
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

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


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

  Changed paths:
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/CodeGenObjC/debug-info-blocks.m

  Log Message:
  -----------
  [RemoveDIs] Update Clang front end to handle DbgRecords (#84756)

This patch fixes problems that pop up when clang emits DbgRecords
instead of debug intrinsics.

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.

Depends on #84739


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

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

  Log Message:
  -----------
  Fix formatting in #84756


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

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

  Log Message:
  -----------
  Revert "Fix formatting in #84756"

This reverts commit b097b3dc2ba2517621a5e3da3237a77ed0e7586f.

Buildbots: https://lab.llvm.org/buildbot/#/builders/196/builds/47206


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

  Changed paths:
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/CodeGenObjC/debug-info-blocks.m

  Log Message:
  -----------
  Revert "[RemoveDIs] Update Clang front end to handle DbgRecords (#84756)"

This reverts commit 6f60ad7e9a3508f19d54c827cf11f7930a0685ee.

Buildbots: https://lab.llvm.org/buildbot/#/builders/196/builds/47206


  Commit: 3493438605079c001b554327c02a4432204aab69
      https://github.com/llvm/llvm-project/commit/3493438605079c001b554327c02a4432204aab69
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    R llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Run LowerLDS at the end of the fullLTO pipeline (#75333)"

This reverts commit 9b98692eedb78aa106539c36ba02944f32cae1ff.


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

  Changed paths:
    M clang/lib/Format/FormatInternal.h

  Log Message:
  -----------
  [clang-format] Make header self-contained

These includes were removed in 426e6945897afbec01c042bec4771522a2aac176


  Commit: 38a44bdc93db5b00310230f6542df39017b9a41b
      https://github.com/llvm/llvm-project/commit/38a44bdc93db5b00310230f6542df39017b9a41b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/CodeGen/AArch64/isinf.ll
    M llvm/test/CodeGen/AMDGPU/fp-classify.ll
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/CodeGen/PowerPC/fp-classify.ll
    A llvm/test/Transforms/CodeGenPrepare/AArch64/fpclass-test.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/fpclass-test.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/fpclass-test.ll

  Log Message:
  -----------
  [CodeGenPrepare] Reverse the canonicalization of isInf/isNanOrInf (#81572)

In commit
https://github.com/llvm/llvm-project/commit/2b582440c16c72b6b021ea5c212ceda3bdfb2b9b,
we canonicalize the isInf/isNanOrInf idiom into fabs+fcmp for better
analysis/codegen (See also the discussion in
https://github.com/llvm/llvm-project/pull/76338).

This patch reverses the fabs+fcmp to `is.fpclass`. If the `is.fpclass`
is not supported by the target, it will be expanded by TLI.

Fixes the regression introduced by
https://github.com/llvm/llvm-project/commit/2b582440c16c72b6b021ea5c212ceda3bdfb2b9b
and
https://github.com/llvm/llvm-project/pull/80414#issuecomment-1936374206.


  Commit: 59f34e8c2b5463dcf39fbafffeb30a84ef7b6887
      https://github.com/llvm/llvm-project/commit/59f34e8c2b5463dcf39fbafffeb30a84ef7b6887
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/MC/SPIRVObjectWriter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.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/SPIRVMCInstLower.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/test/CodeGen/SPIRV/ComparePointers.ll
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.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

  Log Message:
  -----------
  [SPIRV] Add Lifetime intrinsics/instructions (#85391)

This PR:
* adds Lifetime intrinsics/instructions
* fixes how the binary header is emitted (correct version and better
approximation of Bound)
* add validation into more test cases


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

  Changed paths:
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/CodeGenObjC/debug-info-blocks.m

  Log Message:
  -----------
  [RemoveDIs] Update Clang front end to handle DbgRecords (#84756)

This patch fixes problems that pop up when clang emits DbgRecords
instead of debug intrinsics.

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.

Depends on #84739


  Commit: 295cdd5c3dbd14406bf9cce01e3dfd787fb1ddda
      https://github.com/llvm/llvm-project/commit/295cdd5c3dbd14406bf9cce01e3dfd787fb1ddda
  Author: Alfie Richards <156316945+AlfieRichardsArm at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/Target/ARM/ARM.td
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrThumb.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/test/MC/ARM/arm-branch-errors.s
    M llvm/test/MC/ARM/arm11-hint-instr.s
    M llvm/test/MC/ARM/cde-fp-vec.s
    M llvm/test/MC/ARM/cde-vec-pred.s
    M llvm/test/MC/ARM/cps.s
    M llvm/test/MC/ARM/diagnostics.s
    M llvm/test/MC/ARM/directive-arch_extension-crypto.s
    M llvm/test/MC/ARM/invalid-fp-armv8.s
    M llvm/test/MC/ARM/lsl-zero-errors.s
    M llvm/test/MC/ARM/mve-load-store.s
    M llvm/test/MC/ARM/mve-misc.s
    M llvm/test/MC/ARM/neon-complex.s
    M llvm/test/MC/ARM/no-mve.s
    M llvm/test/MC/ARM/not-armv4.s
    M llvm/test/MC/ARM/register-token-source-loc.s
    M llvm/test/MC/ARM/tMOVSr.s
    M llvm/test/MC/ARM/thumb-diagnostics.s
    M llvm/test/MC/ARM/thumb-mov.s
    M llvm/test/MC/ARM/thumb2-diagnostics.s
    M llvm/test/MC/ARM/vfp4.s
    M llvm/test/tools/llvm-mca/ARM/cortex-a57-basic-instructions.s
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [ARM][TableGen][MC] Change the ARM mnemonic operands to be optional for ASM parsing (#83436)

This changs the way the assembly matcher works for Aarch32 parsing.
Previously there was a pile of hacks which dictated whether the CC,
CCOut, and VCC operands should be present which de-facto chose if the
wide/narrow (or thumb1/thumb2/arm) instruction version were chosen.

This meant much of the TableGen machinery present for the assembly
matching was effectively being bypassed and worked around.

This patch makes the CC and CCOut operands optional which allows the ASM
matcher operate as it was designed and means we can avoid doing some of
the hacks done previously. This also adds the option for the target to
allow the prioritizing the smaller instruction encodings as is required
for Aarch32.


  Commit: a60deaa2046b2aafc4ba2542d6ad42b80af054b0
      https://github.com/llvm/llvm-project/commit/a60deaa2046b2aafc4ba2542d6ad42b80af054b0
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
    M llvm/test/Transforms/ConstantHoisting/AArch64/large-immediate.ll

  Log Message:
  -----------
  [ConstantHoisting] Don't attempt to hoist ConstantInt vectors. (#85416)

The pass uses the TTI hook getIntImmCostIntrin that only supports scalar
integer types. Whilst hoisting expensive vector constant is likely
worthwhile, this is new behaviour and so I've followed the path taken by
the GEP variant of collectConstantCandidates and simply bail for vector
types.


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

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

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

Follow on from #84739, which updates the DIBuilder class.

All the functions that have been added are temporary and will be
deprecated in the future. The intention is that they'll help downstream
projects adapt during the transition period.

```
New functions (all to be deprecated)
------------------------------------
LLVMIsNewDbgInfoFormat                      # Returns true if the module is in the new non-instruction mode.
LLVMSetIsNewDbgInfoFormat                   # Convert to the requested debug info format.

LLVMDIBuilderInsertDeclareIntrinsicBefore   # Insert a debug intrinsic (old debug info format). 
LLVMDIBuilderInsertDeclareIntrinsicAtEnd    # Same as above.
LLVMDIBuilderInsertDbgValueIntrinsicBefore  # Same as above.
LLVMDIBuilderInsertDbgValueIntrinsicAtEnd   # Same as above.

LLVMDIBuilderInsertDeclareRecordBefore      # Insert a debug record (new debug info format). 
LLVMDIBuilderInsertDeclareRecordAtEnd       # Same as above.
LLVMDIBuilderInsertDbgValueRecordBefore     # Same as above.
LLVMDIBuilderInsertDbgValueRecordAtEnd      # Same as above.
```

The existing `LLVMDIBuilderInsert...` functions call through to the
intrinsic versions (old debug info format) currently.

In the next patch, I'll swap them to call the debug records versions
(new debug info format). Downstream users of this API can query and
change the current format using the first two functions above, or can
instead opt to temporarily use intrinsics or records explicitly.


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

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

  Log Message:
  -----------
  Remove unused include. NFC


  Commit: 4c5bc7667728d5383c41eb8a20dd5e49257904d2
      https://github.com/llvm/llvm-project/commit/4c5bc7667728d5383c41eb8a20dd5e49257904d2
  Author: Rodrigo Salazar <4rodrigosalazar at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libcxx][test] Create feature host-can-create-symlinks (#82204)

On Windows you can not create symlinks without elevated privileges
unless you have Windows developer mode enabled. There's ~67 libcxx tests
that run into failures on windows if your environment is not set up
correctly (Go to windows settings and enable "developer mode").

This change:
- Adds a feature check for whether the host can create symlinks. (see
libcxx/utils/libcxx/test/features.py)
- Mark the feature as required for the 67 tests that hit failures on
windows due to this. This will allow lit to correctly mark these tests
as unsupported instead of unexpectedly failed (this is helpful since
then you know you didn't break something with your change, it's just
that it's not supported with your environment).


  Commit: 6825081162b69b84c0f4af6f5f71db1bab34e143
      https://github.com/llvm/llvm-project/commit/6825081162b69b84c0f4af6f5f71db1bab34e143
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td

  Log Message:
  -----------
  [NFC][LLVM][SVE][ISel] Remove redundant type information from Pat targets. (#85409)


  Commit: 6598f631bdaf6885de867a1d253203d92dd6b76c
      https://github.com/llvm/llvm-project/commit/6598f631bdaf6885de867a1d253203d92dd6b76c
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  Remove another layering violation by unused include. NFC


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

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

  Log Message:
  -----------
  [clang][Interp] Handle CXXDefaultInitExpr of composite type


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

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

  Log Message:
  -----------
  Fix Werror buildbots after #84915

e.g. https://lab.llvm.org/buildbot/#/builders/77/builds/35540


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

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

  Log Message:
  -----------
  [MLIR][XeGPU] Adding XeGPU 2d block operators (#84692)

Hi @joker-eph, This PR adds XeGPU 2D block operators. It contains:
1. `TensorDescType` and `TensorDescAttr` definitions
2. `MemoryScopeAttr` and `CacheHintAttr` definitions which are used by
`TensorDescAttr`.
3. `CreateNdDescOp`, `PrefetchNdOp`, `LoadNdOp`, and `StoreNdOp`
definitions, and their corresponding testcases for illustration.

---------

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


  Commit: ab28c1de23f3880d7d2becf936fe560abe68e020
      https://github.com/llvm/llvm-project/commit/ab28c1de23f3880d7d2becf936fe560abe68e020
  Author: Bhuminjay Soni <Soni5Happy at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/warn-bitwise-and-bool.c
    M clang/test/Sema/warn-bitwise-or-bool.c

  Log Message:
  -----------
  fix unnecessary warning when using bitand with boolean operators (#81976)

This pull request fixes #77601 where using the `bitand` operator with
boolean operands should not trigger the warning, as it would indicate an
intentional use of bitwise AND rather than a typo or error.

Fixes #77601


  Commit: 24692088181dd18e491a413d98d9c2ae30464454
      https://github.com/llvm/llvm-project/commit/24692088181dd18e491a413d98d9c2ae30464454
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dependencies for daebe5c4f27ba140ac8d13abf41e3fe4db72b91a


  Commit: 27d504998ec7ec596bc9ff5d16333aea7a1bac18
      https://github.com/llvm/llvm-project/commit/27d504998ec7ec596bc9ff5d16333aea7a1bac18
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [clang][dataflow] Fix `getResultObjectLocation()` on `CXXDefaultArgExpr`. (#85072)

This patch includes a test that causes an assertion failure without the
other
changes in this patch.


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

  Changed paths:
    M libcxx/include/__type_traits/remove_reference.h
    M libcxx/include/cwchar
    M libcxx/include/execution
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv

  Log Message:
  -----------
  [libc++] Simplify the implementation of remove_reference (#85207)

GCC 13 introduced the type trait `__remove_reference`. We can simplify
the implementation of `remove_reference` a bit by using it.


  Commit: bc70f60418f5edad1aaee91fef832a6e2301c62f
      https://github.com/llvm/llvm-project/commit/bc70f60418f5edad1aaee91fef832a6e2301c62f
  Author: zicwangupa <87221359+ZiCong-Wang at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [SelectionDAG] Add m_Neg and m_Not pattern matcher and update DAGCombiner (#85365)

Resolves #85065

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 4ea850b52ffbb6ca6a40242558ee005a2a894daf
      https://github.com/llvm/llvm-project/commit/4ea850b52ffbb6ca6a40242558ee005a2a894daf
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__iterator/reverse_iterator.h
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/equal.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater-equal.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less-equal.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/not-equal.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/assign.LWG3435.verify.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.default.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.explicit.verify.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.reverse_iterator.LWG3435.verify.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.conv/base.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/arrow.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/bracket.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/dereference.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/decrement-assign.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/increment-assign.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/minus.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/plus.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postdecrement.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postincrement.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/predecrement.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/preincrement.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nonmember/minus.pass.cpp
    R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/types.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Remove __unconstrained_reverse_iterator (#85582)

`__unconstrained_reverse_iterator` has outlived its usefullness, since
the standard and subsequently the compilers have been fixed.


  Commit: 4109b18ee5de1346c2b89a5c89b86bae5c8631d3
      https://github.com/llvm/llvm-project/commit/4109b18ee5de1346c2b89a5c89b86bae5c8631d3
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/test/tools/CMakeLists.txt
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85262)

The clang-tidy selection in CMake was refactored in
https://github.com/llvm/llvm-project/pull/81362. During review it was
suggested to remove this CMake option.


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

  Changed paths:
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Disable CFStringMakeConstantString test on AIX

It's not only the fist CFSTR call that's broken on AIX.
See https://github.com/llvm/llvm-project/commit/0a739eb75fe68b1cec4e4aaad8b5395bb5da9a89#commitcomment-139910542


  Commit: 4294841ebcbb22076a24267cdf5164c7aeed9941
      https://github.com/llvm/llvm-project/commit/4294841ebcbb22076a24267cdf5164c7aeed9941
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/Sema/const-eval.c
    A clang/test/Sema/constexpr-void-cast.c

  Log Message:
  -----------
  [clang][ExprConst] Can't be past an invalid LValue designator (#84293)

For the test case in C, both `LV.getLValueOffset()` and
`Ctx.getTypeSizeInChars(Ty)` are zero, so we return `true` from
`isOnePastTheEndOfCompleteObject()` and ultimately diagnose this as
being one past the end, but the diagnostic doesn't make sense.


  Commit: a8bda0b4a6eb454cb437105efc98c807bd5c4f6d
      https://github.com/llvm/llvm-project/commit/a8bda0b4a6eb454cb437105efc98c807bd5c4f6d
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/tools/llvm-c-test/echo.cpp

  Log Message:
  -----------
  [C API] Add accessors for function prefix and prologue data (#82193)

A test is added to echo.ll, and the echo.cpp part of llvm-c-test is
updated to clone a function's prefix and prologue.


  Commit: 276847a65af67bdc4eb79989f196d1968cb50ae6
      https://github.com/llvm/llvm-project/commit/276847a65af67bdc4eb79989f196d1968cb50ae6
  Author: Miguel Raz Guzmán Macedo <miguelraz at ciencias.unam.mx>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Verifier/intrinsic-cmp.ll

  Log Message:
  -----------
  [LangRef][IR] Add 3-way compare intrinsics llvm.scmp/llvm.ucmp (#83227)

This PR adds the `[us]cmp` intrinsics to the LangRef, `Intrinsics.td`
and some tests to the IRVerifier.

RFC: https://discourse.llvm.org/t/rfc-add-3-way-comparison-intrinsics/76685


  Commit: eb264d825beb048c6e673ddaf5aca069511fcfb3
      https://github.com/llvm/llvm-project/commit/eb264d825beb048c6e673ddaf5aca069511fcfb3
  Author: ykiko <ykikoykikoykiko at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h

  Log Message:
  -----------
  Add some missing Kinds to libclang python bindings (#85571)

Add some Kinds existing in Index.h but missing in cindex.py.


  Commit: bfd1d95de270fe38a287b5f48928df56a39ff8ad
      https://github.com/llvm/llvm-project/commit/bfd1d95de270fe38a287b5f48928df56a39ff8ad
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp

  Log Message:
  -----------
  [mlir] Fix unused variable error in builds with asserts enabled.


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

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

  Log Message:
  -----------
  [VPlan] Support match unary and binary recipes in pattern matcher (NFC).

Generalize pattern matchers to take recipe types to match as template
arguments and use it to provide matchers for unary and binary recipes
with specific opcodes and a list of recipe types (VPWidenRecipe,
VPReplicateRecipe, VPWidenCastRecipe, VPInstruction)

The new matchers are used to simplify and generalize the code in
simplifyRecipes.


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

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

  Log Message:
  -----------
  [AMDGPU] Remove unneeded addr mode predicates on FLAT Real instructions (#85641)

These predicates should be copied from the corresponding Pseudo
instruction. Previously that did not work because of a problem with
setting the right predicates on the Pseudos, but #85442 fixed that.


  Commit: e5b20c83e5ba25e6e0650df30352ce54c2f6ea2f
      https://github.com/llvm/llvm-project/commit/e5b20c83e5ba25e6e0650df30352ce54c2f6ea2f
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/scalar-double-ldst.ll
    M llvm/test/CodeGen/PowerPC/scalar-float-ldst.ll

  Log Message:
  -----------
  [PowerPC] Update chain uses when emitting lxsizx (#84892)


  Commit: 9cea288bf789c74146cb211a2b5a84895e6866ac
      https://github.com/llvm/llvm-project/commit/9cea288bf789c74146cb211a2b5a84895e6866ac
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/utils/release/export.sh

  Log Message:
  -----------
  [release] Fix version extraction in export.sh (#85328)

The LLVM_VERSION_* variables were moved to a new file in
81e20472a0c5a4a8edc5ec38dc345d580681af81.


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

  Changed paths:
    M clang/test/Sema/constexpr-void-cast.c

  Log Message:
  -----------
  [clang][test] Try to fix constexpr-void-cast test

The test currenlty fails:
https://lab.llvm.org/buildbot/#/builders/139/builds/61628

because it emits a C11 warning when compiling as C. Try to fix that
be defining the C standard to use.


  Commit: 9253950ec1690e786ba1cdaaf3234fb30b633eab
      https://github.com/llvm/llvm-project/commit/9253950ec1690e786ba1cdaaf3234fb30b633eab
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/check_external_calls.sh
    M libclc/cmake/CMakeLLAsmInformation.cmake

  Log Message:
  -----------
  [libclc] Convert tabs to spaces in CMake (#85634)

Having a mix of tabs and spaces makes the diff of any changes to the
build system noisier than necessary. This commit unifies them to two
spaces.

This includes some minor cosmetic changes such as with joining things on
one line where appropriate.

There are other files in libclc which have tabs but those haven't been
touched at this time. Those could come at another time if desired,
though they might be more contentious as the project isn't
clang-formatted at all and so that might invite larger discussions
around formatting.


  Commit: 09bc6abba6e226ad5e9d18d4365690d6f04de21a
      https://github.com/llvm/llvm-project/commit/09bc6abba6e226ad5e9d18d4365690d6f04de21a
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/FinalizeISel.cpp
    M llvm/lib/CodeGen/MachineFrameInfo.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/avoid-zero-copy.mir
    M llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir
    M llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
    M llvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
    M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
    M llvm/test/CodeGen/Hexagon/livephysregs-regmask-clobber.mir
    M llvm/test/CodeGen/MIR/AMDGPU/stack-id-assert.mir
    M llvm/test/CodeGen/Mips/avoid-zero-copy.mir
    M llvm/test/CodeGen/Mips/msa/emergency-spill.mir
    M llvm/test/CodeGen/RISCV/live-sp.mir
    M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir
    M llvm/test/CodeGen/RISCV/rvv/rvv-stack-align.mir
    M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir
    M llvm/test/CodeGen/RISCV/stack-inst-compress.mir
    M llvm/test/CodeGen/SystemZ/cond-move-04.mir
    M llvm/test/CodeGen/SystemZ/cond-move-08.mir
    M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints-02.mir
    M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints.mir
    M llvm/test/CodeGen/SystemZ/frame-28.mir
    M llvm/test/CodeGen/X86/fast-regalloc-live-out-debug-values.mir
    M llvm/test/CodeGen/X86/heap-alloc-markers.mir
    M llvm/test/CodeGen/X86/instr-symbols.mir
    M llvm/test/CodeGen/X86/statepoint-fixup-undef.mir
    M llvm/test/CodeGen/X86/statepoint-vreg.mir
    M llvm/test/DebugInfo/MIR/X86/debug-loc-0.mir
    M llvm/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir
    M llvm/test/DebugInfo/X86/live-debug-vars-dse.mir
    M llvm/test/DebugInfo/X86/prolog-params.mir

  Log Message:
  -----------
  [MachineFrameInfo] Refactoring around computeMaxcallFrameSize() (NFC) (#78001)

- Use computeMaxCallFrameSize() in PEI::calculateCallFrameInfo() instead of duplicating the code.

- Set AdjustsStack in FinalizeISel instead of in computeMaxCallFrameSize().


  Commit: c5177f149b43dcc5a39c2c1aefaf1bba8518fd2e
      https://github.com/llvm/llvm-project/commit/c5177f149b43dcc5a39c2c1aefaf1bba8518fd2e
  Author: Martin Wehking <martin.wehking at codeplay.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  Silence potential overflow warning (#83272)

Cast Offset variable to int64_t type directly inside a multiplication
and function call to utilize 64-bit arithmetic.

Ensure that the multiplication will not overflow.

A static analyzer warned about this since the function expects a 64-bit
argument, but the multiplication is evaluated inside a 32-bit context.


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

  Changed paths:
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/test/DebugInfo/print-non-instruction-debug-info.ll

  Log Message:
  -----------
  [RemoveDIs][AsmWriter] Add empty-metadata operands to the SlotTracker (#85636)


  Commit: 0c21377aeafc523bd4a8c40bd27e33498f3199f7
      https://github.com/llvm/llvm-project/commit/0c21377aeafc523bd4a8c40bd27e33498f3199f7
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/test/Semantics/doconcurrent08.f90

  Log Message:
  -----------
  [flang] Diagnose the impure procedure reference in finalization according to the rank of the entity (#85475)

Use the rank of the array section to determine which final procedure
would be called in diagnosing whether that procedure is impure or not.


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

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

  Log Message:
  -----------
  [clang][Interp] Fix _Complex comma operators

Handle them before shelling out to visitComplexBinOp().


  Commit: 73381a8df80674bd5198a89e8e879c64c48121b8
      https://github.com/llvm/llvm-project/commit/73381a8df80674bd5198a89e8e879c64c48121b8
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp

  Log Message:
  -----------
  [CodeGen] Fix -Wunused-variable in PrologEpilogInserter.cpp (NFC)

llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp:369:12:
error: unused variable 'MaxCFSIn' [-Werror,-Wunused-variable]
  uint32_t MaxCFSIn =
           ^
1 error generated.


  Commit: 0c423af59c971ddf1aa12d94529edf8293608157
      https://github.com/llvm/llvm-project/commit/0c423af59c971ddf1aa12d94529edf8293608157
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add Options to break inside the TableGen DAGArg. (#83149)

Add two options to control the line break inside TableGen DAGArg.
- TableGenBreakInsideDAGArg
- TableGenBreakingDAGArgOperators


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

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/api.td
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/undefined_behavior.rst
    M libc/spec/posix.td
    M libc/src/__support/CPP/string_view.h
    M libc/src/sys/mman/CMakeLists.txt
    M libc/src/sys/mman/linux/CMakeLists.txt
    A libc/src/sys/mman/linux/shm_common.h
    A libc/src/sys/mman/linux/shm_open.cpp
    A libc/src/sys/mman/linux/shm_unlink.cpp
    A libc/src/sys/mman/shm_open.h
    A libc/src/sys/mman/shm_unlink.h
    M libc/test/src/__support/CPP/stringview_test.cpp
    M libc/test/src/sys/mman/linux/CMakeLists.txt
    A libc/test/src/sys/mman/linux/shm_test.cpp

  Log Message:
  -----------
  [libc] Add `shm_open/shm_unlink` (#84974)


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

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

  Log Message:
  -----------
  [clang-tidy][NFC] Remove unnecessary nullptr check on cast subexpr (#85473)

The value of SubExpr is not null since getSubExpr would assert in that
case. Remove the nullptr check. This avoids confusion since SubExpr is
used without check later in the function.


  Commit: 12b802ac0bc6ddf0742aa3fe8caecd8204d70ca5
      https://github.com/llvm/llvm-project/commit/12b802ac0bc6ddf0742aa3fe8caecd8204d70ca5
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-avoid-assignment.cpp

  Log Message:
  -----------
  [clang-tidy]bugprone-unused-return-value ignore `++` and `--` operator overloading (#84922)

Fixes: #84705
Further fix for #84489


  Commit: 39c739eec9148a2f4e04c7fa9ca11f23db79bb15
      https://github.com/llvm/llvm-project/commit/39c739eec9148a2f4e04c7fa9ca11f23db79bb15
  Author: Andrei Golubev <andrey.golubev at intel.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [mlir][OpInterfacesGen][NFC] Add newline after traits declaration (#85633)

Slightly improve the readability of the tablegen-generated code.

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


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

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/test/tools/CMakeLists.txt
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  Revert "[libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85262)"

This reverts commit 4109b18ee5de1346c2b89a5c89b86bae5c8631d3.

It looks like the automatic detection has false positives. This broke
the following build https://github.com/llvm/llvm-project/pull/85262


  Commit: ca04b56a8b26cbe9327eaab113e1e4af096d902a
      https://github.com/llvm/llvm-project/commit/ca04b56a8b26cbe9327eaab113e1e4af096d902a
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/fileno.h
    M libc/src/stdio/generic/CMakeLists.txt
    A libc/src/stdio/generic/fileno.cpp
    M libc/test/src/stdio/fileop_test.cpp

  Log Message:
  -----------
  [libc] Implement fileno (#85628)


fixes: #85150


  Commit: 8d142043e8c4c1144cd94f39f3cc7c88da5cec3f
      https://github.com/llvm/llvm-project/commit/8d142043e8c4c1144cd94f39f3cc7c88da5cec3f
  Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    R mlir/test/Dialect/XeGPU/XeGPUOps.mlir

  Log Message:
  -----------
  Revert "[MLIR][XeGPU] Adding XeGPU 2d block operators (#84692)" (#85653)

This reverts commit daebe5c4f27ba140ac8d13abf41e3fe4db72b91a.

This commit causes the following asan issue:

```
<snip>/llvm-project/build/bin/mlir-opt <snip>/llvm-project/mlir/test/Dialect/XeGPU/XeGPUOps.mlir | <snip>/llvm-project/build/bin/FileCheck <snip>/llvm-project/mlir/test/Dialect/XeGPU/XeGPUOps.mlir
# executed command: <snip>/llvm-project/build/bin/mlir-opt <snip>/llvm-project/mlir/test/Dialect/XeGPU/XeGPUOps.mlir
# .---command stderr------------
# | =================================================================
# | ==2772558==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fd2c2c42b90 at pc 0x55e406d54614 bp 0x7ffc810e4070 sp 0x7ffc810e4068
# | READ of size 8 at 0x7fd2c2c42b90 thread T0
# |     #0 0x55e406d54613 in operator()<long int const*> /usr/include/c++/13/bits/predefined_ops.h:318
# |     #1 0x55e406d54613 in __count_if<long int const*, __gnu_cxx::__ops::_Iter_pred<mlir::verifyListOfOperandsOrIntegers(Operation*, llvm::StringRef, unsigned int, llvm::ArrayRef<long int>, ValueRange)::<lambda(int64_t)> > > /usr/include/c++/13/bits/stl_algobase.h:2125
# |     #2 0x55e406d54613 in count_if<long int const*, mlir::verifyListOfOperandsOrIntegers(Operation*, 
...
```


  Commit: bd9a2afa8015a3f0bcc214a053816f4275f8d891
      https://github.com/llvm/llvm-project/commit/bd9a2afa8015a3f0bcc214a053816f4275f8d891
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/select.ll

  Log Message:
  -----------
  [InstCombine] Add tests for selects with same conditions (NFC)


  Commit: 705788c84623b4f1dab72a108e039a0de2d53cf6
      https://github.com/llvm/llvm-project/commit/705788c84623b4f1dab72a108e039a0de2d53cf6
  Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
    M clang/test/Analysis/block-in-critical-section.cpp

  Log Message:
  -----------
   [clang][analyzer] Improve BlockInCriticalSectionsChecker (#80029)

* Add support for multiple, potentially overlapping critical sections:
  The checker can now simultaneously handle several mutex's critical
  sections without confusing them.
* Implement the handling of recursive mutexes:
  By identifying the lock events, recursive mutexes are now supported.
  A lock event is a pair of a lock expression, and the SVal of the mutex
  that it locks, so even multiple locks of the same mutex (and even by
  the same expression) is now supported.
* Refine the note tags generated by the checker:
  The note tags now correctly show just for mutexes that are
  active at the point of error, and multiple acquisitions of the same mutex
  are also noted.


  Commit: 9a784303a3666e9d9b93088a1519e1dc2ba4d015
      https://github.com/llvm/llvm-project/commit/9a784303a3666e9d9b93088a1519e1dc2ba4d015
  Author: David Green <david.green at arm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/itofp.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalize small G_TRUNC (#85625)

This is an alternative to #85610, that moreElement's small G_TRUNC
vectors to widen the vectors. It needs to disable one of the existing
Unmerge(Trunc(..)) combines, and some of the code is not as optimal as
it could be. I believe with some extra optimizations it could look
better (I was thinking combining trunc(buildvector) -> buildvector and
possibly improving buildvector lowering by generating
insert_vector_element earlier).


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

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/ObjC.h
    M lld/MachO/Options.td
    A lld/test/MachO/objc-category-merging-complete-test.s
    A lld/test/MachO/objc-category-merging-extern-class-minimal.s

  Log Message:
  -----------
  [lld-macho] Implement ObjC category merging (-objc_category_merging) (#82928)

This change adds a flag to lld to enable category merging for MachoO +
ObjC.
It adds the '-objc_category_merging' flag for enabling this option and
uses the existing '-no_objc_category_merging' flag for disabling it.
In ld64, this optimization is enabled by default, but in lld, for now,
we require explicitly passing the '-objc_category_merging' flag in order
to enable it.

Behavior: if in the same link unit, multiple categories are extending
the same class, then they get merged into a single category.
Ex: `Cat1(method1+method2,protocol1) + Cat2(method3+method4,protocol2,
property1) = Cat1_2(method1+method2+method3+method4,
protocol1+protocol2, property1)`

Notes on implementation decisions made in this diff:
1. There is a possibility to further improve the current implementation
by directly merging the category data into the base class (if the base
class is present in the link unit) - this improvement may be done as a
follow-up. This improved functionality is already present in ld64.
2. We do the merging on the raw inputSections - after dead-stripping
(categories can't be dead stripped anyway).
3. The changes are mostly self-contained to ObjC.cpp, except for adding
a new flag (linkerOptimizeReason) to ConcatInputSection and StringPiece
to mark that this data has been optimized away. Another way to do it
would have been to just mark the pieces as not 'live' but this would
cause the old symbols to show up in the linker map as being
dead-stripped - even if dead-stripping is disabled. This flag allows us
to match the ld64 behavior.

---------

Co-authored-by: Alex B <alexborcan at meta.com>


  Commit: 280c7a9526a9ae7f959117c9cec94f8c8887f15c
      https://github.com/llvm/llvm-project/commit/280c7a9526a9ae7f959117c9cec94f8c8887f15c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [Clang] Fix preprocessing device only in HIP mode

Summary:
A recent change made the HIP compilation bundle by default. However we
don't want to do this for `-E`, which silently broke some handling.


  Commit: 0db2e1e91a9124c276fd00f674b71f038a53ddec
      https://github.com/llvm/llvm-project/commit/0db2e1e91a9124c276fd00f674b71f038a53ddec
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2024-03-18 (Mon, 18 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:
  -----------
  Reland "[compiler-rt] Avoid generating coredumps when piped to a tool"

Updated the corelimit.cpp test to handle buildbots with RLIMIT_CORE
rlim_max already set to zero.

Original commit message:

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

This reverts commit 0b9f19a9880eb786871194af116f223d2ad30c52.


  Commit: 67c5a98caea419a9720712d3977d487ab95f6356
      https://github.com/llvm/llvm-project/commit/67c5a98caea419a9720712d3977d487ab95f6356
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [IR][NFC] Suppress warnings in ternary operators

Just doing this the same way as in AMDGPUPromoteAlloca.cpp


  Commit: 44c579f5b56e89c44ad508805f742601ce3db2b1
      https://github.com/llvm/llvm-project/commit/44c579f5b56e89c44ad508805f742601ce3db2b1
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-user-not-min.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with minbitwidth operand, but not a user.


  Commit: 27d7bb861613a09e852b7d9979a1b6fdfe517a84
      https://github.com/llvm/llvm-project/commit/27d7bb861613a09e852b7d9979a1b6fdfe517a84
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fileop_test.cpp

  Log Message:
  -----------
  [libc] fix up fileno tests (#85660)

Fixes #85628


  Commit: c48d8182f172ac24244d5fb038b7ab983f67def4
      https://github.com/llvm/llvm-project/commit/c48d8182f172ac24244d5fb038b7ab983f67def4
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td

  Log Message:
  -----------
  [RISCV] Add SiFiveP600Model SchedModel that is used by sifive-p670 (#84962)

This PR includes an initial scheduler model shows improvement on
multiple workloads over NoSchedModel and SiFive7Model for sifive-p670.
We plan on making significant changes to this model in the future so
that it is more accurate. This patch would close
https://github.com/llvm/llvm-project/pull/80612.


  Commit: e5f2ed37e58d5d3e8d8ab8a688ed9fadcd665083
      https://github.com/llvm/llvm-project/commit/e5f2ed37e58d5d3e8d8ab8a688ed9fadcd665083
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Add IMinMax sched resources to P600SchedModel

CI checks were passing in #84962 (c48d8182f172ac24244d5fb038b7ab983f67def4) but
that commit caused failures once merged due to ships passing since the
PR was not rebased on #85131. This commit fixes this problem by adding
sched resources for integer min max instructions from Zbb in P600 model.


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp

  Log Message:
  -----------
  [flang][NFC] Fix include style (#85655)


  Commit: 457f762651e331341872abccbb7d7724c89cbf50
      https://github.com/llvm/llvm-project/commit/457f762651e331341872abccbb7d7724c89cbf50
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [cmake] Disable FatLTO in clang build for Fuchsia (#85677)

We're seeing an issue on Macs, which shouldn't be using this config, so
we will temporarily disable this while we investigate.


  Commit: 1261c02be4829984f025f258f3717277d04a8332
      https://github.com/llvm/llvm-project/commit/1261c02be4829984f025f258f3717277d04a8332
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/Transforms/LICM/expr-reassociate-int.ll

  Log Message:
  -----------
  [LICM] Drop nsw/nuw flags on affected instructions in hoistMulAddAssociation. (#85486)

Since we are introducing new multiplies earlier in the arithmetic, the
nsw/nuw flags on later instructions are no longer accurate.

Fixes #85457.


  Commit: 7d55b916a5e5091ff21d6fea4aaa54efe73535a7
      https://github.com/llvm/llvm-project/commit/7d55b916a5e5091ff21d6fea4aaa54efe73535a7
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
    A mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x128_stride_noswizzle.mlir

  Log Message:
  -----------
  [mlir][nvgpu] Support strided memref when creating TMA descriptor (#85652)


  Commit: 6800f422c22ffd672b1e31f0d0a3fa29d19b7a13
      https://github.com/llvm/llvm-project/commit/6800f422c22ffd672b1e31f0d0a3fa29d19b7a13
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M lld/MachO/ObjC.cpp

  Log Message:
  -----------
  [lld] Fix warnings

This patch fixes:

  lld/MachO/ObjC.cpp:633:12: error: unused variable 'expectedListSize'
  [-Werror,-Wunused-variable]

  lld/MachO/ObjC.cpp:1034:12: error: unused variable 'newCatDef'
  [-Werror,-Wunused-variable]


  Commit: 20f5bcfb1a3b58c430a5df6dd837b30c22a2b788
      https://github.com/llvm/llvm-project/commit/20f5bcfb1a3b58c430a5df6dd837b30c22a2b788
  Author: nicebert <110385235+nicebert at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M openmp/libomptarget/include/OpenMP/Mapping.h
    M openmp/libomptarget/include/Shared/Debug.h
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/src/OpenMP/API.cpp
    M openmp/libomptarget/src/OpenMP/Mapping.cpp
    M openmp/libomptarget/src/exports
    A openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp
    M openmp/runtime/src/include/omp.h.var

  Log Message:
  -----------
  [OpenMP] Add OpenMP extension API to dump mapping tables (#85381)

This adds an API call ompx_dump_mapping_tables.
This allows users to debug the mapping tables and can be especially
useful for unified shared memory applications to check if the code
behaves in the way it should. The implementation reuses code already
present to dump mapping tables (in a debug setting).

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: 8578b6e9120cb2fc8a7fc102587d617144c35532
      https://github.com/llvm/llvm-project/commit/8578b6e9120cb2fc8a7fc102587d617144c35532
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [VPlan] Store VPlan directly in VPRecipeBuilder (NFCI).

Instead of passing VPlan in a number of places, just store it directly
in VPRecipeBuilder. A single instance is only used for a single VPlan.

This simplifies the code and was suggested by @nikolaypanchenko in
https://github.com/llvm/llvm-project/pull/84464.


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

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

  Log Message:
  -----------
  Revert "[RemoveDIs] Enable direct-to-bitcode writing by default"

This reverts commit e419084da7a00b269368aeb95698e0d36b24e8ec.

Likely cause of buildbot failure:
https://lab.llvm.org/buildbot/#/builders/179/builds/9629


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

  Changed paths:
    M libc/config/gpu/entrypoints.txt

  Log Message:
  -----------
  [libc] Remove fileno from GPU entrypoints


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

  Changed paths:
    M clang/www/get_started.html
    M openmp/docs/SupportAndFAQ.rst

  Log Message:
  -----------
  [docs] Prefer --gcc-install-dir= to deprecated GCC_INSTALL_PREFIX (#85458)

Setting GCC_INSTALL_PREFIX leads to a warning (#77537).

Link:
https://discourse.llvm.org/t/add-gcc-install-dir-deprecate-gcc-toolchain-and-remove-gcc-install-prefix/65091
Link:
https://discourse.llvm.org/t/correct-cmake-parameters-for-building-clang-and-lld-for-riscv/72833


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

  Changed paths:
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/test/Transforms/HotColdSplit/outline-disjoint-diamonds.ll
    M llvm/test/Transforms/IROutliner/outlining-no-return-functions.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.globals.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.globals.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.globals.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.globals.expected

  Log Message:
  -----------
  [CodeExtractor] Terminate callsite blocks to new `noreturn` functions with `unreachable`

Since some of the users of `CodeExtractor` like `HotColdSplitting` run
late in the pipeline, returns are not cleaned to `unreachable`. So,
just emit `unreachable` directly if the function is `noreturn`.

Closes #84682


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

  Changed paths:
    M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll

  Log Message:
  -----------
  [InstSimply] Add tests for simplify `(fmul -x, +/-0)`; NFC


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

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll

  Log Message:
  -----------
  [InstSimply] Simplify `(fmul -x, +/-0)` -> `-/+0`

We already handle the `+x` case, and noticed it was missing in the bug
affecting #82555

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

Closes #85345


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

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryLocation.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

  Log Message:
  -----------
  [CodeGen] More uses of LocationSize::beforeOrAfterPointer().

As an extension to #84751, this adds some extra uses of beforeOrAfterPointer()
instead of UnknownSize.


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

  Changed paths:
    M lld/ELF/InputSection.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h

  Log Message:
  -----------
  [ELF] Change getSymbolIndex to use const reference. NFC


  Commit: 0007d7eac9367d184df173a0b7450dfdaaf8a551
      https://github.com/llvm/llvm-project/commit/0007d7eac9367d184df173a0b7450dfdaaf8a551
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M flang/include/flang/Common/visit.h

  Log Message:
  -----------
  [flang] Reduce recursion in common::visit (#85483)

This patch yields small speed-ups in compiler build and execution times,
but more importantly, reduces the stack depth needed in a build
environment where tail call optimization does not appear to occur.


  Commit: 606a997a3cb83437e1aeef9fee55144863b0ad76
      https://github.com/llvm/llvm-project/commit/606a997a3cb83437e1aeef9fee55144863b0ad76
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M flang/include/flang/Evaluate/real.h
    M flang/test/Evaluate/fold-scale.f90

  Log Message:
  -----------
  [flang] Fix SCALE() folding with big scale factors (#85576)

The folding of the SCALE() intrinsic function is implemented via
multiplication by a power of two; this simplifies handling of
exceptional cases. But sometimes scaling by a power of two requires an
exponent larger or smaller than a floating-point format can represent,
and two multiplications are required.


  Commit: 7eb5d4fc129a9b99b4dfe8f84507a08a72b55ecf
      https://github.com/llvm/llvm-project/commit/7eb5d4fc129a9b99b4dfe8f84507a08a72b55ecf
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M flang/runtime/edit-input.cpp
    M flang/unittests/Runtime/NumericalFormatTest.cpp

  Log Message:
  -----------
  [flang][runtime] Round hex REAL input correctly with excess digits (#85587)

Excess hexadecimal digits were too significant for rounding purposes,
leading to inappropriate rounding away from zero for some modes.


  Commit: 53e8d501e2653f416bea9ddf2687bb0aff0c9e46
      https://github.com/llvm/llvm-project/commit/53e8d501e2653f416bea9ddf2687bb0aff0c9e46
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

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

  Log Message:
  -----------
  [flang] Catch inappropriate attributes for PARAMETERs (#85588)

There's several symbol attributes that cannot be applied to named
constants, but that weren't being checked.


  Commit: d0d9839b146692160aa3e0efed86faefde949f49
      https://github.com/llvm/llvm-project/commit/d0d9839b146692160aa3e0efed86faefde949f49
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/data-to-inits.cpp

  Log Message:
  -----------
  [flang] Fix crash on erroneous program (#85615) (#85659)

Replace a pointer that should never be null with a reference argument so
that it's always defined.

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


  Commit: 5d56b34807e0f6e7a6684e57bec7c1751778862c
      https://github.com/llvm/llvm-project/commit/5d56b34807e0f6e7a6684e57bec7c1751778862c
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libc/fuzzing/CMakeLists.txt
    M libc/fuzzing/math/RemQuoDiff.h
    M libc/fuzzing/math/SingleInputSingleOutputDiff.h
    M libc/fuzzing/math/TwoInputSingleOutputDiff.h
    M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
    M libc/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/UnitTest/FPMatcher.h
    M libc/test/src/__support/uint_test.cpp
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/CeilTest.h
    M libc/test/src/math/CopySignTest.h
    M libc/test/src/math/FAbsTest.h
    M libc/test/src/math/FDimTest.h
    M libc/test/src/math/FMaxTest.h
    M libc/test/src/math/FMinTest.h
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/FloorTest.h
    M libc/test/src/math/FrexpTest.h
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/ILogbTest.h
    M libc/test/src/math/LdExpTest.h
    M libc/test/src/math/LogbTest.h
    M libc/test/src/math/ModfTest.h
    M libc/test/src/math/NextAfterTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/SqrtTest.h
    M libc/test/src/math/TruncTest.h
    M libc/test/src/math/acosf_test.cpp
    M libc/test/src/math/acoshf_test.cpp
    M libc/test/src/math/asinf_test.cpp
    M libc/test/src/math/asinhf_test.cpp
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/atanhf_test.cpp
    M libc/test/src/math/cos_test.cpp
    M libc/test/src/math/cosf_test.cpp
    M libc/test/src/math/coshf_test.cpp
    M libc/test/src/math/erff_test.cpp
    M libc/test/src/math/exhaustive/CMakeLists.txt
    M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
    M libc/test/src/math/exp10_test.cpp
    M libc/test/src/math/exp10f_test.cpp
    M libc/test/src/math/exp2_test.cpp
    M libc/test/src/math/exp2f_test.cpp
    M libc/test/src/math/exp_test.cpp
    M libc/test/src/math/expf_test.cpp
    M libc/test/src/math/explogxf_test.cpp
    M libc/test/src/math/expm1_test.cpp
    M libc/test/src/math/expm1f_test.cpp
    M libc/test/src/math/fdim_test.cpp
    M libc/test/src/math/fdimf_test.cpp
    M libc/test/src/math/fdiml_test.cpp
    M libc/test/src/math/ilogb_test.cpp
    M libc/test/src/math/ilogbf_test.cpp
    M libc/test/src/math/ilogbl_test.cpp
    M libc/test/src/math/inv_trigf_utils_test.cpp
    M libc/test/src/math/log10_test.cpp
    M libc/test/src/math/log10f_test.cpp
    M libc/test/src/math/log1p_test.cpp
    M libc/test/src/math/log1pf_test.cpp
    M libc/test/src/math/log2_test.cpp
    M libc/test/src/math/log2f_test.cpp
    M libc/test/src/math/log_test.cpp
    M libc/test/src/math/logf_test.cpp
    M libc/test/src/math/powf_test.cpp
    M libc/test/src/math/sin_test.cpp
    M libc/test/src/math/sincosf_test.cpp
    M libc/test/src/math/sinf_test.cpp
    M libc/test/src/math/sinhf_test.cpp
    M libc/test/src/math/smoke/CeilTest.h
    M libc/test/src/math/smoke/CopySignTest.h
    M libc/test/src/math/smoke/FAbsTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/FloorTest.h
    M libc/test/src/math/smoke/HypotTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/RemQuoTest.h
    M libc/test/src/math/smoke/RoundTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/SqrtTest.h
    M libc/test/src/math/smoke/TruncTest.h
    M libc/test/src/math/smoke/acosf_test.cpp
    M libc/test/src/math/smoke/acoshf_test.cpp
    M libc/test/src/math/smoke/asinf_test.cpp
    M libc/test/src/math/smoke/asinhf_test.cpp
    M libc/test/src/math/smoke/atanf_test.cpp
    M libc/test/src/math/smoke/atanhf_test.cpp
    M libc/test/src/math/smoke/cosf_test.cpp
    M libc/test/src/math/smoke/coshf_test.cpp
    M libc/test/src/math/smoke/erff_test.cpp
    M libc/test/src/math/smoke/exp10_test.cpp
    M libc/test/src/math/smoke/exp10f_test.cpp
    M libc/test/src/math/smoke/exp2_test.cpp
    M libc/test/src/math/smoke/exp2f_test.cpp
    M libc/test/src/math/smoke/exp_test.cpp
    M libc/test/src/math/smoke/expf_test.cpp
    M libc/test/src/math/smoke/expm1_test.cpp
    M libc/test/src/math/smoke/expm1f_test.cpp
    M libc/test/src/math/smoke/log10_test.cpp
    M libc/test/src/math/smoke/log10f_test.cpp
    M libc/test/src/math/smoke/log1p_test.cpp
    M libc/test/src/math/smoke/log1pf_test.cpp
    M libc/test/src/math/smoke/log2_test.cpp
    M libc/test/src/math/smoke/log2f_test.cpp
    M libc/test/src/math/smoke/log_test.cpp
    M libc/test/src/math/smoke/logf_test.cpp
    M libc/test/src/math/smoke/powf_test.cpp
    M libc/test/src/math/smoke/sincosf_test.cpp
    M libc/test/src/math/smoke/sinf_test.cpp
    M libc/test/src/math/smoke/sinhf_test.cpp
    M libc/test/src/math/smoke/tanf_test.cpp
    M libc/test/src/math/smoke/tanhf_test.cpp
    M libc/test/src/math/tan_test.cpp
    M libc/test/src/math/tanf_test.cpp
    M libc/test/src/math/tanhf_test.cpp
    M libc/test/utils/FPUtil/x86_long_double_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    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
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl

  Log Message:
  -----------
  [libc] Remove direct math.h includes (#85324)

Reland of #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: 8b8e1adbdecd5f37ebcaa8d4fdf333962f7a0eb7
      https://github.com/llvm/llvm-project/commit/8b8e1adbdecd5f37ebcaa8d4fdf333962f7a0eb7
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCInstrP10.td
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
    M llvm/lib/Target/SystemZ/SystemZInstrHFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/SystemZ/SystemZPatterns.td
    M llvm/lib/Target/VE/VEInstrInfo.td
    M llvm/test/CodeGen/SystemZ/atomic-load-06.ll
    A llvm/test/CodeGen/SystemZ/atomic-memops-fp128.ll
    A llvm/test/CodeGen/SystemZ/atomic-memops.ll
    M llvm/test/CodeGen/SystemZ/atomic-store-06.ll

  Log Message:
  -----------
  [SystemZ] Don't lower ATOMIC_LOAD/STORE to LOAD/STORE (#75879)

- Instead of lowering float/double ISD::ATOMIC_LOAD / ISD::ATOMIC_STORE
nodes to regular LOAD/STORE nodes, make them legal and select those nodes
properly instead. This avoids exposing them to the DAGCombiner.

- AtomicExpand pass no longer casts float/double atomic load/stores to integer
  (FP128 is still casted).


  Commit: 65d444b9edb895443754c13d9c008af180eb5c71
      https://github.com/llvm/llvm-project/commit/65d444b9edb895443754c13d9c008af180eb5c71
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp

  Log Message:
  -----------
  [lldb][nfc] Factor out repeated code in DWIM Print (#85669)

The code that prints ValueObjects is duplicated across two different
cases of the dwim-print command, and a subsequent commit will add a
third case. As such, this commit factors out the common code into a
lambda. A free function was considered, but there is too much
function-local context required in that.

We also reword some of the comments so that they stop counting cases,
making it easier to add other cases later.


  Commit: 7459f7247312f7035281062be9fc3d2bcde4bfc0
      https://github.com/llvm/llvm-project/commit/7459f7247312f7035281062be9fc3d2bcde4bfc0
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/VTuneSharedStructs.h

  Log Message:
  -----------
  Add missing includes (to fix the modules build)


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

  Changed paths:
    M lld/test/ELF/pack-dyn-relocs-arm2.s
    M lld/test/ELF/pack-dyn-relocs.s

  Log Message:
  -----------
  [ELF] Improve --pack-dyn-relocs tests for Android and RELR


  Commit: e0b19e957e0ef9b4d88e09c44d6499d931328ecc
      https://github.com/llvm/llvm-project/commit/e0b19e957e0ef9b4d88e09c44d6499d931328ecc
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M mlir/lib/Interfaces/ViewLikeInterface.cpp

  Log Message:
  -----------
  [MLIR] Remove unused implicit capture in the lambda (NFC)

This lambda does not capture anything, the `&` is just misleading.


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

  Changed paths:
    M bolt/lib/Core/DebugNames.cpp
    A bolt/test/X86/dwarf5-debug-names-dw-at-specification.s
    M bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
    M bolt/test/X86/dwarf5-debug-names.test
    M bolt/test/X86/dwarf5-one-cu-debug-names.test

  Log Message:
  -----------
  [BOLT][DWARF] Add support to debug_names for DW_AT_abstract_origin/DW_AT_specification (#85485)

According to the DWARF spec a DIE that has DW_AT_specification or
DW_AT_abstract_origin can be part of .debug_name if a DIE those
attribute points to has DW_AT_name or DW_AT_linkage_name.


  Commit: 7ef1a59ed1ca176cf3c38672fe1d3f49c1758e49
      https://github.com/llvm/llvm-project/commit/7ef1a59ed1ca176cf3c38672fe1d3f49c1758e49
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_checks.h

  Log Message:
  -----------
  remove incorrect DCHECK

this DCHECK was not valid for hwasan_load1, and was not necessary for
the. the function is written without any assumptions of alignment of the
pointer.


  Commit: 715a931864eff4021463d40b73ef4b1b63959f3f
      https://github.com/llvm/llvm-project/commit/715a931864eff4021463d40b73ef4b1b63959f3f
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M libc/spec/posix.td

  Log Message:
  -----------
  [libc] Added tablegen definition for fileno (#85682)

This was missed in the previous PR. Updating tablegen definition with this PR.


  Commit: f4e90e3f3c02a94a17bd8fe6ad18dbb46f92d027
      https://github.com/llvm/llvm-project/commit/f4e90e3f3c02a94a17bd8fe6ad18dbb46f92d027
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M flang/runtime/freestanding-tools.h
    M flang/runtime/numeric-templates.h
    M flang/runtime/tools.cpp
    M flang/runtime/tools.h

  Log Message:
  -----------
  [flang][runtime] Get rid of warnings in F18 runtime CUDA build. (#85488)


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

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/lib/msan/tests/CMakeLists.txt
    M compiler-rt/test/asan_abi/CMakeLists.txt
    M compiler-rt/test/fuzzer/CMakeLists.txt
    M compiler-rt/test/memprof/CMakeLists.txt
    M compiler-rt/test/msan/CMakeLists.txt
    M compiler-rt/test/ubsan/CMakeLists.txt
    M compiler-rt/test/xray/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Don't check COMPILER_RT_STANDALONE_BUILD for test deps

With https://github.com/llvm/llvm-project/pull/83088, we now need the
runtimes to be built before running test if
COMPILER_RT_TEST_STANDALONE_BUILD_LIBS is true, since otherwise we
get failures running `ninja check-all` such as the following:
```
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.fuzzer-x86_64.a: No such file or directory
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.xray-x86_64.a: No such file or directory
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.xray-basic-x86_64.a: No such file or directory
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.xray-fdr-x86_64.a: No such file or directory
```

This is a follow-up to 058e9b03 which started removing these checks
and it should make it easier to stop forcing COMPILER_RT_STANDALONE_BUILD
for runtimes builds in the future.

Reviewed By: vitalybuka

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


  Commit: 2e6b18b3f3924d150c8837175938e76c3402f83f
      https://github.com/llvm/llvm-project/commit/2e6b18b3f3924d150c8837175938e76c3402f83f
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir

  Log Message:
  -----------
  [mlir][sparse] add example to new operation doc, and roundtrip test (#85711)


  Commit: 42c38b1cc5c1b216f4bd18c39b82fcd64ca20b90
      https://github.com/llvm/llvm-project/commit/42c38b1cc5c1b216f4bd18c39b82fcd64ca20b90
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp

  Log Message:
  -----------
  [mlir][sparse] deallocate temporary transposed tensor (#85720)

Last resort resolution of cycles introduced a sparse conversion without
explicit sparse deallocation (which is not inserted by any automatic
means). This fixes 2 out of 5 remaining asan detected leaks in sparse
integration tests.


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

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-module-use.cuf

  Log Message:
  -----------
  [flang][cuda] Add proper TODO for cuda fortran assignment (#85705)

Data transfer between host and device can be done with assignment
statements in CUDA Fortran. This is currently not lowered so adding a
proper TODO.


https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-data-trans-assgn-statemts


  Commit: 6ae77eca6ceb17033eb58440038e620eba1c6f51
      https://github.com/llvm/llvm-project/commit/6ae77eca6ceb17033eb58440038e620eba1c6f51
  Author: Kyungwoo Lee <kyulee at fb.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M lld/MachO/ObjC.cpp

  Log Message:
  -----------
  Revert "[lld] Fix warnings"

This reverts commit 6800f422c22ffd672b1e31f0d0a3fa29d19b7a13 as the part of revert https://github.com/llvm/llvm-project/pull/82928.

buildbot failures: https://lab.llvm.org/buildbot/#/builders/168/builds/19302/steps/10/logs/stdio


  Commit: 5373daad9492e157c0c1ad496334f5dfd78d7da0
      https://github.com/llvm/llvm-project/commit/5373daad9492e157c0c1ad496334f5dfd78d7da0
  Author: Kyungwoo Lee <kyulee at fb.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/ObjC.h
    M lld/MachO/Options.td
    R lld/test/MachO/objc-category-merging-complete-test.s
    R lld/test/MachO/objc-category-merging-extern-class-minimal.s

  Log Message:
  -----------
  Revert "[lld-macho] Implement ObjC category merging (-objc_category_merging) (#82928)"

This reverts commit ece2903ce730392e5236d27f1f387fa8067fcb1b, https://github.com/llvm/llvm-project/pull/82928.

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


  Commit: d66121d74a458e098511b9de920d815440acaa1b
      https://github.com/llvm/llvm-project/commit/d66121d74a458e098511b9de920d815440acaa1b
  Author: Alex Crichton <alex at alexcrichton.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h
    M clang/test/Driver/wasm-toolchain.c

  Log Message:
  -----------
  [WebAssembly] Change the default linker for `wasm32-wasip2` (#84569)

This commit changes the default linker in the WebAssembly toolchain for
the `wasm32-wasip2` target. This target is being added to the
WebAssembly/wasi-sdk and WebAssembly/wasi-libc projects to target the
Component Model by default, in contrast with the preexisting
`wasm32-wasi` target (in the process of being renamed to
`wasm32-wasip1`) which outputs a core WebAssembly module by default.

The `wasm-component-ld` project currently lives in my GitHub account at
https://github.com/alexcrichton/wasm-component-ld and isn't necessarily
"official" yet, but it's expected to continue to evolve as the
`wasm32-wasip2` target continues to shape up and evolve.


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

  Changed paths:
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/inv_trigf_utils.cpp
    M libc/src/math/generic/inv_trigf_utils.h
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/exhaustive/atanf_test.cpp
    R libc/test/src/math/inv_trigf_utils_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Improve atanf performance. (#85463)

Simplify the range reduction logic and computations. Performance test
using `perf.sh` from CORE-MATH project on Ryzen 5900X:

Before:
```
$ ./perf.sh atanf --rdtsc --path1
LIBC-location: /home/lnt/experiment/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 14.369 + 0.556 clc/call; Median-Min = 0.613 clc/call; Max = 15.061 clc/call;
-- System LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 26.180 + 0.015 clc/call; Median-Min = 0.014 clc/call; Max = 26.260 clc/call;
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 21.237 + 0.022 clc/call; Median-Min = 0.020 clc/call; Max = 21.272 clc/call;

$ ./perf.sh atanf --rdtsc --path1 --latency
LIBC-location: /home/lnt/experiment/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH latency --
[####################] 100 %
Ntrial = 20 ; Min = 50.505 + 0.045 clc/call; Median-Min = 0.037 clc/call; Max = 50.579 clc/call;
-- System LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 62.438 + 0.836 clc/call; Median-Min = 0.049 clc/call; Max = 64.498 clc/call;
-- LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 67.781 + 0.546 clc/call; Median-Min = 0.028 clc/call; Max = 68.844 clc/call;
```

After:
```
$ ./perf.sh atanf --rdtsc --path2
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 14.400 + 0.353 clc/call; Median-Min = 0.404 clc/call; Max = 14.863 clc/call;
-- System LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 25.247 + 0.783 clc/call; Median-Min = 0.714 clc/call; Max = 26.238 clc/call;
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 13.751 + 0.158 clc/call; Median-Min = 0.140 clc/call; Max = 14.006 clc/call;

$ ./perf.sh atanf --rdtsc --path2 --latency
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH latency --
[####################] 100 %
Ntrial = 20 ; Min = 51.837 + 0.073 clc/call; Median-Min = 0.058 clc/call; Max = 52.000 clc/call;
-- System LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 62.487 + 1.878 clc/call; Median-Min = 1.965 clc/call; Max = 64.569 clc/call;
OK
-- LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 55.414 + 1.312 clc/call; Median-Min = 0.345 clc/call; Max = 58.362 clc/call;
```


  Commit: a5f576e5961ecc099bd7ccf8565da090edc84b0d
      https://github.com/llvm/llvm-project/commit/a5f576e5961ecc099bd7ccf8565da090edc84b0d
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/check-do-forall.cpp
    A flang/test/Semantics/forall02.f90

  Log Message:
  -----------
  [flang] Diagnose calling impure final procedure due to finalization in FORALL (#85685)

This patch checks the LHS of an assignment in a FORALL loop and
diagnoses if any impure final procedure is called.


  Commit: aec50cd840418097e8eeb4bd5d0672c95c08d1ec
      https://github.com/llvm/llvm-project/commit/aec50cd840418097e8eeb4bd5d0672c95c08d1ec
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test

  Log Message:
  -----------
  [NFC] Disable llvm-objdump test on AIX

After commit 9d5edfde5c3dbc4eb559d316e82e664f291fc2bf the test is failing on the AIX bot. XFAIL for now to unblock the bot and give time to investigate.


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf

  Log Message:
  -----------
  [flang][cuda] Handle lowering of stars in cuf kernel launch parameters (#85695)

Parsing of the cuf kernel loop directive has been updated to handle
variants with the * syntax. This patch updates the lowering to make use
of them.

- If the grid or block syntax uses only stars then the operation
variadic operand remains empty.
- If there is values and stars, then stars are represented as a zero
constant value.


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

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

  Log Message:
  -----------
  [clang-format] Put erroneously removed braces back into a unit test

See https://github.com/llvm/llvm-project/pull/85470#discussion_r1528904789


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

  Changed paths:
    M libc/src/math/generic/inv_trigf_utils.h

  Log Message:
  -----------
  [libc] Remove constexpr from atan_eval and asin_eval. (#85725)

Fix aarch64 and gcc full build bots:
https://lab.llvm.org/buildbot/#/builders/223/builds/38235/steps/4/logs/stdio


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalMerge.cpp

  Log Message:
  -----------
  [GlobalMerge] Use vector::assign in place of fill+resize. NFC (#85723)

Noticed while reviewing the code.

If the resize causes a new allocation, this will fill the new allocation
with zeroes directly. Previously, we would fill the old allocation with
zeroes, then copy them to the new allocation before filling the
additional space with zeros.


  Commit: 924a1dceb59944fa9051acbbb7d2daac129ee0ef
      https://github.com/llvm/llvm-project/commit/924a1dceb59944fa9051acbbb7d2daac129ee0ef
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Assembler/debug-info.ll
    A llvm/test/DebugInfo/AArch64/ptrauth.ll
    M llvm/unittests/IR/MetadataTest.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp

  Log Message:
  -----------
  [Dwarf] Support `__ptrauth` qualifier in metadata nodes (#83862)

Reland #82363 after fixing build failure
https://lab.llvm.org/buildbot/#/builders/5/builds/41428.

Memory sanitizer detects usage of `RawData` union member which is not
filled directly. Instead, the code relies on filling `Data` union
member, which is a struct consisting of signing schema parameters.

According to https://en.cppreference.com/w/cpp/language/union, this is
UB:
"It is undefined behavior to read from the member of the union that
wasn't most recently written".

Instead of relying on compiler allowing us to do dirty things, do not
use union and only store `RawData`. Particular ptrauth parameters are
obtained on demand via bit operations.

Original PR description below.

Emit `__ptrauth`-qualified types as `DIDerivedType` metadata nodes in IR
with tag `DW_TAG_LLVM_ptrauth_type`, baseType referring to the type
which has the qualifier applied, and the following parameters
representing the signing schema:

- `ptrAuthKey` (integer)
- `ptrAuthIsAddressDiscriminated` (boolean)
- `ptrAuthExtraDiscriminator` (integer)
- `ptrAuthIsaPointer` (boolean)
- `ptrAuthAuthenticatesNullValues` (boolean)

Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>


  Commit: ff60a84f04b4d8af63d581d4f9dd7ab0196a200e
      https://github.com/llvm/llvm-project/commit/ff60a84f04b4d8af63d581d4f9dd7ab0196a200e
  Author: Malay Sanghi <malay.sanghi at intel.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h

  Log Message:
  -----------
  Convert copy to r-value reference. (#85606)

That seems to be the intention based on calling code.


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

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir

  Log Message:
  -----------
  [mlir][sparse] Fix memory leaks (part 4) (#85729)

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).

This commit fixes the remaining memory leaks in the MLIR test suite.
`check-mlir` now passes when built with ASAN.


  Commit: cb2ca23345d3d9bde027a18d301949e8bdf606a6
      https://github.com/llvm/llvm-project/commit/cb2ca23345d3d9bde027a18d301949e8bdf606a6
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710)

This reverts the changes from 91a384621e5b762d9c173ffd247cfeadd5f436a2
for Windows targets. The changes in that commit don't work as expected
for Windows targets (those parts of llvm_add_library don't quite behave
the same for Windows), while the previous status quo (producing a
library named "libLLVM-<major>.dll") is the defacto standard way of
doing versioned library names there, contrary to on Unix.

After that commit, the library always ended up named "libLLVM.dll",
executables linking against it would reference "libLLVM.dll", and
"libLLVM-<major>.dll" was provided as a symlink.

Thus revert this bit back to as it were, so that executables actually
link against a versioned libLLVM, and no separate symlink is needed.

The only thing that might be improved compared to the status quo as it
was before these changes, is that the import library is named
"lib/libLLVM-<major>.dll.a", while the common style would be to name it
plainly "lib/libLLVM.dll.a" (even while it produces references to
"libLLVM-<major>.dll", but none of these had that effect for Windows
targets.

(As a side note, the llvm-shlib library can be built for MinGW, but not
currently in MSVC configurations.)


  Commit: f0a5e5055029e9ab1c49a8580f09fa4c0e172ee1
      https://github.com/llvm/llvm-project/commit/f0a5e5055029e9ab1c49a8580f09fa4c0e172ee1
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll

  Log Message:
  -----------
  [llvm][NVPTX] Add missing feature guard.


  Commit: 110f630105aed0670d82427fea55afbabc4a94c4
      https://github.com/llvm/llvm-project/commit/110f630105aed0670d82427fea55afbabc4a94c4
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [KnownBits] Remove useless lambdas from unit test


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

  Changed paths:
    M llvm/test/TableGen/MacroFusion.td

  Log Message:
  -----------
  [MacroFusion] Complete tests and fix indents


  Commit: 59ff3adcc1310e22ab31163767e49b4edb20c6b4
      https://github.com/llvm/llvm-project/commit/59ff3adcc1310e22ab31163767e49b4edb20c6b4
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    A clang/include/clang/Analysis/FlowSensitive/AdornedCFG.h
    M clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/Logger.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
    A clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    R clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/Logger.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
    M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp

  Log Message:
  -----------
  [clang][dataflow][NFC] Rename `ControlFlowContext` to `AdornedCFG`. (#85640)

This expresses better what the class actually does, and it reduces the
number of
`Context`s that we have in the codebase.

A deprecated alias `ControlFlowContext` is available from the old
header.


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

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 59ff3adcc131


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

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
    M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Model assignment to derived class from base. (#85064)

This is a relatively rare case, but

- It's still nice to get this right,
- We can remove the special case for this in
`VisitCXXOperatorCallExpr()` (that
  simply bails out), and
- With this in place, I can avoid having to add a similar special case
in an
  upcoming patch.


  Commit: 5e486d17d4793e5114245b9a04a566ef45ffb21b
      https://github.com/llvm/llvm-project/commit/5e486d17d4793e5114245b9a04a566ef45ffb21b
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    A llvm/include/llvm/Target/TargetMacroFusion.td
    M llvm/include/llvm/Target/TargetSchedule.td

  Log Message:
  -----------
  [TableGen][NFC] Move MacroFusion classes to TargetMacroFusion.td

To make structure clear.

Reviewers: dtcxzyw, arsenm

Reviewed By: arsenm

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


  Commit: 703920d4138d02bde4f4bf70ba809b63bef25c37
      https://github.com/llvm/llvm-project/commit/703920d4138d02bde4f4bf70ba809b63bef25c37
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [DAG] Matched FixedWidth pattern for ISD::AVGFLOORU (#84903)

Fixes: #84749


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Sanitize collectBaseOffset parameters


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/fpcast.ll

  Log Message:
  -----------
  [InstCombine] Fold `fpto{s|u}i non-norm` to zero (#85569)

This patch enables more optimization after canonicalizing `fmul X, 0.0`
into a copysign.
I decide to implement this fold in InstCombine because
`computeKnownFPClass` may be expensive.

Alive2: https://alive2.llvm.org/ce/z/ASM8tQ


  Commit: 1a6953a75d3120a4f9196911e6a6b79fcc315553
      https://github.com/llvm/llvm-project/commit/1a6953a75d3120a4f9196911e6a6b79fcc315553
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll

  Log Message:
  -----------
  ValueTracking: Fix bug with fcmp false to nan constant

If we had a comparison to a literal nan with a false predicate,
we were incorrectly treating it as an unordered compare. This was
correct for fcmp true, but not fcmp false. I noticed this in the
review for e44d3b3e503fa12fdaead2936b28844aa36237c1 but misdiagnosed
the reason. Also change the test for the fcmp true case to be more
useful, but it wasn't wrong previously.


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

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

  Log Message:
  -----------
  [clang][Interp][NFC] Add InterpFrame::dump()


  Commit: 29849d589c1969f6a07a69ef0d7a19896d358bc5
      https://github.com/llvm/llvm-project/commit/29849d589c1969f6a07a69ef0d7a19896d358bc5
  Author: nicebert <110385235+nicebert at users.noreply.github.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp

  Log Message:
  -----------
  [OpenMP] Fix ompx_dump_mapping_tables lit test (#85754)

Fixes ompx_dump_mapping_tables test by only using one device after
breaking built bots


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

  Changed paths:
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp

  Log Message:
  -----------
  [mlir][bufferization] Check OpFilter before casting to BufferizableOpInterface (#85690)

This doesn't change functionality, but lets us avoid attaching all the
interfaces after 513cdb82223a106f183b49a40d9acb1f7efbbe7e turned casting
without loading into an error.


  Commit: 5e379b63fcd942017593d278c8c2313744413904
      https://github.com/llvm/llvm-project/commit/5e379b63fcd942017593d278c8c2313744413904
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU][PromoteAlloca] Drop bitcast handling (#85747)

This is no longer needed with opaque pointers.


  Commit: a4b23638d23d603001c19285a7c7535a8ce81317
      https://github.com/llvm/llvm-project/commit/a4b23638d23d603001c19285a7c7535a8ce81317
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M mlir/lib/IR/AffineExpr.cpp
    A mlir/unittests/IR/AffineExprTest.cpp
    M mlir/unittests/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Don't assert when simplifying certain `AffineExpr`s (#78855)

Currently, `simplifyMul()` asserts that either `lhs` or `rhs` is
symbolic or constant. This method is called by the overloaded `*`
operator for `AffineExpr`s which leads to a crash when building a
multiplication expression where neither operand is symbolic or constant.
This patch returns a `nullptr` from `simplifyMul()` to signal that the
expression could not be simplified instead.

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


  Commit: e85bfa65651eb45aefc8a9233e160f27af55f894
      https://github.com/llvm/llvm-project/commit/e85bfa65651eb45aefc8a9233e160f27af55f894
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Add support for Cortex-A520AE and Cortex-A720AE CPUs (#85401)

[AArch64] Add support for Cortex-A520AE and Cortex-A720AE CPUs

Cortex-A520AE and Cortex-A720AE are Armv9.2 AArch64 CPUs.

Technical Reference Manual for Cortex-A520AE:
   https://developer.arm.com/documentation/107726/latest/

Technical Reference Manual for Cortex-A720AE:
   https://developer.arm.com/documentation/102828/latest/


  Commit: 29cde04c3972a54efeb6d09b1580b275f39c315a
      https://github.com/llvm/llvm-project/commit/29cde04c3972a54efeb6d09b1580b275f39c315a
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h

  Log Message:
  -----------
  [clang-format] Fixed the warning in building document for TableGenBreakingDAGArgOperators. (#85760)

Intend to fix the `Test documentation build `, degraded here
https://github.com/llvm/llvm-project/pull/83149 .


  Commit: 6bc6e1ace9fa8453e164fa04b5d9acd5a77e089a
      https://github.com/llvm/llvm-project/commit/6bc6e1ace9fa8453e164fa04b5d9acd5a77e089a
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [tsan][test] Switch setitimer(ITIMER_REAL, ...) to setitimer(ITIMER_VIRTUAL, ...)

Followup to #85188.


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

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/int-usub-12.ll
    M llvm/test/CodeGen/SystemZ/int-usub-13.ll

  Log Message:
  -----------
  Fix overflow flag for i128 USUBO

We use the VSCBIQ/VSBIQ/VSBCBIQ family of instructions to implement
USUBO/USUBO_CARRY for the i128 data type.  However, these instructions
use an inverted sense of the borrow indication flag (a value of 1
indicates *no* borrow, while a value of 0 indicated borrow).  This
does not match the semantics of the boolean "overflow" flag of the
USUBO/USUBO_CARRY ISD nodes.

Fix this by generating code to explicitly invert the flag.  These
cancel out of the result of USUBO feeds into an USUBO_CARRY.

To avoid unnecessary zero-extend operations, also improve the
DAGCombine handling of ZERO_EXTEND to optimize (zext (xor (trunc)))
sequences where appropriate.

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


  Commit: 8eee236021f72821d628ec31d8e8d1f92e7821d3
      https://github.com/llvm/llvm-project/commit/8eee236021f72821d628ec31d8e8d1f92e7821d3
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90

  Log Message:
  -----------
  [flang] Lower sequence associated argument passed by descriptor (#85696)

The current lowering did not handle sequence associated argument passed
by descriptor. This case is special because sequence association implies
that the actual and dummy argument need to to agree in rank and shape.
Usually, arguments that can be sequence associated are passed by raw
address, and the shape mistmatch is transparent. But there are three
cases of explicit and assumed-size arrays passed by descriptors:
 - polymorphic arguments
 - BIND(C) assumed-length arguments (F'2023 18.3.7 (5)).
 - length parametrized derived types (TBD)

The callee side is expecting a descriptor containing the dummy rank and
shape. This was not the case. This patch fix that by evaluating the
dummy shape on the caller side using the interface (that has to be
available when arguments are passed by descriptors).


  Commit: 9f6b6636c77ad4736c66efd0119b3be4541e9af4
      https://github.com/llvm/llvm-project/commit/9f6b6636c77ad4736c66efd0119b3be4541e9af4
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M flang/include/flang/Semantics/openmp-directive-sets.h

  Log Message:
  -----------
  [Flang][OpenMP] Complete and organize directive sets (#85219)

This patch adds a couple of new directive sets for composite constructs,
completes some of the existing ones with missing values, refactors all*
sets to always build on the corresponding top* set and reorders sets and
directives alphabetically.

No functional change intended.


  Commit: 577306133e14fc4f448b010920dc446607fcabaf
      https://github.com/llvm/llvm-project/commit/577306133e14fc4f448b010920dc446607fcabaf
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h

  Log Message:
  -----------
  [mlir][bufferization] Fix OpFilter not to crash on unloaded dialects


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

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/int-usub-12.ll
    M llvm/test/CodeGen/SystemZ/int-usub-13.ll

  Log Message:
  -----------
  Revert "Fix overflow flag for i128 USUBO"

This reverts commit d9c31ee9568277e4303715736b40925e41503596.


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

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/test/Driver/driver-help-hidden.f90
    R flang/test/Driver/flang-experimental-polymorphism-flag.f90
    M flang/test/Driver/frontend-forwarding.f90
    M flang/test/Fir/dispatch.f90
    M flang/test/HLFIR/assumed-type-actual-args.f90
    M flang/test/HLFIR/boxchar_emboxing.f90
    M flang/test/HLFIR/call_with_poly_dummy.f90
    M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
    M flang/test/Lower/HLFIR/allocatable-return.f90
    M flang/test/Lower/HLFIR/array-ctor-derived.f90
    M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
    M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
    M flang/test/Lower/HLFIR/designators-component-ref.f90
    M flang/test/Lower/HLFIR/designators-parameter-array-slice.f90
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
    M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
    M flang/test/Lower/HLFIR/function-return-as-expr.f90
    M flang/test/Lower/HLFIR/function-return-destroy.f90
    M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
    M flang/test/Lower/HLFIR/ignore-type-assumed-shape.f90
    M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
    M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
    M flang/test/Lower/HLFIR/intrinsic-assumed-type.f90
    M flang/test/Lower/HLFIR/parent-component-ref.f90
    M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
    M flang/test/Lower/HLFIR/polymorphic-expressions.f90
    M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
    M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
    M flang/test/Lower/HLFIR/select-type-selector.f90
    M flang/test/Lower/HLFIR/transpose.f90
    M flang/test/Lower/HLFIR/type-bound-call-mismatch.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    M flang/test/Lower/Intrinsics/extends_type_of.f90
    M flang/test/Lower/Intrinsics/same_type_as.f90
    M flang/test/Lower/Intrinsics/sizeof.f90
    M flang/test/Lower/Intrinsics/spread.f90
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-return.f90
    M flang/test/Lower/assumed-type.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/derived-type-finalization.f90
    M flang/test/Lower/dispatch-table.f90
    M flang/test/Lower/dispatch.f90
    M flang/test/Lower/intentout-deallocate.f90
    M flang/test/Lower/io-derived-type-2.f90
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/nullify-polymorphic.f90
    M flang/test/Lower/pass-null-for-class-arg.f90
    M flang/test/Lower/pointer-association-polymorphic.f90
    M flang/test/Lower/pointer-disassociate.f90
    M flang/test/Lower/polymorphic-temp.f90
    M flang/test/Lower/polymorphic-types.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/select-type-2.f90
    M flang/test/Lower/select-type.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang] Enable polymorphic lowering by default (#83285)

Polymorphic entity lowering status is good. The main remaining TODO is
to allow lowering of vector subscripted polymorphic entity, but this
does not deserve blocking all application using polymorphism.

Remove experimental option and enable lowering of polymorphic entity by
default.


  Commit: d671ebe46ce6bb542ab81ea120751c985f3fe4a3
      https://github.com/llvm/llvm-project/commit/d671ebe46ce6bb542ab81ea120751c985f3fe4a3
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [Flang][Lower] NFC: Replace SmallVector with more suitable alternatives (#85227)

In this patch some uses of `llvm::SmallVector` in Flang's lowering to
MLIR are replaced by other types (i.e. `llvm::ArrayRef` and
`llvm::SmallVectorImpl`) which are intended for these uses. This
generally prevents relying on always passing small vectors with a
particular number of elements in the stack.


  Commit: aeb4dd14440dd7a0f11cb9a97a733b08323f56c9
      https://github.com/llvm/llvm-project/commit/aeb4dd14440dd7a0f11cb9a97a733b08323f56c9
  Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
    M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s

  Log Message:
  -----------
  Fix macro expansion for AMDHSA_BITS_SET (#85661)

Corrects the `AMDHSA_BITS_SET` macro.


  Commit: 953c13b5c90bed1e24fe95e90137c4e226ac2d09
      https://github.com/llvm/llvm-project/commit/953c13b5c90bed1e24fe95e90137c4e226ac2d09
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    A llvm/test/CodeGen/AMDGPU/promote-alloca-scoring.ll

  Log Message:
  -----------
  [AMDGPU][PromoteAlloca] Whole-function alloca promotion to vector (#84735)

Update PromoteAllocaToVector so it considers the whole function before promoting allocas.
Allocas are scored & sorted so the highest value ones are seen first. The budget is now per function instead of per alloca.

Passed internal performance testing.


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

  Changed paths:
    M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir

  Log Message:
  -----------
  [mlir][complex] Make CPU runner test platform agnostic (#85607)


  Commit: c9bdeabdf4b46fbf1f6a9fcbf9cd61d460b18c08
      https://github.com/llvm/llvm-project/commit/c9bdeabdf4b46fbf1f6a9fcbf9cd61d460b18c08
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [tsan][test] Switch setitimer(ITIMER_REAL, ...) to setitimer(ITIMER_VIRTUAL, ...)

Followup to #85188


  Commit: 00ca80938b732ee43deb2a94bec1c7efef3025d4
      https://github.com/llvm/llvm-project/commit/00ca80938b732ee43deb2a94bec1c7efef3025d4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll

  Log Message:
  -----------
  [ConstantFold] Fix comparison between special pointer constants

This code was assuming that the LHS would always be one of
GlobalVariable, BlockAddress or ConstantExpr. However, it can
also be a special constant like dso_local_equivalent or no_cfi.
Make sure this is handled gracefully.


  Commit: 7edfbf2af2253297f48ff8adaba99373f67e8dca
      https://github.com/llvm/llvm-project/commit/7edfbf2af2253297f48ff8adaba99373f67e8dca
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp

  Log Message:
  -----------
  [lldb][DataFormatter] Fix format specifiers in LibCxxSliceArray summary provider (#85763)

This caused following warnings in an LLDB build:
```
[237/1072] Building CXX object tools/l...lusLanguage.dir/LibCxxSliceArray.cpp.o
/Volumes/Data/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp:38:53: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
   38 |   stream.Printf("stride=%" PRIu64 " size=%" PRIu64, stride, size);
      |                         ~~~~~~~~~                   ^~~~~~
/Volumes/Data/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp:38:61: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
   38 |   stream.Printf("stride=%" PRIu64 " size=%" PRIu64, stride, size);
      |                                          ~~~~~~~~~          ^~~~
2 warnings generated.
```

This patch simply changes the format specifiers to use the `%zu` for
`size_t`s.


  Commit: 078aaf1f78e5df55618b71f1fe75993e4ccb6a72
      https://github.com/llvm/llvm-project/commit/078aaf1f78e5df55618b71f1fe75993e4ccb6a72
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/MC/LoongArch/Macros/macros-li-bad.s

  Log Message:
  -----------
  [LoongArch] Add diagnostics for PseudoLI_D instruction (#85742)

Simultaneously improved diagnostic testing for the `PseudoLI_W`
instruction.


  Commit: 2f2f16f32bb2a6c250b19adbc229d9dc3b38640c
      https://github.com/llvm/llvm-project/commit/2f2f16f32bb2a6c250b19adbc229d9dc3b38640c
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [Flang][OpenMP][Lower] NFC: Move clause processing helpers into the ClauseProcessor (#85258)

This patch moves some code in PFT to MLIR OpenMP lowering to the
`ClauseProcessor` class. This is so that some behavior that is related
to certain clauses stays within the `ClauseProcessor` and it's not the
caller the one responsible for always doing this when the clause is
present.


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

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

  Log Message:
  -----------
  [clang][dataflow] Make optional checker work for types derived from optional. (#84138)

`llvm::MaybeAlign` does this, for example.

It's not an option to simply ignore these derived classes because they
get cast
back to the optional classes (for example, simply when calling the
optional
member functions), and our transfer functions will then run on those
optional
classes and therefore require them to be properly initialized.


  Commit: 4a6bc9fd14bd79f1edf5b651b43bd9bda9b90991
      https://github.com/llvm/llvm-project/commit/4a6bc9fd14bd79f1edf5b651b43bd9bda9b90991
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/TargetMacroFusion.td
    M llvm/test/TableGen/MacroFusion.td

  Log Message:
  -----------
  [MacroFusion] Add SingleFusion that accepts a single instruction pair

We add a common class `SingleFusion` that accepts a single instruction
pair to simplify fusion definitions.

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


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

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/test/Bitcode/dbg-record-roundtrip.ll
    M llvm/tools/llvm-dis/llvm-dis.cpp

  Log Message:
  -----------
  [RemoveDIs] Add flag to control loading into new debug mode from bitcode (#85649)

--load-bitcode-into-experimental-debuginfo-iterators

      false: Convert to the old debug mode after reading.
      true: Upgrade to the new debug info format (*).
      unset: Same as false (for now).

(*) As of this patch it actually just means "don't convert to either
mode after loading". Auto-upgrading will be implemented in an upcoming
patch.

With this flag we can incrementally add support for RemoveDIs by
overriding the "unset" behaviour in individual tools. The flag can be
removed once all tools support the new debug info mode.


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

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

  Log Message:
  -----------
  [bazel] Split TransformDialect into a header-only lib in prep for PR85221

This lets users use TensorDialect without depending on all dialects
transitively. 513cdb82223a106f183b49a40d9acb1f7efbbe7e forces that
otherwise.


  Commit: 08701e35ed6f29a2fca095a31f1ebbfe059d6d6e
      https://github.com/llvm/llvm-project/commit/08701e35ed6f29a2fca095a31f1ebbfe059d6d6e
  Author: Pravin Jagtap <prjagtap at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Test clean up. (#85775)

Added common check for DPP and Iterative strategies for uniform value
case since optimization applied is same.

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


  Commit: afec08ef9f1015ea3fe8d67b92acfbb7837c6e9f
      https://github.com/llvm/llvm-project/commit/afec08ef9f1015ea3fe8d67b92acfbb7837c6e9f
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/bmiintrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/intrin.h
    A clang/lib/Headers/intrin0.h
    M clang/lib/Headers/keylockerintrin.h
    M clang/lib/Headers/x86gprintrin.h
    M clang/lib/Headers/x86intrin.h
    A clang/lib/Headers/yvals_core.h

  Log Message:
  -----------
  [clang] Add `intrin0.h` header to mimic `intrin0.h` used by MSVC STL for clang-cl (#75711)

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

#### Description ####

Provide `intrin0.h` to be the minimal set of intrinsics that the MSVC
STL requires.
The `intrin0.h` header matches the latest header provided by MSVC 1939
which does include some extra intrinsics that the MSVC STL does not use.

Inside `BuiltinHeaders.def` I kept the header description as `intrin.h`.
If you want me to change those to `intrin0.h` for the moved intrinsics
let me know.

This should now allow `immintrin.h` to be used with function targets for
runtime cpu detection of simd instruction sets without worrying about
the compile-time overhead from MSVC STL including `intrin.h` on clang.

I still need to figure out how to best update MSVC STL to detect for the
presence of `intrin0.h` from clang and to use this header over
`intrin.h`.

#### Testing ####

Built clang locally and ran the test suite. I still need to do a pass
over the existing unit tests for the ms intrinsics to make sure there
aren't any gaps. Wanted to get this PR up for discussion first.

Modified latest MSVC STL from github to point to `intrin0.h` for clang.

Wrote some test files that included MSVC STL headers that rely on
intrinsics such as `atomic`, `bit` and `vector`. Built the unit tests
against x86, arm, aarch64, and x64.

#### Benchmarks ####

The following include times are based on the x64 target with the
modified headers in this PR.
These timings were done by using `clang-cl.exe -ftime-trace` and taking
the wall time for parsing `intrin.h` and `intrin0.h`.

`intrin.h` takes ~897ms to parse.
`intrin0.h` takes ~1ms to parse.

If there is anything required or a different approach is preferred let
me know. I would very much like to move this over the finish line so we
can use function targets with clang-cl.


  Commit: 4e612a62bd0f3c4f182ecd7652f92d288fc06894
      https://github.com/llvm/llvm-project/commit/4e612a62bd0f3c4f182ecd7652f92d288fc06894
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

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


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

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

  Log Message:
  -----------
  [DAG] visitEXTRACT_VECTOR_ELT - share the same SDLoc instead of recreating it. NFC.


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

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

  Log Message:
  -----------
  [X86] Add PAVG(0,x) test coverage for PR #85581


  Commit: 9a3ece232ced907f87ed0d5846a57f6d9cbc9832
      https://github.com/llvm/llvm-project/commit/9a3ece232ced907f87ed0d5846a57f6d9cbc9832
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/Float16bits.cpp

  Log Message:
  -----------
  [mlir][sparse] Fix the calling convention of __truncsfbf2 on windows x64

It also wants us to return the value in XMM0.


  Commit: ef520ca6b18cf65fc7a13fcad1534f1d70332a88
      https://github.com/llvm/llvm-project/commit/ef520ca6b18cf65fc7a13fcad1534f1d70332a88
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-19 (Tue, 19 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:
  -----------
  Revert "[RISCV] Recursively split concat_vector into smaller LMULs (#83035)"

This reverts commit c59129a7c79448837d665de8f2743ad4b14666f6.

This causes regressions in some x264 workloads like pixel_var_8x8 due to it
interfering with the strided load combine. Reverting so I can try to rework
it as a lowering instead.


  Commit: 92764c99e97ab2b347072718ba2a6799b3fe41c7
      https://github.com/llvm/llvm-project/commit/92764c99e97ab2b347072718ba2a6799b3fe41c7
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [DAG] Matched Fixedwidth Pattern for ISD::AVGCEILU (#85031)

Fixes: #84753


  Commit: 930f21c6bc0fe05c1d08be6353f7c7c6c51f4dc0
      https://github.com/llvm/llvm-project/commit/930f21c6bc0fe05c1d08be6353f7c7c6c51f4dc0
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [bazel] Trim TransformDialectInterfaces to the bare minimum


  Commit: e9da5f0083d12a7284c780e916c17b6a2785933e
      https://github.com/llvm/llvm-project/commit/e9da5f0083d12a7284c780e916c17b6a2785933e
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    A openmp/libomptarget/test/offloading/fortran/target-nested-target-data.f90

  Log Message:
  -----------
  [OpenMP] Fix target data region codegen being omitted for device pass (#85218)

This patch enables the BodyCodeGen callback to still trigger for the
TargetData nested region during the device pass. There maybe Target code
nested within the TargetData region for which this is required.

Also add tests for the same.


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

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/int-usub-12.ll
    M llvm/test/CodeGen/SystemZ/int-usub-13.ll

  Log Message:
  -----------
  Reapply: [SystemZ] Fix overflow flag for i128 USUBO

We use the VSCBIQ/VSBIQ/VSBCBIQ family of instructions to implement
USUBO/USUBO_CARRY for the i128 data type.  However, these instructions
use an inverted sense of the borrow indication flag (a value of 1
indicates *no* borrow, while a value of 0 indicated borrow).  This
does not match the semantics of the boolean "overflow" flag of the
USUBO/USUBO_CARRY ISD nodes.

Fix this by generating code to explicitly invert the flag.  These
cancel out of the result of USUBO feeds into an USUBO_CARRY.

To avoid unnecessary zero-extend operations, also improve the
DAGCombine handling of ZERO_EXTEND to optimize (zext (xor (trunc)))
sequences where appropriate.

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


  Commit: 175ad6630a869831126dde80f0f9257f9c4c477f
      https://github.com/llvm/llvm-project/commit/175ad6630a869831126dde80f0f9257f9c4c477f
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/taint-diagnostic-visitor.c

  Log Message:
  -----------
  [analyzer] Mention possibility of underflow in array overflow errors (#84201)

The checker alpha.security.ArrayBoundV2 performs bounds checking in two
steps: first it checks for underflow, and if it isn't guaranteed then it
assumes that there is no underflow. After this, it checks for overflow,
and if that's guaranteed or the index is tainted then it reports it.

This meant that in situations where overflow and underflow are both
possible (but the index is either tainted or guaranteed to be invalid),
the checker was reporting just an overflow error.

This commit modifies the messages printed in these cases to mention the
possibility of an underflow.

---------

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 4b10d1fdd31f46a9cdf3e7a196f9934d766a922f
      https://github.com/llvm/llvm-project/commit/4b10d1fdd31f46a9cdf3e7a196f9934d766a922f
  Author: Zack Johnson <zacklj89 at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [compiler-rt] Fixing UB on Windows for trampoline allocations (#85639)

Fixing the type of the constant to avoid undefined behavior with respect
to overflow.


  Commit: 9f80444c2e669237a5c92013f1a42b91b5609012
      https://github.com/llvm/llvm-project/commit/9f80444c2e669237a5c92013f1a42b91b5609012
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  Revert "[Flang][OpenMP][Lower] NFC: Move clause processing helpers into the ClauseProcessor (#85258)"

Reverting due to failing gfortran test.

This reverts commit 2f2f16f32bb2a6c250b19adbc229d9dc3b38640c.


  Commit: 94c6ce1de92f56879cad1bfa12ba23ef0ecfcd91
      https://github.com/llvm/llvm-project/commit/94c6ce1de92f56879cad1bfa12ba23ef0ecfcd91
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [SLPVectorizer] Use IRBuilderBase where possible (NFC)

Instead of hardcoding a specific IRBuilder type, use the base
class.


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

  Changed paths:
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/test/Bitcode/DIExpression-aggresult.ll
    M llvm/test/Bitcode/dbg-record-roundtrip.ll
    M llvm/test/Bitcode/upgrade-dbg-addr.ll

  Log Message:
  -----------
  [RemoveDIs] Auto-upgrade debug intrinsics to DbgRecords (default false) (#85650)

If --load-bitcode-into-experimental-debuginfo-iterators is true then debug
intrinsics are auto-upgraded to DbgRecords (the new debug info format).

The upgrade is trivial because the two representations are semantically
identical. llvm.dbg.value with 4 operands and llvm.dbg.addr intrinsics are
upgraded in the same way as usual, but converted directly into DbgRecords
instead of debug intrinsics.


  Commit: 5b59b3afe1cfe52c3c2cb9c9817ca21e589928a0
      https://github.com/llvm/llvm-project/commit/5b59b3afe1cfe52c3c2cb9c9817ca21e589928a0
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
    M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp

  Log Message:
  -----------
  [NFC][RemoveDIs] Switch constant-hoisting to insert with iterators (#84738)

Seeing how constant-hoisting also happens to store an insertion-point in
a DenseMap, this means we have to install DenseMapInfo for hashing
BasicBlock::iterators and comparing them. I'm not really sure where to
put the DenseMapInfo declarations as BasicBlock.h seems most logical,
but that then means including DenseMap.h into pretty much all of LLVM.
I've sent this up to the compile time tracker to see whether there's a
major cost from this.

---------

Merged by: Stephen Tozer <stephen.tozer at sony.com>


  Commit: c1328db9d8e41bb96e031eb3dfa884e56b07244b
      https://github.com/llvm/llvm-project/commit/c1328db9d8e41bb96e031eb3dfa884e56b07244b
  Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [clang][dataflow] Refactor processing of terminator element (#84499)

This patch vastly simplifies the code handling terminators, without
changing any
behavior. Additionally, the simplification unblocks our ability to
address a
(simple) FIXME in the code to invoke `transferBranch`, even when builtin
options
are disabled.


  Commit: d93363a0e803a9fb2889ff03237f4e93aacf0108
      https://github.com/llvm/llvm-project/commit/d93363a0e803a9fb2889ff03237f4e93aacf0108
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M .github/workflows/llvm-tests.yml

  Log Message:
  -----------
  workflows: Fix baseline version for llvm abi checks (#85166)

The baseline version calculations was assuming the minor release would
always be 0.


  Commit: ef395a492aa931f428e99e1c0a93d4ad2fb0fcfa
      https://github.com/llvm/llvm-project/commit/ef395a492aa931f428e99e1c0a93d4ad2fb0fcfa
  Author: ostannard <oliver.stannard at arm.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/ModuleBuilder.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    A clang/test/CodeGen/aarch64-soft-float-abi-errors.c
    A clang/test/CodeGen/aarch64-soft-float-abi.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/target-avx-abi-diag.c
    A clang/test/Driver/aarch64-soft-float-abi.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Sema/arm-vector-types-support.c
    A llvm/test/CodeGen/AArch64/soft-float-abi.ll

  Log Message:
  -----------
  [AArch64] Add soft-float ABI (#84146)

This is re-working of #74460, which adds a soft-float ABI for AArch64.
That was reverted because it causes errors when building the linux and
fuchsia kernels.

The problem is that GCC's implementation of the ABI compatibility checks
when using the hard-float ABI on a target without FP registers does it's
checks after optimisation. The previous version of this patch reported
errors for all uses of floating-point types, which is stricter than what
GCC does in practice.

This changes two things compared to the first version:
* Only check the types of function arguments and returns, not the types
of other values. This is more relaxed than GCC, while still guaranteeing
ABI compatibility.
* Move the check from Sema to CodeGen, so that inline functions are only
checked if they are actually used. There are some cases in the linux
kernel which depend on this behaviour of GCC.


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

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

  Log Message:
  -----------
  [bazel] Make grab bag //libc:internal_includes textual, some of these don't even parse


  Commit: 7ef433f62c199c414bffdcac1c8ee3159b29c5f5
      https://github.com/llvm/llvm-project/commit/7ef433f62c199c414bffdcac1c8ee3159b29c5f5
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ReplaceConstant.cpp
    M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp

  Log Message:
  -----------
  [NFC][RemoveDIs] Switch ConstantExpr::getAsInstruction to not insert (#84737)

Because the RemoveDIs work is putting a debug-info bit into
BasicBlock::iterator and iterators are needed for insertion, the
getAsInstruction method declaration would need to use a fully defined
instruction-iterator, which leads to a complicated
header-inclusion-order problem. Much simpler to instead just not insert,
and make it the callers problem to insert.

This is proportionate because there are only four call-sites to
getAsInstruction -- it would suck if we did this everywhere.

---------

Merged by: Stephen Tozer <stephen.tozer at sony.com>


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

  Changed paths:
    M flang/test/Driver/cuda-option.f90

  Log Message:
  -----------
  [flang] Fix cuda-option test on Darwin (#85687)

On Darwin, -isysroot is needed and is automatically appended to
%flang and %flang_fc1, so use %flang_fc1 instead to have both -fc1
and -isysroot in the expected positions and avoid errors.


  Commit: db4170a4f3a701a62f5c1ef2e6a30f490f107f7d
      https://github.com/llvm/llvm-project/commit/db4170a4f3a701a62f5c1ef2e6a30f490f107f7d
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M flang/test/Driver/cuda-option.f90

  Log Message:
  -----------
  Revert "[flang] Fix cuda-option test on Darwin (#85687)"

Reverted due to buildbot failures:
https://lab.llvm.org/buildbot/#/builders/139/builds/61717/

This reverts commit b4b7d988bdb48827a822d9c87fdc460dceae5cab.


  Commit: 885f93d62a0a7d2955a755cdc451d394577b36e2
      https://github.com/llvm/llvm-project/commit/885f93d62a0a7d2955a755cdc451d394577b36e2
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M flang/test/Driver/cuda-option.f90

  Log Message:
  -----------
  Reapply "[flang] Fix cuda-option test on Darwin (#85687)"

This commit was mistakenly reverted in place of the actual failing
commit prior; reapplying.

This reverts commit db4170a4f3a701a62f5c1ef2e6a30f490f107f7d.


  Commit: ab851f7fe946e7eed700ef9d82082eb721860189
      https://github.com/llvm/llvm-project/commit/ab851f7fe946e7eed700ef9d82082eb721860189
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ReplaceConstant.cpp
    M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp

  Log Message:
  -----------
  Revert "[NFC][RemoveDIs] Switch ConstantExpr::getAsInstruction to not insert (#84737)"

Reverted due to buildbot failures:
https://lab.llvm.org/buildbot/#/builders/139/builds/61717/

This reverts commit 7ef433f62c199c414bffdcac1c8ee3159b29c5f5.


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

  Changed paths:
    M llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test
    M llvm/tools/llvm-objdump/MachODump.cpp

  Log Message:
  -----------
  [llvm-objdump][macho] Fix relative method list dumping for little endian hosts (#85778)

`macho-relative-method-lists.test` is failing on little endian
platforms, when matching 'name'.

```
CHK32-NEXT: name 0x144 (0x{{[0-9a-f]*}}) instance_method_00

next:10'0             X error: no match found
          18:  name 0x144 (0x7ac)      
```
This seems like the obvious fix.

Co-authored-by: Alex B <alexborcan at meta.com>


  Commit: 0e7681867242ccf9138e7e6a9c2d9925b6ee1e49
      https://github.com/llvm/llvm-project/commit/0e7681867242ccf9138e7e6a9c2d9925b6ee1e49
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Test isKnownNonZero() range metadata with vector (NFC)


  Commit: 6872a646523c1e85a98dfa20b2f4dd7774e10ba4
      https://github.com/llvm/llvm-project/commit/6872a646523c1e85a98dfa20b2f4dd7774e10ba4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Handle vector range metadata in isKnownNonZero()

Nowadays !range can be placed on instructions with vector of int
return value. Support this case in isKnownNonZero().


  Commit: 6503b015d4a8971dcb69a63de7d8d203e4be79b6
      https://github.com/llvm/llvm-project/commit/6503b015d4a8971dcb69a63de7d8d203e4be79b6
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Expr.h
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Analysis/eval-predefined-exprs.cpp
    M clang/test/SemaCXX/source_location.cpp
    M clang/unittests/AST/DeclPrinterTest.cpp
    M clang/unittests/AST/TypePrinterTest.cpp

  Log Message:
  -----------
  [clang-cl] Fix value of __FUNCTION__ in MSVC mode. (#84014)

Predefined macro FUNCTION in clang is not returning the same string than
MS for templated functions.

See https://godbolt.org/z/q3EKn5zq4

For the same test case MSVC is returning:

function: TestClass::TestClass
function: TestStruct::TestStruct
function: TestEnum::TestEnum

The initial work for this was in the reverted patch
(https://github.com/llvm/llvm-project/pull/66120). This patch solves the
issues raised in the reverted patch.


  Commit: d1e2305a6d70bbf565104644a4594cbf4f78e6ac
      https://github.com/llvm/llvm-project/commit/d1e2305a6d70bbf565104644a4594cbf4f78e6ac
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [ValueTracking] Fix release build

Move the declaration of the Ty variable outside the NDEBUG guard
and make use of it in the remainder of the function.


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

  Changed paths:
    M libc/src/math/generic/atanf.cpp

  Log Message:
  -----------
  [libc] Prevent constant propagation for atanf(+-Inf) in gcc. (#85733)

gcc bot failures with `atanf(+-Inf)`:
https://lab.llvm.org/buildbot/#/builders/250/builds/20331/steps/8/logs/stdio


  Commit: 2cc75aed0925f3c7e8e50b2f4bdc94daac4cb08d
      https://github.com/llvm/llvm-project/commit/2cc75aed0925f3c7e8e50b2f4bdc94daac4cb08d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [ValueTracking] Move MD_range handling to isKnownNonZeroFromOperator()

All the isKnownNonZero() handling for instructions should be inside
this function. This makes the structure more similar to
computeKnownBitsFromOperator() as well.

This may not be entirely NFC due to different depth handling.


  Commit: 31eaf86a1e8f1870e6ee4c42088a5213bde294b8
      https://github.com/llvm/llvm-project/commit/31eaf86a1e8f1870e6ee4c42088a5213bde294b8
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-03-19 (Tue, 19 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-icmp-to-trunc.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/minbitwidth-user-not-min.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: 43a2ec483fe08064b53a6293682e9bab97df61a0
      https://github.com/llvm/llvm-project/commit/43a2ec483fe08064b53a6293682e9bab97df61a0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/dsymutil.rst
    M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
    M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
    M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
    M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
    M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h
    M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
    R llvm/test/tools/dsymutil/ARM/obfuscated.test
    R llvm/test/tools/dsymutil/Inputs/obfuscated.2.arm64
    R llvm/test/tools/dsymutil/Inputs/obfuscated.2.map
    R llvm/test/tools/dsymutil/Inputs/obfuscated.arm64
    R llvm/test/tools/dsymutil/Inputs/obfuscated.map
    M llvm/test/tools/dsymutil/cmdline.test
    M llvm/tools/dsymutil/CMakeLists.txt
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/LinkUtils.h
    M llvm/tools/dsymutil/MachOUtils.cpp
    M llvm/tools/dsymutil/MachOUtils.h
    M llvm/tools/dsymutil/Options.td
    R llvm/tools/dsymutil/SymbolMap.cpp
    R llvm/tools/dsymutil/SymbolMap.h
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp

  Log Message:
  -----------
  [dsymutil] Remove support for obfuscated bitcode (#85713)

Remove support for obfuscated bitcode in dsymutil and the DWARF linker.
We no longer support bitcode submissions and the obfuscation support has
been removed from the rest of the compiler.

rdar://123863918


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

  Changed paths:
    A llvm/test/CodeGen/X86/avgceils.ll
    A llvm/test/CodeGen/X86/avgceilu.ll
    A llvm/test/CodeGen/X86/avgfloors.ll
    A llvm/test/CodeGen/X86/avgflooru.ll

  Log Message:
  -----------
  [X86] Add test coverage for vector avgceils/avgceilu/avgfloors/avgflooru test patterns

SSE only has AVGCEILU vXi8/vXi16 support - but for other types we should be trying to use the fixed width expansion instead of extensions


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

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

  Log Message:
  -----------
  [NFC] [hwasan] also be more consistent when getting pointer types (#84399)


  Commit: 25bb7436ca3edbb0f49cef96a27f1e507b973e6c
      https://github.com/llvm/llvm-project/commit/25bb7436ca3edbb0f49cef96a27f1e507b973e6c
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCInstrAnalysis.h

  Log Message:
  -----------
  Trim trailing whitespaces in MCInstrAnalysis.h. NFC. (#85805)


  Commit: 9a96fb4445f4e9d9a7899189758ee6afbeb6510b
      https://github.com/llvm/llvm-project/commit/9a96fb4445f4e9d9a7899189758ee6afbeb6510b
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ReplaceConstant.cpp
    M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp

  Log Message:
  -----------
  Reapply "[NFC][RemoveDIs] Switch ConstantExpr::getAsInstruction to not insert (#84737)"

Fixes a build error caused by an unupdated getAsInstruction callsite in clang.

This reverts commit ab851f7fe946e7eed700ef9d82082eb721860189.


  Commit: 8819f8799868a95bba24c0a574a9b1455e63b63d
      https://github.com/llvm/llvm-project/commit/8819f8799868a95bba24c0a574a9b1455e63b63d
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Dialect/LLVMIR/nvvm.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add barrier.arrive (#85412)

PR adds `nvvm.barrier.arrive` Op. It is useful op for producer consumer
modeling.


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

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel

  Log Message:
  -----------
  [bazel][libc] Add more mess


  Commit: 0081ec11d86f34982ac5b1df4f53943a92d5223f
      https://github.com/llvm/llvm-project/commit/0081ec11d86f34982ac5b1df4f53943a92d5223f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [VectorCombine] Add a mask for SK_Broadcast shuffle costing (#85808)

This is part of a series of small patches to compute shuffle masks for
the couple of cases where we call getShuffleCost without one. My goal is
to add an invariant that all calls to getShuffleCost for fixed length
vectors have a mask.

Note that this code appears to be reachable with scalable vectors, and
thus we have to only pass a non-empty mask when the number of elements
is precisely known.


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

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/idot.ll

  Log Message:
  -----------
  [DXIL] implement dot intrinsic lowering for integers (#85662)

this implements part 1 of 2 for #83626
- `CGBuiltin.cpp` - modified to have seperate cases for signed and
unsigned integers.
- `SemaChecking.cpp` - modified to prevent the generation of a double
dot product intrinsic if the builtin were to be called directly.
- `IntrinsicsDirectX.td` creation of the signed and unsigned dot
intrinsics needed for instruction expansion.
- `DXILIntrinsicExpansion.cpp` - handle instruction expansion cases for
integer dot product.


  Commit: 252e2551eab9b59f7dcbf8bb79a1432884d546e4
      https://github.com/llvm/llvm-project/commit/252e2551eab9b59f7dcbf8bb79a1432884d546e4
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [MLIR][LLVM][SROA] Avoid splitting dynamically indexed allocas (#85758)

This commit ensures that SROA does no longer attempt to split allocas
that are indexed into dynamically. Dynamic indices into arrays are
allowed to be negative or out-of-bounds, when the alloca containing the
array has memory backing these produced indices.


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

  Changed paths:
    M libc/src/__support/CPP/array.h
    A libc/src/__support/CPP/iterator.h
    M libc/test/src/__support/CPP/CMakeLists.txt
    A libc/test/src/__support/CPP/array_test.cpp

  Log Message:
  -----------
  [libc][cpp] reverse_iterator support (#85702)

Towards the goal of implementing __cxa_finalize (#85651) I'd like to be able to
reverse iterate over cpp::arrays such as the one used in FixedVector.

Implement the enough iterator support to be able to iterate a cpp::array in
reverse, and add tests.

Of note, reverse iterator's begin() refers to forward iterator's end() (and
vice versa). When dereferenced (operator*), the reverse iterator returns a copy
that's been pre-decremented (the underlying forward iterator is advanced).


  Commit: b9d83eff254668385fd3d9d5ddb5af762f378d7f
      https://github.com/llvm/llvm-project/commit/b9d83eff254668385fd3d9d5ddb5af762f378d7f
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/PHITransAddr.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/DwarfEHPrepare.cpp
    M llvm/lib/CodeGen/GCRootLowering.cpp
    M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/CodeGen/IntrinsicLowering.cpp
    M llvm/lib/CodeGen/JMCInstrumenter.cpp
    M llvm/lib/CodeGen/SjLjEHPrepare.cpp
    M llvm/lib/CodeGen/WinEHPrepare.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    M llvm/lib/Target/BPF/BPFPreserveDIType.cpp
    M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
    M llvm/lib/Target/Mips/Mips16HardFloat.cpp
    M llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
    M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
    M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
    M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp
    M polly/lib/CodeGen/LoopGenerators.cpp
    M polly/lib/Support/ScopHelper.cpp

  Log Message:
  -----------
  [NFC][RemoveDIs] Use iterators for insertion at various call-sites (#84736)

These are the last remaining "trivial" changes to passes that use
Instruction pointers for insertion. All of this should be NFC, it's just
changing the spelling of how we identify a position.

In one or two locations, I'm also switching uses of getNextNode etc to
using std::next with iterators. This too should be NFC.

---------

Merged by: Stephen Tozer <stephen.tozer at sony.com>


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll

  Log Message:
  -----------
  [RISCV] Add test for strided load combine regression. NFC

This adds a reduced test case for the regression seen in x264 with #83035.
If the intermediate concatenating shuffles are large enough then the
splitting combine will prevent the strided load combine which is
preferable.


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

  Changed paths:
    M lld/test/ELF/aarch64-tlsdesc-zrel.s
    M lld/test/ELF/pack-dyn-relocs.s
    M llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
    M llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
    M llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
    M llvm/test/tools/llvm-readobj/ELF/hex-dump-multi.s
    M llvm/test/tools/llvm-readobj/ELF/hex-dump.test
    M llvm/test/tools/llvm-readobj/ELF/string-dump-multi.s
    M llvm/test/tools/llvm-readobj/ELF/string-dump.test
    M llvm/tools/llvm-readobj/ObjDumper.cpp

  Log Message:
  -----------
  [llvm-readelf] Print a blank line for the first hex/string dump

GNU readelf prints a blank line before the first hex/string dump, which
serves as a separator when there are other dump operations. Port the
behavior.

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


  Commit: 09eb9f1136c8572c4c3f2ec46be50899c32fc881
      https://github.com/llvm/llvm-project/commit/09eb9f1136c8572c4c3f2ec46be50899c32fc881
  Author: Michele Scandale <michele.scandale at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
    M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
    M llvm/test/Transforms/InstCombine/select_meta.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll

  Log Message:
  -----------
  [InstCombine] Fix for folding `select` into floating point binary operators. (#83200)

Folding a `select` into a floating point binary operators can only be
done if the result is preserved for both case. In particular, if the
other operand of the `select` can be a NaN, then the transformation
won't preserve the result value.


  Commit: 9ed1aa36be654f6687c4f9000c973b722217881c
      https://github.com/llvm/llvm-project/commit/9ed1aa36be654f6687c4f9000c973b722217881c
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  Fixing up an edit missed in #84014; NFC


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll

  Log Message:
  -----------
  AMDGPU: Treat SWMMAC the same as MFMA and other WMMA for sched_barrier (#85721)


  Commit: fe84369cc6759194e006f3f624a064bce13c84d4
      https://github.com/llvm/llvm-project/commit/fe84369cc6759194e006f3f624a064bce13c84d4
  Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
    M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir

  Log Message:
  -----------
  [mlir][ArmNeon] Implements unrolling patterns for LowerContractionToSMMLAPattern (#84848)

This patch updates `LowerContractionToSMMLAPattern` to unroll larger vector contracts into multiple smmla instructions. 

Now accepts up to [8,8,8] tiles (previously only [2,2,8]). The N/M dimensions must be powers of 2. `vector.extract_strided_slice`/`vector.insert_strided_slice` divides the contract into tiles to be processed in a row.


  Commit: a7eaae4ec686ddfb8f91868fc8d053b2163f7ec7
      https://github.com/llvm/llvm-project/commit/a7eaae4ec686ddfb8f91868fc8d053b2163f7ec7
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/separate-mp05.f90

  Log Message:
  -----------
  [Flang] Fix to the module procedure interface block ignoring implicit… (#85735)

… of host scoping unit.

Fix as proposed by @thtsikas [here
](https://github.com/llvm/llvm-project/commit/11d07d9ef618497b825badee8b4f06a48575606b#commitcomment-139798026).


  Commit: c7de4a39d5673b91189395f85ca6f71b1eeb115c
      https://github.com/llvm/llvm-project/commit/c7de4a39d5673b91189395f85ca6f71b1eeb115c
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M openmp/runtime/test/lit.cfg

  Log Message:
  -----------
  [OpenMP] Enable the affinity tests on FreeBSD, NetBSD and DragonFly (#85500)

FreeBSD, NetBSD and DragonFly also have affinity support. So enable the tests there as well.


  Commit: b9a41b9e9b1441a7b0ca0fb95b9184f73bbfd4b5
      https://github.com/llvm/llvm-project/commit/b9a41b9e9b1441a7b0ca0fb95b9184f73bbfd4b5
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    A openmp/libomptarget/test/offloading/workshare_chunk.c

  Log Message:
  -----------
  [NFC][OpenMP] Add test checking clang offload chunking policy (#83261)

Verify how clang handles `dist_schedule(static, block_chunk)` and
`schedule(static, thread_chunk)` clauses for OpenMP offload loop
workshare pragmas.


  Commit: 5f38436d34360d17b58f643650f3605bb9609a34
      https://github.com/llvm/llvm-project/commit/5f38436d34360d17b58f643650f3605bb9609a34
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    A clang/test/Driver/fsanitize-signed-integer-overflow.c

  Log Message:
  -----------
  [Driver] -fsanitize=undefined: don't expand to signed-integer-overflow if -fwrapv (#85501)

Linux kernel uses -fwrapv to change signed integer overflows from
undefined behaviors to defined behaviors. However, the security folks
still want -fsanitize=signed-integer-overflow diagnostics. Their
intention can be expressed with -fwrapv
-fsanitize=signed-integer-overflow (#80089). This mode by default
reports recoverable errors while still making signed integer overflows
defined (most UBSan checks are recoverable by default: you get errors in
stderr, but the program is not halted).

-fsanitize=undefined -fwrapv users likely want to suppress
signed-integer-overflow, unless signed-integer-overflow is explicitly
enabled. Implement this suppression.


  Commit: 4bade55cc65db8b7f977dba4f13bf335e93317a8
      https://github.com/llvm/llvm-project/commit/4bade55cc65db8b7f977dba4f13bf335e93317a8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M lld/test/ELF/aarch64-tlsdesc-zrel.s

  Log Message:
  -----------
  [test] Fix aarch64-tlsdesc-zrel.s


  Commit: 3176c157190c80b4279dec86c4b9b84472d8ccac
      https://github.com/llvm/llvm-project/commit/3176c157190c80b4279dec86c4b9b84472d8ccac
  Author: Andres Villegas <andresvi at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/dsymutil.rst
    M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
    M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
    M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
    M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
    M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h
    M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
    A llvm/test/tools/dsymutil/ARM/obfuscated.test
    A llvm/test/tools/dsymutil/Inputs/obfuscated.2.arm64
    A llvm/test/tools/dsymutil/Inputs/obfuscated.2.map
    A llvm/test/tools/dsymutil/Inputs/obfuscated.arm64
    A llvm/test/tools/dsymutil/Inputs/obfuscated.map
    M llvm/test/tools/dsymutil/cmdline.test
    M llvm/tools/dsymutil/CMakeLists.txt
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/LinkUtils.h
    M llvm/tools/dsymutil/MachOUtils.cpp
    M llvm/tools/dsymutil/MachOUtils.h
    M llvm/tools/dsymutil/Options.td
    A llvm/tools/dsymutil/SymbolMap.cpp
    A llvm/tools/dsymutil/SymbolMap.h
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp

  Log Message:
  -----------
  Revert "[dsymutil] Remove support for obfuscated bitcode" (#85826)

Reverts llvm/llvm-project#85713 Since it is breaking Linux x64 builds.


  Commit: 71b69dd21becdfbf8922674ce6ca4129926660ab
      https://github.com/llvm/llvm-project/commit/71b69dd21becdfbf8922674ce6ca4129926660ab
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp
    M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp

  Log Message:
  -----------
  [WebAssembly] Pass ArrayRef by value (NFC) (#85732)

`ArrayRef` is supposed to be passed by value:

https://github.com/llvm/llvm-project/blob/bda05140fb758156ae35f3919e6283d94bfa3905/llvm/include/llvm/ADT/ArrayRef.h#L38-L39


  Commit: e61922d327c39805a7303586f4b0accf3398c774
      https://github.com/llvm/llvm-project/commit/e61922d327c39805a7303586f4b0accf3398c774
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Support/TimeProfiler.h
    M llvm/lib/Support/TimeProfiler.cpp
    M llvm/unittests/Support/TimeProfilerTest.cpp

  Log Message:
  -----------
  Expose TimeTraceProfiler for Async Events (#83778)

To avoid issue like https://github.com/llvm/llvm-project/issues/56554
and https://github.com/llvm/llvm-project/issues/83236 due to no
guarantees for nested relationships between file level span and syntax
tree level span, I'd like to have a `timeTraceAsyncProfilerBegin`
specific to trace handling only `Source` spans around

https://github.com/llvm/llvm-project/blob/8715f256911786520bb727ce067098d7082ac45c/clang/lib/Sema/Sema.cpp#L153-L170.

This is a preparation PR to do that in [following
PR](https://github.com/llvm/llvm-project/pull/83961).


  Commit: 1d296ec226903a09de0215e05d852b2b80712855
      https://github.com/llvm/llvm-project/commit/1d296ec226903a09de0215e05d852b2b80712855
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [libc][bazel] fix missing iterator inclusion (#85840)

Patch #85702 added a new iterator header for array to use, but didn't
add it as a dependency in the bazel build. This patch fixes the issue.


  Commit: a0394f16912c49a6760fbc22ab9d29c6cac6fb0a
      https://github.com/llvm/llvm-project/commit/a0394f16912c49a6760fbc22ab9d29c6cac6fb0a
  Author: Paul T Robinson <paul.robinson at sony.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/xmmintrin.h

  Log Message:
  -----------
  [Headers][X86] Add rounding and exception notes to conversions (#83447)

Consistently describe rounding/truncating on convert intrinsics. Add
notes where an out-of-range result can raise an exception.


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

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/lib/Sema/SemaChecking.cpp

  Log Message:
  -----------
  [HLSL] Fix for build break introduced by #85662 (#85839)

This change fixes a test case failure caused by pr #85662


  Commit: 0a40f5d1a05a4108b5d9febf3ea8df4c1244a340
      https://github.com/llvm/llvm-project/commit/0a40f5d1a05a4108b5d9febf3ea8df4c1244a340
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp

  Log Message:
  -----------
  [clang-tidy] Add support for lambdas in cppcoreguidelines-owning-memory (#77246)

Implement proper support for lambdas and sub-functions/classes.
Moved from https://reviews.llvm.org/D157285

Fixes: #59389


  Commit: 28c1279db3541bc7b246fd9da0da3da4e09f0eed
      https://github.com/llvm/llvm-project/commit/28c1279db3541bc7b246fd9da0da3da4e09f0eed
  Author: Piotr Zegar <piotr.zegar at nokia.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage.cpp

  Log Message:
  -----------
  [clang-tidy] Add bugprone-suspicious-stringview-data-usage check (#83716)

This check identifies suspicious usages of std::string_view::data() that
could lead to reading out-of-bounds data due to inadequate or incorrect
string null termination.

Closes #80854


  Commit: a6e231bb2a7924f4269e6735d29a54b2318cd16c
      https://github.com/llvm/llvm-project/commit/a6e231bb2a7924f4269e6735d29a54b2318cd16c
  Author: alexfh <alexfh at google.com>
  Date:   2024-03-19 (Tue, 19 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:
  -----------
  Revert "[Float2Int] Resolve FIXME: Pick the smallest legal type that fits" (#85843)

Reverts llvm/llvm-project#79158, which causes a miscompile. See
https://github.com/llvm/llvm-project/pull/79158#issuecomment-2007842032


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

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

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

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

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

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

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

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


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


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

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

  Log Message:
  -----------
  [BOLT] Update DIEStreamer (#85818)

commit 43a2ec483fe08064b53a6293682e9bab97df61a0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   Tue Mar 19 08:30:47 2024 -0700

removed parameter Translator from the constructor of DwarfStreamer.
This patch fixes the build by updating the constructor of DIEStreamer
accordingly.


  Commit: da118c93b40f74f6770cf8550903721555d3c97b
      https://github.com/llvm/llvm-project/commit/da118c93b40f74f6770cf8550903721555d3c97b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-19 (Tue, 19 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: 0b59af4d86cf8d3ee3eb1a8e5673b1a21bb387b5
      https://github.com/llvm/llvm-project/commit/0b59af4d86cf8d3ee3eb1a8e5673b1a21bb387b5
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/copysign-fneg-fabs.ll
    M llvm/test/Transforms/InstCombine/fcmp.ll

  Log Message:
  -----------
  [InstCombine] Clear sign-bit of the constant magnitude in copysign (#85787)

Alive2: https://alive2.llvm.org/ce/z/vFykcZ
Address the comment
https://github.com/llvm/llvm-project/pull/85772#discussion_r1530179048.

Unfortunately, non-splat vector constants are not supported because we
haven't implemented constant folding of fabs with vector operands.


  Commit: 32a6e9d66945c28a9cae476b6d2eb803ca2ab098
      https://github.com/llvm/llvm-project/commit/32a6e9d66945c28a9cae476b6d2eb803ca2ab098
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/dsymutil.rst
    M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
    M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
    M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
    M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
    M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h
    M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
    R llvm/test/tools/dsymutil/ARM/obfuscated.test
    R llvm/test/tools/dsymutil/Inputs/obfuscated.2.arm64
    R llvm/test/tools/dsymutil/Inputs/obfuscated.2.map
    R llvm/test/tools/dsymutil/Inputs/obfuscated.arm64
    R llvm/test/tools/dsymutil/Inputs/obfuscated.map
    M llvm/test/tools/dsymutil/cmdline.test
    M llvm/tools/dsymutil/CMakeLists.txt
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/LinkUtils.h
    M llvm/tools/dsymutil/MachOUtils.cpp
    M llvm/tools/dsymutil/MachOUtils.h
    M llvm/tools/dsymutil/Options.td
    R llvm/tools/dsymutil/SymbolMap.cpp
    R llvm/tools/dsymutil/SymbolMap.h
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp

  Log Message:
  -----------
  [dsymutil] Remove support for obfuscated bitcode (#85713)

Remove support for obfuscated bitcode in dsymutil and the DWARF linker.
We no longer support bitcode submissions and the obfuscation support has
been removed from the rest of the compiler.

rdar://123863918


  Commit: 8af3f74294d5e6ccf4e5c91ad5c25a1d7384ec1c
      https://github.com/llvm/llvm-project/commit/8af3f74294d5e6ccf4e5c91ad5c25a1d7384ec1c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  Revert "[BOLT] Update DIEStreamer (#85818)"

This reverts commit e4f9175d23950ecaef32db075ed47dafe3be555c.

  commit 3176c157190c80b4279dec86c4b9b84472d8ccac
  Author: Andres Villegas <andresvi at google.com>
  Date:   Tue Mar 19 10:58:31 2024 -0700

reverted 43a2ec483fe08064b53a6293682e9bab97df61a0.


  Commit: 4b61d5bd6155f43792dd37a8975df68365b1e24a
      https://github.com/llvm/llvm-project/commit/4b61d5bd6155f43792dd37a8975df68365b1e24a
  Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [ArmNeonTransforms][Bazel] Added appropriate deps for BUILD.bazel file. (#85852)


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

  Changed paths:
    M libc/docs/dev/printf_behavior.rst
    M libc/docs/dev/undefined_behavior.rst
    M libc/src/stdio/printf_core/string_converter.h
    M libc/test/src/stdio/sprintf_test.cpp

  Log Message:
  -----------
  [libc] Make 'printf' converter output "(null)" instead of "null" (#85845)

Summary:
Currently we print `null` for the null pointer in a `%s` expression.
Although it's not defined by the standard, other implementations choose
to use `(null)` to indicate this. We also currently print `(nullptr)` so
I think it's more consistent to use parens in both cases.


  Commit: 41283403f5a201c93b64b0f5b0e3ee3bc5f5e2b1
      https://github.com/llvm/llvm-project/commit/41283403f5a201c93b64b0f5b0e3ee3bc5f5e2b1
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [BOLT] Update DWARFRewriter for 32a6e9d66945


  Commit: 5cccc405e3981dfb97d5fee05b44a2ac6388191c
      https://github.com/llvm/llvm-project/commit/5cccc405e3981dfb97d5fee05b44a2ac6388191c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M openmp/libomptarget/test/offloading/barrier_fence.c

  Log Message:
  -----------
  Revert "[OpenMP] Disable flaky barrier fence test (#85093)"

This reverts commit cd8843f87af2f04a85dda12b37738596cbf4cd5e.

Originally disabled to try to unstick the AMD build bot, didn't make a
difference after a week so it goes back in.


  Commit: 85b6af198fdad9aead0449a645d839b1c7635dfd
      https://github.com/llvm/llvm-project/commit/85b6af198fdad9aead0449a645d839b1c7635dfd
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [libc][math][c23] Add linux/* entrypoints for nextup* and nextdown* (#85803)

See
https://github.com/llvm/llvm-project/pull/85484#discussion_r1526971653.

There already were entrypoints for linux/x86_64. I haven't tested on the other
targets and will rely on the buildbots.


  Commit: 4549f8910ed9bc6479b6e641c2611d4b36a2cd63
      https://github.com/llvm/llvm-project/commit/4549f8910ed9bc6479b6e641c2611d4b36a2cd63
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 28c1279db354


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 32a6e9d66945


  Commit: 3cd9dccbb4235e057d0e53ab0b9673f3766800d4
      https://github.com/llvm/llvm-project/commit/3cd9dccbb4235e057d0e53ab0b9673f3766800d4
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [cmake] Disable using FatLTO on Apple platforms (#85708)

FatLTO currently only supports ELF, so ensure we don't use it
on non-ELF platforms.


  Commit: ffd08c7759000f55332f1657a1fab64a7adc03fd
      https://github.com/llvm/llvm-project/commit/ffd08c7759000f55332f1657a1fab64a7adc03fd
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/include/llvm/Transforms/Utils/ValueMapper.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Bitcode/Writer/ValueEnumerator.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/FunctionLoweringInfo.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/AutoUpgrade.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugInfoMetadata.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/IR/LegacyPassManager.cpp
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/IR/Value.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    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/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/ADCE.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.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/LCSSA.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/MemoryOpRemark.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/lib/Transforms/Utils/SSAUpdater.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/test/DebugInfo/dpvalue-print-nocrash.ll
    M llvm/test/Transforms/LoopRotate/dbgvalue.ll
    M llvm/test/tools/llvm-reduce/remove-dp-values.ll
    M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
    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/LocalTest.cpp

  Log Message:
  -----------
  [RemoveDIs][NFC] Rename DPValue -> DbgVariableRecord (#85216)

This is the major rename patch that prior patches have built towards.
The DPValue class is being renamed to DbgVariableRecord, which reflects
the updated terminology for the "final" implementation of the RemoveDI
feature. This is a pure string substitution + clang-format patch. The
only manual component of this patch was determining where to perform
these string substitutions: `DPValue` and `DPV` are almost exclusively
used for DbgRecords, *except* for:

- llvm/lib/target, where 'DP' is used to mean double-precision, and so
appears as part of .td files and in variable names. NB: There is a
single existing use of `DPValue` here that refers to debug info, which
I've manually updated.
- llvm/tools/gold, where 'LDPV' is used as a prefix for symbol
visibility enums.

Outside of these places, I've applied several basic string
substitutions, with the intent that they only affect DbgRecord-related
identifiers; I've checked them as I went through to verify this, with
reasonable confidence that there are no unintended changes that slipped
through the cracks. The substitutions applied are all case-sensitive,
and are applied in the order shown:

```
  DPValue -> DbgVariableRecord
  DPVal -> DbgVarRec
  DPV -> DVR
```

Following the previous rename patches, it should be the case that there
are no instances of any of these strings that are meant to refer to the
general case of DbgRecords, or anything other than the DPValue class.
The idea behind this patch is therefore that pure string substitution is
correct in all cases as long as these assumptions hold.


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

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/ObjC.h
    M lld/MachO/Options.td
    A lld/test/MachO/objc-category-merging-complete-test.s
    A lld/test/MachO/objc-category-merging-extern-class-minimal.s

  Log Message:
  -----------
  [lld-macho] Implement ObjC category merging (-objc_category_merging) (#85727)

This change adds a flag to lld to enable category merging for MachoO +
ObjC.
It adds the '-objc_category_merging' flag for enabling this option and
uses the existing '-no_objc_category_merging' flag for disabling it.
In ld64, this optimization is enabled by default, but in lld, for now,
we require explicitly passing the '-objc_category_merging' flag in order
to enable it.

Behavior: if in the same link unit, multiple categories are extending
the same class, then they get merged into a single category.
Ex: Cat1(method1+method2,protocol1) + Cat2(method3+method4,protocol2,
property1) = Cat1_2(method1+method2+method3+method4,
protocol1+protocol2, property1)

Notes on implementation decisions made in this diff:

There is a possibility to further improve the current implementation by
directly merging the category data into the base class (if the base
class is present in the link unit) - this improvement may be done as a
follow-up. This improved functionality is already present in ld64.
We do the merging on the raw inputSections - after dead-stripping
(categories can't be dead stripped anyway).
The changes are mostly self-contained to ObjC.cpp, except for adding a
new flag (linkerOptimizeReason) to ConcatInputSection and StringPiece to
mark that this data has been optimized away. Another way to do it would
have been to just mark the pieces as not 'live' but this would cause the
old symbols to show up in the linker map as being dead-stripped - even
if dead-stripping is disabled. This flag allows us to match the ld64
behavior.

Note: This is a re-land of
https://github.com/llvm/llvm-project/pull/82928 after fixing using
already freed memory in `generatedSectionData`. This issue was detected
by ASAN build.

---------

Co-authored-by: Alex B <alexborcan at meta.com>


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf

  Log Message:
  -----------
  [flang][cuda] Update syntax of fir.cuda_kernel_launch to match fir.call (#85814)

`fir.cuda_kernel_launch` represents a call to a cuda kernel with the
chervon syntax. Its assembly format is meant to match `fir.call`. This
patch updates the format to match the syntax closer for args and their
types.


  Commit: 12a6546395c6225112731f33608afed452c4f8d1
      https://github.com/llvm/llvm-project/commit/12a6546395c6225112731f33608afed452c4f8d1
  Author: Evan Wilde <etceterawilde at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/Preprocessor/sysroot-prefix.c

  Log Message:
  -----------
  Add support for sysroot-relative system header search paths (#82084)

Clang supported header searchpaths of the form `-I =/path`, relative to
the sysroot if one is passed, but did not implement that behavior for
`-iquote`, `-isystem`, or `-idirafter`.

This implements the `=` portion of the behavior implemented by GCC for
these flags described in
https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/X86/pr85681.ll

  Log Message:
  -----------
  [DAG] SimplifyShift - shift i1/vXi1 X, Y --> X (any non-zero shift amount is undefined).

Alive2: https://alive2.llvm.org/ce/z/SdESbg

Fixes #85681


  Commit: 8cbb8ac02cc481723a0e0c20beab03fdc50accd9
      https://github.com/llvm/llvm-project/commit/8cbb8ac02cc481723a0e0c20beab03fdc50accd9
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
    M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][spirv] Add folding for SelectOp (#85430)

Add missing constant propogation folder for spirv.Select

Implement additional folding when both selections are equivalent or the
condition is a constant Scalar/SplatVector.

Allows for constant folding in the IndexToSPIRV pass.

Part of work #70704


  Commit: 5cfcd9bc13ac0f1be519e2e2d69276c82cbba3b9
      https://github.com/llvm/llvm-project/commit/5cfcd9bc13ac0f1be519e2e2d69276c82cbba3b9
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [cmake] Reenable FatLTO for Fuchsia toolchains

We can reenable this now that FatLTO won't be enabled for Mac platforms

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


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

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
    M llvm/test/MC/ARM/basic-arm-instructions.s

  Log Message:
  -----------
  [ARM] FIX: Fix parsing `pkhtb` with a condition code

This was broken by https://github.com/llvm/llvm-project/pull/83436 as in
optional operands meant when the CC operand is provided the
`parsePKHImm` parser is applied to register operands, which previously
erroneously produced an error.


  Commit: 31f4b329c8234fab9afa59494d7f8bdaeaefeaad
      https://github.com/llvm/llvm-project/commit/31f4b329c8234fab9afa59494d7f8bdaeaefeaad
  Author: quic-areg <aregmi at quicinc.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/hexagon-default-build-attributes.s
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    A llvm/include/llvm/Support/HexagonAttributeParser.h
    A llvm/include/llvm/Support/HexagonAttributes.h
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/HexagonAttributeParser.cpp
    A llvm/lib/Support/HexagonAttributes.cpp
    M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.h
    M llvm/lib/Target/Hexagon/HexagonTargetStreamer.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
    A llvm/test/CodeGen/Hexagon/build-attributes.ll
    A llvm/test/MC/Hexagon/directive-attribute-err.s
    A llvm/test/MC/Hexagon/directive-attribute.s
    A llvm/test/MC/Hexagon/hexagon_attributes.s
    M llvm/test/tools/llvm-readobj/ELF/machine-specific-section-types.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [Hexagon] ELF attributes for Hexagon (#85359)

Defines a subset of attributes and emits them to a section called
.hexagon.attributes.

The current attributes recorded are the attributes needed by
llvm-objdump to automatically determine target features and eliminate
the need to manually pass features.


  Commit: 73302d3ca4c59db9ddd963d132ba07eb6e2f23e7
      https://github.com/llvm/llvm-project/commit/73302d3ca4c59db9ddd963d132ba07eb6e2f23e7
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 31f4b329c823


  Commit: 1678785ffc468cdd90adaa0a6806a34630b73e7b
      https://github.com/llvm/llvm-project/commit/1678785ffc468cdd90adaa0a6806a34630b73e7b
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    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/math/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl

  Log Message:
  -----------
  [libc][bazel] unglob libc macros (#85831)

In a previous patch an "internal_includes" target was created to give
access to the macro headers. This patch removes that in favor of
individual targets for these headers, better matching the existing code.


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll

  Log Message:
  -----------
  [InstCombine] Add more tests for simplifying `(icmp (and/or x, Mask), y)`; NFC


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll

  Log Message:
  -----------
  [InstCombine] Add more cases for simplifying `(icmp (and/or x, Mask), y)`

This cleans up basically all the regressions assosiated from #84688

Proof of all new cases: https://alive2.llvm.org/ce/z/5yYWLb

Closes #85445


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

  Changed paths:
    A llvm/test/CodeGen/X86/int-to-fp-demanded.ll

  Log Message:
  -----------
  [DAGCombiner] Add tests for simplifying `{si|ui}tofp`; NFC


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/combine-sse41-intrinsics.ll
    M llvm/test/CodeGen/X86/int-to-fp-demanded.ll

  Log Message:
  -----------
  [DAGCombiner] Simplifying `{si|ui}tofp` when only signbit is needed

If we only need the signbit `uitofp` simplified to 0, and `sitofp`
simplifies to `bitcast`.

Closes #85138


  Commit: 888e2849036c7a216dd6208a2fe5a59393d4767a
      https://github.com/llvm/llvm-project/commit/888e2849036c7a216dd6208a2fe5a59393d4767a
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/bswap.ll

  Log Message:
  -----------
  [NVPTX] Use PTX prmt for llvm.bswap (#85545)


  Commit: 35bf8e798dc61aee9fcfbc0b162169295d1ce290
      https://github.com/llvm/llvm-project/commit/35bf8e798dc61aee9fcfbc0b162169295d1ce290
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Support/LEB128.h
    M llvm/unittests/Support/LEB128Test.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [Support] Add decodeULEB128AndInc/decodeSLEB128AndInc

Many decodeULEB128/decodeSLEB128 users need to increment the pointer.
Add helpers to simplify this common pattern. We don't add `end` and
`error` parameters at present because many users don't need them.

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


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

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [NFC] [hwasan] factor get[PC|FP] out of HWASan class (#84404)

Also be consistent about naming SP / FP.

This is to prepare for stack history buffer for memtag-stack


  Commit: b5d02bbd0d9595501597ddbcf93ac51b160fc8bf
      https://github.com/llvm/llvm-project/commit/b5d02bbd0d9595501597ddbcf93ac51b160fc8bf
  Author: dhruvachak <Dhruva.Chakrabarti at amd.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/teams_private_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/src/interface.cpp
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [OpenMP] Increment kernel args version, used by runtime for detecting dyn_ptr. (#85363)

A kernel implicit parameter (dyn_ptr) was introduced some time back.
This patch increments the kernel args version for a compiler supporting
dyn_ptr. The version will be used by the runtime to determine whether
the implicit parameter is generated by the compiler. The versioning is
required to support use cases where code generated by an older compiler
is linked with a newer runtime.

If approved, this patch should be backported to release 18.


  Commit: 1bab88df075d87dd66e8a54d88d16f8540452b8f
      https://github.com/llvm/llvm-project/commit/1bab88df075d87dd66e8a54d88d16f8540452b8f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Move some operations from link to setConfigs. NFC


  Commit: 12a2bc301fe83eea3b214428827d712c8cfb28a9
      https://github.com/llvm/llvm-project/commit/12a2bc301fe83eea3b214428827d712c8cfb28a9
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/test/Transforms/SampleProfile/Inputs/csspgo-import-list-preinliner.prof
    A llvm/test/Transforms/SampleProfile/csspgo-import-list-preinliner.ll

  Log Message:
  -----------
  [CSSPGO] Fix the issue of preinliner import function list (#85719)

By design, when the nested profile is pre-inliner based, we should fully
honor pre-inliner decision, fix it by setting threshold to zero. We
observed a perf win on one internal service, no negative impact for
other big services.


  Commit: f2bb6fb0ca0bfbaf39d9b8039df22b6918ac99b6
      https://github.com/llvm/llvm-project/commit/f2bb6fb0ca0bfbaf39d9b8039df22b6918ac99b6
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  Add Maksim and me to office hours (#85824)

Followup from
https://discourse.llvm.org/t/extending-an-invitation-to-compiler-newbies-compilers-coffee/77776


  Commit: 4bf06bebb9d34bb7e3e025442dd0c1cb4e9d3911
      https://github.com/llvm/llvm-project/commit/4bf06bebb9d34bb7e3e025442dd0c1cb4e9d3911
  Author: Jiahan Xie <88367305+jiahanxie353 at users.noreply.github.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-ld.ll

  Log Message:
  -----------
  [GISEL][RISCV] IRTranslator for scalable vector load (#80006)

Add IRTranslator for scalable vector load instruction and include
corresponding tests with alignment argument included, which can be
smaller/equal/larger than element size or smaller/equal/larger than the
minimum total vector size.


  Commit: 36146d2b6be53e5e98dee3c1fce8699db9615728
      https://github.com/llvm/llvm-project/commit/36146d2b6be53e5e98dee3c1fce8699db9615728
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h

  Log Message:
  -----------
  [ELF] Make LinkerDrive::link a template. NFC

This avoids many invokeELFT in `link`.


  Commit: 595280af561fdba156efbdd654ed4076855aac9c
      https://github.com/llvm/llvm-project/commit/595280af561fdba156efbdd654ed4076855aac9c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CommandLine.cpp

  Log Message:
  -----------
  Revert "[llvm] Include LLVM_REPOSITORY and LLVM_REVISION in tool version" (#85879)

Reverts llvm/llvm-project#84990 because this causes a full rebuild after
the commit hash changes.


  Commit: 22ac5f743811ae1e5004fdd43be556ebbd0496d1
      https://github.com/llvm/llvm-project/commit/22ac5f743811ae1e5004fdd43be556ebbd0496d1
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/MemRefToLLVM/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Add missing MLIRFuncDialect dep to MLIRMemRefToLLVM (#84546)

This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRMemRefToLLVM.a only:
```
In file included from mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.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: f5f3d5d6534f0a38c771119653dac3330c9f207f
      https://github.com/llvm/llvm-project/commit/f5f3d5d6534f0a38c771119653dac3330c9f207f
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    A clang/test/Sema/PR85343.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix a crash in lambda instantiation (#85565)

Fix https://github.com/llvm/llvm-project/issues/85343
When build lambda expression in lambda instantiation, `ThisType` is
required in `Sema::CheckCXXThisCapture` to build `this` capture. Set
`this` type by import `Sema::CXXThisScopeRAII` and it will be used later
in lambda expression transformation.

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: e2fa90fa0a4b7950dd0d7fae6933e89c075d0af0
      https://github.com/llvm/llvm-project/commit/e2fa90fa0a4b7950dd0d7fae6933e89c075d0af0
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M lldb/include/lldb/API/SBTarget.h

  Log Message:
  -----------
  [lldb/API] Add missing `eBroadcastBitSymbolsChanged` to SBTarget (NFC) (#85883)

This patch exposes the missing `eBroadcastBitSymbolsChanged` event bit
in `SBTarget`.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


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

  Changed paths:
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/include/lldb/Symbol/LineEntry.h
    M lldb/include/lldb/Utility/SupportFile.h
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Symbol/CompileUnit.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/LineEntry.cpp
    M lldb/source/Symbol/LineTable.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/TraceDumper.cpp

  Log Message:
  -----------
  Revert "[lldb] Store SupportFile in FileEntry (NFC)" (#85885)

Reverts llvm/llvm-project#85468 because @slackito reports this broke
stepping in one of their tests [1] and this patch was meant to be NFC.

[1]
https://github.com/llvm/llvm-project/commit/d5a277d309e92b1d3e493da6036cffdf815105b1#commitcomment-139991120


  Commit: 6f31cf51dfdc2c317ba8149d57d2ffb583403833
      https://github.com/llvm/llvm-project/commit/6f31cf51dfdc2c317ba8149d57d2ffb583403833
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    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 (#84599)"

This reverts c3a1eb6207d8 (and the related commit f3c5278efa3b) which makes
cleanupAroundReplacements() no longer thread-safe.


  Commit: 456c239d775e10a68c65cd9d461bb47e651ccbe5
      https://github.com/llvm/llvm-project/commit/456c239d775e10a68c65cd9d461bb47e651ccbe5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M lld/ELF/Arch/PPC64.cpp

  Log Message:
  -----------
  [ELF] Set ctx.internalFile for PPC64 _savegpr[01]_{14..31} and _restgpr[01]_{14..31}. NFC

Ensure that every InputFile has a non-null file so that we enforce this
in the future.


  Commit: 09db84cc5910a3546ab5b9410c295d93ed3e95cf
      https://github.com/llvm/llvm-project/commit/09db84cc5910a3546ab5b9410c295d93ed3e95cf
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M lld/ELF/InputSection.cpp

  Log Message:
  -----------
  [ELF] Remove unneeded null check in getRelocatedSection. NFC


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

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    A llvm/test/DebugInfo/NVPTX/no-extra-loc.ll

  Log Message:
  -----------
  [NVPTX][DebugInfo] avoid emitting extra .loc directives (#84584)

This change removes an extra, unneeded debug directive emitted in the
PTX at the beginning on non-empty functions:
```nvptx
.visible .func  (.param .b32 func_retval0) foo(
        .param .b32 foo_param_0,
        .param .b32 foo_param_1
)
{
        .reg .b32    %r<4>;
        .loc    1 26 0             <---- unneeded (removed by the PR)
$L__func_begin0:
        .loc    1 26 0
```


  Commit: 936519f25cb4fabc19f1241e838e938926801156
      https://github.com/llvm/llvm-project/commit/936519f25cb4fabc19f1241e838e938926801156
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/Availability.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/include/clang/InstallAPI/Frontend.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/lib/AST/Availability.cpp
    M clang/lib/InstallAPI/DylibVerifier.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    A clang/test/InstallAPI/availability.test
    A clang/test/InstallAPI/diagnostics-cpp.test
    A clang/test/InstallAPI/hiddens.test
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/diagtool/DiagnosticNames.cpp

  Log Message:
  -----------
  [InstallAPI] Verify that declarations in headers map to exports found in dylib (#85348)

* This completes support for verifying every declaration found in a
header is discovered in the dylib. Diagnostics are reported for each
class for differences that are representable in TBD files.

* This patch also now captures unavailable attributes that depend on
target triples. This is needed for proper tbd file generation.


  Commit: 0412840ef877b0b4efe117f0328ac57fc669a871
      https://github.com/llvm/llvm-project/commit/0412840ef877b0b4efe117f0328ac57fc669a871
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M lld/MachO/ObjC.cpp

  Log Message:
  -----------
  [lld] Fix -Wstring-conversion in ObjC.cpp (NFC)

llvm-project/lld/MachO/ObjC.cpp:617:12:
error: implicit conversion turns string literal into bool: 'const char[55]' to 'bool' [-Werror,-Wstring-conversion]
  617 |     assert("Tried to read pointer list beyond protocol section end");
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


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

  Changed paths:
    M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp

  Log Message:
  -----------
  Revert "[lldb] Update SymbolFilePDBTests for LineEntry change (d5a277d309e9)"

This reverts commit 113214e15b5ce3f3ec313eb1fa91a7038ecd072f as the
corresponding change was reverted in a289f66.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/hip-partial-link.hip
    M clang/test/Driver/hip-runtime-libs-linux.hip

  Log Message:
  -----------
  [HIP] do not link runtime for -r (#85675)

since it will cause duplicate symbols when the partially linked object
is linked again.


  Commit: 92b2b49994eb804253db1deeb7e9f63904cd96d1
      https://github.com/llvm/llvm-project/commit/92b2b49994eb804253db1deeb7e9f63904cd96d1
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/LineEntry.h

  Log Message:
  -----------
  [lldb] Outline Doxygen comments in LineEntry.h (NFC)

Outline and correct Doxygen comments in LineEntry.


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

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

  Log Message:
  -----------
  [RISCV] Refactor code to reduce nesting and remove repeated calls to getOpcode(). NFC (#85847)


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

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/test/MC/RISCV/rv32-machine-csr-names.s

  Log Message:
  -----------
  [RISCV] Add the CSR names from Smrnmi. (#83370)

Specification is here
https://github.com/riscv/riscv-isa-manual/blob/main/src/rnmi.adoc

CSRs numbers defined here
https://github.com/riscv/riscv-isa-manual/blob/main/src/priv-csrs.adoc


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

  Changed paths:
    M clang/lib/Format/AffectedRangeManager.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/DefinitionBlockSeparator.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/MacroCallReconstructor.cpp
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/NamespaceEndCommentsFixer.cpp
    M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UsingDeclarationsSorter.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/tools/clang-format/ClangFormat.cpp

  Log Message:
  -----------
  Revert "[clang-format][NFC] Delete 100+ redundant #include lines in .cpp files"

This reverts commit b92d6dd704d789240685a336ad8b25a9f381b4cc. See
github.com/llvm/llvm-project/commit/b92d6dd704d7#commitcomment-139992444

We should use a tool like Visual Studio to clean up the headers.


  Commit: 3eb9ff30959a670559bcba03d149d4c51bf7c9c9
      https://github.com/llvm/llvm-project/commit/3eb9ff30959a670559bcba03d149d4c51bf7c9c9
  Author: Yeoul Na <yeoul_na at apple.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTRecordWriter.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/bounds-safety-attributed-type.c
    A clang/test/PCH/Inputs/bounds-safety-attributed-type.h
    A clang/test/PCH/bounds-safety-attributed-type.c
    M clang/test/Sema/attr-counted-by.c
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  Turn 'counted_by' into a type attribute and parse it into 'CountAttributedType' (#78000)

In `-fbounds-safety`, bounds annotations are considered type attributes
rather than declaration attributes. Constructing them as type attributes
allows us to extend the attribute to apply nested pointers, which is
essential to annotate functions that involve out parameters: `void
foo(int *__counted_by(*out_count) *out_buf, int *out_count)`.

We introduce a new sugar type to support bounds annotated types,
`CountAttributedType`. In order to maintain extra data (the bounds
expression and the dependent declaration information) that is not
trackable in `AttributedType` we create a new type dedicate to this
functionality.

This patch also extends the parsing logic to parse the `counted_by`
argument as an expression, which will allow us to extend the model to
support arguments beyond an identifier, e.g., `__counted_by(n + m)` in
the future as specified by `-fbounds-safety`.

This also adjusts `__bdos` and array-bounds sanitizer code that already
uses `CountedByAttr` to check `CountAttributedType` instead to get the
field referred to by the attribute.


  Commit: 4a026b5092d77426b70ab299447af4dbd5a012d9
      https://github.com/llvm/llvm-project/commit/4a026b5092d77426b70ab299447af4dbd5a012d9
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

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

  Log Message:
  -----------
  [AMDGCN] Use ZExt when handling indices in insertment element  (#85718)

When i1 true is used as an index, SExt extends it to i32 -1. This would
cause BitVector to overflow.
The language manual have specified that the index shall be treated as an
unsigned number, this patch fixes that.
(https://llvm.org/docs/LangRef.html#insertelement-instruction)

This patch fixes #85717

---------

Signed-off-by: Peter Rong <PeterRong96 at gmail.com>


  Commit: c2423024923bae9176eda6cd958217c83955150d
      https://github.com/llvm/llvm-project/commit/c2423024923bae9176eda6cd958217c83955150d
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.h
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] DI Recursive Type fix for recursion via scope of composites (#85850)

Fixes this bug for the previous recursive DI type PR:
https://github.com/llvm/llvm-project/pull/80251#issuecomment-2007254788.

Drawing inspiration from how clang uses DIBuilder to build forward
decls, this PR changes how placeholders are created & updated. Instead
of requiring each recursive DIType to do in-place mutation, we simply
ask for a temporary node as the placeholder, and run RAUW at the end
when the concrete node is translated.

This has the side effect of simplifying what's needed to add recursion
support for a type. Now only one additional method needs to be created
for exporting. Concretely, for this PR, `translateImpl` for
DICompositeType is back to the state it was before the previous PR, and
the only net addition for DICompositeType is `translateTemporaryImpl`.

---------

Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>


  Commit: 6960ace534c4021301dd5a9933ca06ba96edea23
      https://github.com/llvm/llvm-project/commit/6960ace534c4021301dd5a9933ca06ba96edea23
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-20 (Wed, 20 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:
  -----------
  Revert "[InstCombine] Canonicalize `(sitofp x)` -> `(uitofp x)` if `x >= 0`"

This reverts commit d80d5b923c6f611590a12543bdb33e0c16044d44.

It wasn't a particularly important transform to begin with and caused
some codegen regressions on targets that prefer `sitofp` so dropping.

Might re-visit along with adding `nneg` flag to `uitofp` so its easily
reversable for the backend.


  Commit: d7e28cd82bd3141093f96f7ce2e7b36f1b115fad
      https://github.com/llvm/llvm-project/commit/d7e28cd82bd3141093f96f7ce2e7b36f1b115fad
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/test/Driver/mips-features.c
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
    A llvm/test/CodeGen/Mips/no-unaligned-access-r6.ll

  Log Message:
  -----------
  MIPS: Support -m(no-)unaligned-access for r6 (#85174)

MIPSr6 ISA requires normal load/store instructions support
misunaligned memory access, while it is not always do so
by hardware. On some microarchitectures or some corner cases
it may need support by OS.

Don't confuse with pre-R6's lwl/lwr famlily: MIPSr6 doesn't
support them, instead, r6 requires lw instruction support
misunaligned memory access. So, if -mstrict-align is used for
pre-R6, lwl/lwr won't be disabled.

If -mstrict-align is used for r6 and the access is not well
aligned, some lb/lh instructions will be used to replace lw.
This is useful for OS kernels.

To be back-compatible with GCC, -m(no-)unaligned-access are also
added as Neg-Alias of -m(no-)strict-align.


  Commit: d538c5616f4d25c6f50a1285984aba806252ce17
      https://github.com/llvm/llvm-project/commit/d538c5616f4d25c6f50a1285984aba806252ce17
  Author: Matteo Franciolini <mfranciolini at tesla.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h

  Log Message:
  -----------
  [mlir][bufferize] Fix broken implementation of denyDialect (#85881)

The current implementation is not functional and does not compile. The
patch allows to correctly mark a dialect as denied for the purpose of
bufferization.


  Commit: 807fd07646646d7f96bd3561e79435b5d7bb4a64
      https://github.com/llvm/llvm-project/commit/807fd07646646d7f96bd3561e79435b5d7bb4a64
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp

  Log Message:
  -----------
  [clangd] Handle variable templates consistently with class templates in code completion (#85740)

The option --function-arg-placeholders=0 results in placeholders being
omitted for class template argument lists. This patch extends the same
treatment to variable template argument lists.

Fixes https://github.com/clangd/clangd/issues/1976


  Commit: 5e78417db5acbcbfb33e6503e97be0734fca0631
      https://github.com/llvm/llvm-project/commit/5e78417db5acbcbfb33e6503e97be0734fca0631
  Author: Justin Holewinski <jholewinski at nvidia.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp

  Log Message:
  -----------
  [MLIR][CUDA] Use _alloca instead of alloca on Windows (#85853)

MSVC/Windows does not support `alloca()`; instead it defines `_alloca()`
in `malloc.h`.


  Commit: 9848fa4aa2a83b0fc3a93e5f905ef09c8dd85226
      https://github.com/llvm/llvm-project/commit/9848fa4aa2a83b0fc3a93e5f905ef09c8dd85226
  Author: Krishna Narayanan <84722531+Krishna-13-cyber at users.noreply.github.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/test/Transforms/InstCombine/double-float-shrink-1.ll
    M llvm/test/Transforms/InstCombine/pow-1.ll
    M llvm/test/Transforms/InstCombine/pow-exp.ll

  Log Message:
  -----------
  Enable exp10 libcall on linux (#68736)


  Commit: 756c20561efa1e58bd7d2a6df1499997b6b52e23
      https://github.com/llvm/llvm-project/commit/756c20561efa1e58bd7d2a6df1499997b6b52e23
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    A clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
    M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
    M clang/unittests/Tooling/StandardLibraryTest.cpp

  Log Message:
  -----------
  [clang][Tooling] Add special symbol mappings for C, starting with size_t (#85784)


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Transforms/InstCombine/and-or-implied-cond-not.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll

  Log Message:
  -----------
  [ValueTracking] Handle `not` in `isImpliedCondition` (#85397)

This patch handles `not` in `isImpliedCondition` to enable more fold in
some multi-use cases.


  Commit: 27df1b23e07009b1450ebb2072abac97e2958b07
      https://github.com/llvm/llvm-project/commit/27df1b23e07009b1450ebb2072abac97e2958b07
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [SLPVectorizer] Use TargetFolder (#85800)

Use IRBuilder with TargetFolder in SLPVectorizer to avoid the custom
constant folding code.

This fixes the remaining part of
https://github.com/llvm/llvm-project/issues/61240.


  Commit: 4462bb58be7d68274fb9b443b7bf4803306df87d
      https://github.com/llvm/llvm-project/commit/4462bb58be7d68274fb9b443b7bf4803306df87d
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [InstallAPI][bazel] Update BUILD after 936519f25cb4fabc19f1241e838e938926801156


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

  Changed paths:
    M libcxx/include/__format/format_arg_store.h
    A libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp

  Log Message:
  -----------
  [libc++][format] Fixes nested concept evaluation. (#85548)

Before the __formattable concept depended on itself in a contrieved
example. By using the underlying concept directly the cycle is broken.

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


  Commit: 272d1b44efdedb68c194970a610f0ca1b7b769c5
      https://github.com/llvm/llvm-project/commit/272d1b44efdedb68c194970a610f0ca1b7b769c5
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M libcxx/modules/CMakeLists.txt

  Log Message:
  -----------
  [libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#85756)

In other contexts, install directories such as
LIBCXX_INSTALL_LIBRARY_DIR and LIBCXX_INSTALL_MODULES_DIR can be
specified either as a relative path, relative to CMAKE_INSTALL_PREFIX,
or as an absolute path.

When calculating the relative path between the two, account for the fact
that LIBCXX_INSTALL_MODULES_DIR and LIBCXX_INSTALL_LIBRARY_DIR can be
absolute paths too.


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

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__ranges/view_interface.h
    M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] LWG3715: `view_interface::empty` is overconstrained (#85004)

## Abstract

This pull request implements LWG3715: `view_interface::empty` is
overconstrained. Here is an example similar to those described in the
report, which compiles with `-stdlib=libstdc++` but failed to compile
with `-stdlib=libc++`:

```cpp
// https://godbolt.org/z/EWEoTzah3
std::istringstream input("1 2 3 4 5");
auto i = std::views::istream<int>(input);
auto r = std::views::counted(i.begin(), 4) | std::views::take(2);
assert(!r.empty());
```

## Reference

- [Draft C++ Standard:
[view.interface.general]](https://eel.is/c++draft/view.interface.general)
- [LWG3715](https://wg21.link/LWG3715)


  Commit: 211eebf44fb7076d59c2d683d9211f9d44e50cce
      https://github.com/llvm/llvm-project/commit/211eebf44fb7076d59c2d683d9211f9d44e50cce
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M libcxx/include/__concepts/class_or_enum.h
    M libcxx/include/__ranges/access.h
    M libcxx/include/__ranges/data.h
    M libcxx/include/__ranges/empty.h
    M libcxx/include/__ranges/rbegin.h
    M libcxx/include/__ranges/rend.h
    M libcxx/include/__ranges/size.h

  Log Message:
  -----------
  [libc++][ranges] remove `__workaround_52970` (#85683)

## Abstract

This pull request removes the `__workaround_52970` concept. This concept
is a workaround for a bug described in #52970, which causes the compiler
to trigger ADL on a pointer to an incomplete type in an SFINAE context.
This bug is fixed in Clang 14.

## Reference

- [[clang] Don't typo-fix an expression in a SFINAE
context](https://reviews.llvm.org/D117603)
- [[libc++] [ranges] ADL-proof the [range.access]
CPOs.](https://reviews.llvm.org/D116239)


  Commit: 070d1e83213f0e9eb71582141dd2323131a307e3
      https://github.com/llvm/llvm-project/commit/070d1e83213f0e9eb71582141dd2323131a307e3
  Author: Pravin Jagtap <prjagtap at amd.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/bf16-conversions.ll

  Log Message:
  -----------
  [AMDGPU] Add test for fpext & fptrunc with bf16. (#85909)

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


  Commit: e6b5bd5854c80eac05f415ad282ba84b840b8af8
      https://github.com/llvm/llvm-project/commit/e6b5bd5854c80eac05f415ad282ba84b840b8af8
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [FMV] Emit the resolver along with the default version definition. (#84405)

We would like the resolver to be generated eagerly, even if the
versioned function is not called from the current translation
unit. Fixes #81494. It further allows Multi Versioning to work
even if the default target version attribute is omitted from
function declarations.


  Commit: 9fd1c4121f7c797ff7222161cb40cd68ecf0fbc8
      https://github.com/llvm/llvm-project/commit/9fd1c4121f7c797ff7222161cb40cd68ecf0fbc8
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/LinalgToStandard/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Add missing MLIRLinalgTransforms to LinalgToStandard conv (#84545)

This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRLinalgToStandard.a only:
```
In file included from mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h:12,
                 from mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h:21,
                 from mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp:15:
mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h:20:10: fatal error: mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc: No such file or directory
```


  Commit: d03263814aa1a686e5aaca99ab9d87408b2c6cb5
      https://github.com/llvm/llvm-project/commit/d03263814aa1a686e5aaca99ab9d87408b2c6cb5
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrVSX.td

  Log Message:
  -----------
  [PowerPC] Fix operand regclass of XSTSTDCSP


  Commit: 1f1e0948f20338961f995426c11497e8f21ceb08
      https://github.com/llvm/llvm-project/commit/1f1e0948f20338961f995426c11497e8f21ceb08
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/array-value-copy-2.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/loop01.fir
    M flang/test/Fir/loop02.fir
    M flang/test/Lower/OpenMP/FIR/flush.f90
    M flang/test/Lower/OpenMP/FIR/master.f90
    M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    A flang/test/Transforms/omp-reduction-cfg-conversion.fir

  Log Message:
  -----------
  [flang] run CFG conversion on omp reduction declare ops (#84953)

Most FIR passes only look for FIR operations inside of functions (either
because they run only on func.func or they run on the module but iterate
over functions internally). But there can also be FIR operations inside
of fir.global, some OpenMP and OpenACC container operations.

This has worked so far for fir.global and OpenMP reductions because they
only contained very simple FIR code which doesn't need most passes to be
lowered into LLVM IR. I am not sure how OpenACC works.

In the long run, I hope to see a more systematic approach to making sure
that every pass runs on all of these container operations. I will write
an RFC for this soon.

In the meantime, this pass duplicates the CFG conversion pass to also
run on omp reduction operations. This is similar to how the
AbstractResult pass is already duplicated for fir.global operations.

OpenMP array reductions 2/6
Previous PR: https://github.com/llvm/llvm-project/pull/84952
Next PR: https://github.com/llvm/llvm-project/pull/84954

---------

Co-authored-by: Mats Petersson <mats.petersson at arm.com>


  Commit: 1f63a56cede85bcd5f4fea3663bd3a47b801a396
      https://github.com/llvm/llvm-project/commit/1f63a56cede85bcd5f4fea3663bd3a47b801a396
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp

  Log Message:
  -----------
  [flang][CodeGen] Run PreCGRewrite on omp reduction declare ops (#84954)

OpenMP reduction declare operations can contain FIR code which needs to
be lowered to LLVM. With array reductions, these regions can contain
more complicated operations which need PreCGRewriting. A similar extra
case was already needed for fir::GlobalOp.

OpenMP array reductions 3/6
Previous PR: https://github.com/llvm/llvm-project/pull/84953
Next PR: https://github.com/llvm/llvm-project/pull/84955


  Commit: 0f46e31cfbf415fcd3d3ce121bef94e92c6ccfc8
      https://github.com/llvm/llvm-project/commit/0f46e31cfbf415fcd3d3ce121bef94e92c6ccfc8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp
    M clang/test/CodeGenCXX/constructor-init.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
    M clang/test/CodeGenCXX/microsoft-interface.cpp
    M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/static-init.cpp
    M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout.cpp
    M clang/test/OpenMP/target_data_use_device_ptr_inheritance_codegen.cpp
    M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_ref.ll
    M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_undef.ll
    M lld/test/ELF/lto/devirt_split_unit_localize.ll
    M lld/test/ELF/lto/devirt_validate_vtable_typeinfos_ref.ll
    M lld/test/MachO/thinlto-split-unit-start-lib.ll
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/ConstantFold.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/Operator.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Transforms/IPO/GlobalSplit.cpp
    M llvm/lib/Transforms/Utils/FunctionComparator.cpp
    M llvm/test/Assembler/getelementptr.ll
    A llvm/test/Assembler/inrange-errors.ll
    M llvm/test/Bitcode/compatibility-4.0.ll
    M llvm/test/Bitcode/compatibility-5.0.ll
    M llvm/test/Bitcode/compatibility-6.0.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/Transforms/GlobalDCE/virtual-functions-base-call.ll
    M llvm/test/Transforms/GlobalDCE/virtual-functions-base-pointer-call.ll
    M llvm/test/Transforms/GlobalDCE/virtual-functions-derived-call.ll
    M llvm/test/Transforms/GlobalDCE/virtual-functions-derived-pointer-call.ll
    M llvm/test/Transforms/GlobalDCE/virtual-functions-novfe.ll
    M llvm/test/Transforms/GlobalDCE/virtual-functions-visibility-post-lto.ll
    M llvm/test/Transforms/GlobalDCE/virtual-functions-visibility-pre-lto.ll
    M llvm/test/Transforms/GlobalDCE/virtual-functions.ll
    M llvm/test/Transforms/GlobalDCE/vtable-rtti.ll
    M llvm/test/Transforms/GlobalSplit/basic.ll
    M llvm/test/Transforms/GlobalSplit/non-beneficial.ll
    M llvm/test/Transforms/GlobalSplit/nonlocal.ll
    M llvm/test/Transforms/Inline/devirtualize-4.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
    M llvm/test/Transforms/Internalize/vcall-visibility.ll
    M llvm/test/Transforms/MergeFunc/constexpr.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/pr33536.ll

  Log Message:
  -----------
  [IR] Change representation of getelementptr inrange (#84341)

As part of the migration to ptradd
(https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699),
we need to change the representation of the `inrange` attribute, which
is used for vtable splitting.

Currently, inrange is specified as follows:

```
getelementptr inbounds ({ [4 x ptr], [4 x ptr] }, ptr @vt, i64 0, inrange i32 1, i64 2)
```

The `inrange` is placed on a GEP index, and all accesses must be "in
range" of that index. The new representation is as follows:

```
getelementptr inbounds inrange(-16, 16) ({ [4 x ptr], [4 x ptr] }, ptr @vt, i64 0, i32 1, i64 2)
```

This specifies which offsets are "in range" of the GEP result. The new
representation will continue working when canonicalizing to ptradd
representation:

```
getelementptr inbounds inrange(-16, 16) (i8, ptr @vt, i64 48)
```

The inrange offsets are relative to the return value of the GEP. An
alternative design could make them relative to the source pointer
instead. The result-relative format was chosen on the off-chance that we
want to extend support to non-constant GEPs in the future, in which case
this variant is more expressive.

This implementation "upgrades" the old inrange representation in bitcode
by simply dropping it. This is a very niche feature, and I don't think
trying to upgrade it is worthwhile. Let me know if you disagree.


  Commit: 27534d69e275eeb6669296c038bf29d8a9b163e5
      https://github.com/llvm/llvm-project/commit/27534d69e275eeb6669296c038bf29d8a9b163e5
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-reduction-call.mlir

  Log Message:
  -----------
  [mlir][LLVM] erase call mappings in forgetMapping() (#84955)

It looks like the mappings for call instructions were forgotten here.
This fixes a bug in OpenMP when in-lining a region containing call
operations multiple times.

OpenMP array reductions 4/6
Previous PR: https://github.com/llvm/llvm-project/pull/84954
Next PR: https://github.com/llvm/llvm-project/pull/84957


  Commit: 56e32491526e21687ed1466a99ae39a9374e30b0
      https://github.com/llvm/llvm-project/commit/56e32491526e21687ed1466a99ae39a9374e30b0
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Simplify GFX11/GFX12 FLAT instruction definitions. NFC. (#85819)

- Give the tablegen record for the Real the same name as the tablegen
  record for the pseudo. This removes all cases where the same
  instruction name has to be mentioned more than once on the definition
  line.
- Use multiclasses for all Real definitions, to allow suffixes to be
  added bit by bit, e.g. first _SADDR and then _gfx11.

This is a similar approach to the one used in BUFInstructions.td.


  Commit: eefef900c6a24f2acd724726bc52884e058575da
      https://github.com/llvm/llvm-project/commit/eefef900c6a24f2acd724726bc52884e058575da
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/test/Transforms/InstCombine/double-float-shrink-1.ll
    M llvm/test/Transforms/InstCombine/pow-1.ll
    M llvm/test/Transforms/InstCombine/pow-exp.ll

  Log Message:
  -----------
  Revert "Enable exp10 libcall on linux (#68736)"

This reverts commit 9848fa4aa2a83b0fc3a93e5f905ef09c8dd85226.

Causes buildbot failures.


  Commit: 3b0a426b3fbe99e128b718a4761ea30b394ce9bb
      https://github.com/llvm/llvm-project/commit/3b0a426b3fbe99e128b718a4761ea30b394ce9bb
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp

  Log Message:
  -----------
  [flang][NFC] move extractSequenceType helper out of OpenACC to share code (#84957)

Moving extractSequenceType to FIRType.h so that this can also be used
from OpenMP.

OpenMP array reductions 5/6
Previous PR: https://github.com/llvm/llvm-project/pull/84955
Next PR: https://github.com/llvm/llvm-project/pull/84958


  Commit: 260ac8e52f6dac02958aca874ba46dea0b99fef3
      https://github.com/llvm/llvm-project/commit/260ac8e52f6dac02958aca874ba46dea0b99fef3
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp

  Log Message:
  -----------
  [MLIR] Remove unneeded FuncOps.h include in AffineAnalysis (#85912)

This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRAffineAnalysis.a only:

In file included from
mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp:20:
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: fe1341248d7dd9abd0545ddb48373756645c3f9f
      https://github.com/llvm/llvm-project/commit/fe1341248d7dd9abd0545ddb48373756645c3f9f
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M openmp/libomptarget/test/offloading/workshare_chunk.c

  Log Message:
  -----------
  [OpenMP] Disable workshare_chunk.c test case on SystemZ

The test added by https://github.com/llvm/llvm-project/pull/83261
has been consistently failing.  Mark as UNSUPPORTED just like on
x86_64 and aarch64.


  Commit: cd768ec9837afed4d226a5abc8035a1559c18bc5
      https://github.com/llvm/llvm-project/commit/cd768ec9837afed4d226a5abc8035a1559c18bc5
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/unittests/Target/AArch64/AddressingModes.cpp

  Log Message:
  -----------
  [AArch64] Support scalable offsets with isLegalAddressingMode (#83255)

Allows us to indicate that an addressing mode featuring a
vscale-relative immediate offset is supported.


  Commit: 0247564c14ffc7f6a13ed9d127e32bfdfbf93a19
      https://github.com/llvm/llvm-project/commit/0247564c14ffc7f6a13ed9d127e32bfdfbf93a19
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Add missing MLIRGPUDialect dep to MLIRSPIRVDialect (#84554)

This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRSPIRVDialect.a only:
```
mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp:17:
mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h:120:10: fatal error: mlir/Dialect/GPU/IR/CompilationAttrInterfaces.h.inc: No such file or directory
```


  Commit: b7975cae7b18485e704a86ed4690a621e5064e13
      https://github.com/llvm/llvm-project/commit/b7975cae7b18485e704a86ed4690a621e5064e13
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  Revert "[FMV] Emit the resolver along with the default version definition." (#85914)

Reverts llvm/llvm-project#84405

In between of passing the precommit tests on github and being merged
some change (perhaps in the AArch64 backend?) landed which resulted
in altering the generated resolver. I will regenerate the tests
perhaps using a less sensitive runline to such changes.


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

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

  Log Message:
  -----------
  [bazel] Add a missing dependency for aa95aa69b96f51a3c19a24a0387ebc1fb7e6e52c


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

  Changed paths:
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__iterator/ranges_iterator_traits.h
    M libcxx/include/__tuple/tuple_element.h
    M libcxx/include/__type_traits/copy_cv.h
    M libcxx/include/__type_traits/is_assignable.h
    M libcxx/include/__type_traits/is_constructible.h
    M libcxx/include/__type_traits/is_nothrow_assignable.h
    M libcxx/include/__type_traits/is_nothrow_constructible.h
    M libcxx/include/__type_traits/is_trivially_assignable.h

  Log Message:
  -----------
  [libc++][NFC] Remove uses of add_{const,cv,volatile} (#85635)

These traits can be expressed without having to instantiate any classes,
reducing compile times slightly.


  Commit: 36a3f8f6471ba04b7ebf32a3393708b8fb32aecf
      https://github.com/llvm/llvm-project/commit/36a3f8f6471ba04b7ebf32a3393708b8fb32aecf
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/unittests/Target/AArch64/CMakeLists.txt
    A llvm/unittests/Target/AArch64/Immediates.cpp

  Log Message:
  -----------
  [TTI][TLI][AArch64] Support scalable immediates with isLegalAddImmediate (#84173)

Adds a second parameter (default to 0) to isLegalAddImmediate, to
represent a scalable immediate.

Extends the AArch64 implementation to match immediates based on what addvl and inc[h|w|d] support.


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

  Changed paths:
    M libcxx/test/libcxx/module_std.gen.py
    M libcxx/test/libcxx/module_std_compat.gen.py

  Log Message:
  -----------
  [libc++][CI] Reenables the module tests. (#85799)

These were disabled due to ODR violations with mixed versions of
clang-tidy and the clang libraries. This issue was fixed in
e19e8600cf743690e1a23fb8a2b0dfbe2dafe559.

This reverts commit 0bbada93a559b604797fe57978f3eca5e41edaeb.


  Commit: 197f3ecf92b91ad1626307a17edf0761f2e4136b
      https://github.com/llvm/llvm-project/commit/197f3ecf92b91ad1626307a17edf0761f2e4136b
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    R flang/test/Lower/OpenMP/Todo/reduction-arrays.f90
    A flang/test/Lower/OpenMP/parallel-reduction-array.f90
    A flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-array2.f90

  Log Message:
  -----------
  [flang][OpenMP] lower simple array reductions (#84958)

This has been tested with arrays with compile-time constant bounds.
Allocatable arrays and arrays with non-constant bounds are not yet
supported. User-defined reduction functions are also not yet supported.

The design is intended to work for arrays with non-constant bounds too
without a lot of extra work (mostly there are bugs in OpenMPIRBuilder I
haven't fixed yet).

We need some way to get these runtime bounds into the reduction init and
combiner regions. To keep things simple for now I opted to always box
the array arguments so the box can be passed as one argument and the
lower bounds and extents read from the box. This has the disadvantage of
resulting in fir.box_dim operations inside of the critical section. If
these prove to be a performance issue, we could follow OpenACC reading
box lower bounds and extents before the reduction and passing them as
block arguments to the reduction init and combiner regions. I would
prefer to keep things simple for now.

Note: this implementation only works when the HLFIR lowering is used. I
don't think it is worth supporting FIR-only lowering because the plan is
for that to be removed soon.

OpenMP array reductions 6/6
Previous PR: https://github.com/llvm/llvm-project/pull/84957


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Target/AArch64/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 36a3f8f6471b


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

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

  Log Message:
  -----------
  [VectorCombine] foldBitcastShuffle - include the cost of bitcasts in the comparison

This makes no real difference currently as we only fold unary shuffles, but I'm hoping to handle binary shuffles in a future patch.


  Commit: d84252e064b3f35aa879c10e207f77e931f351d9
      https://github.com/llvm/llvm-project/commit/d84252e064b3f35aa879c10e207f77e931f351d9
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M flang/docs/OpenMP-descriptor-management.md
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/omp-reduction-embox-codegen.fir
    M flang/test/Lower/OpenMP/FIR/array-bounds.f90
    M flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    M flang/test/Lower/OpenMP/FIR/ordered-threads.f90
    M flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/target.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
    M flang/test/Lower/OpenMP/allocatable-map.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
    M flang/test/Lower/OpenMP/map-component-ref.f90
    M flang/test/Lower/OpenMP/ordered-threads.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
    M flang/test/Lower/OpenMP/parallel-reduction.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Transforms/omp-descriptor-map-info-gen.fir
    M flang/test/Transforms/omp-reduction-cfg-conversion.fir
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/omptarget-array-sectioning-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-nowait-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-call.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Uniformize OpenMP ops names (#85393)

This patch proposes the renaming of certain OpenMP dialect operations with the
goal of improving readability and following a uniform naming convention for
MLIR operations and associated classes. In particular, the following operations
are renamed:

- `omp.map_info` -> `omp.map.info`
- `omp.target_update_data` -> `omp.target_update`
- `omp.ordered_region` -> `omp.ordered.region`
- `omp.cancellationpoint` -> `omp.cancellation_point`
- `omp.bounds` -> `omp.map.bounds`
- `omp.reduction.declare` -> `omp.declare_reduction`

Also, the following MLIR operation classes have been renamed:

- `omp::TaskLoopOp` -> `omp::TaskloopOp`
- `omp::TaskGroupOp` -> `omp::TaskgroupOp`
- `omp::DataBoundsOp` -> `omp::MapBoundsOp`
- `omp::DataOp` -> `omp::TargetDataOp`
- `omp::EnterDataOp` -> `omp::TargetEnterDataOp`
- `omp::ExitDataOp` -> `omp::TargetExitDataOp`
- `omp::UpdateDataOp` -> `omp::TargetUpdateOp`
- `omp::ReductionDeclareOp` -> `omp::DeclareReductionOp`
- `omp::WsLoopOp` -> `omp::WsloopOp`


  Commit: 7ccb31a5bcd60d6e691a57bf02ebd1e1ebfbe675
      https://github.com/llvm/llvm-project/commit/7ccb31a5bcd60d6e691a57bf02ebd1e1ebfbe675
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-20 (Wed, 20 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: f24d68a1078c4330a764a837eff58e9934637c1a
      https://github.com/llvm/llvm-project/commit/f24d68a1078c4330a764a837eff58e9934637c1a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove FLAT_Real_AllAddr_gfx11 in favor of GLOBAL_Real_AllAddr_gfx11

Plus some related cleanups. NFC.


  Commit: e66cfebb04ff4fcf313905f49dbd863e7113432c
      https://github.com/llvm/llvm-project/commit/e66cfebb04ff4fcf313905f49dbd863e7113432c
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Argument.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll
    M llvm/test/Transforms/InstSimplify/icmp-constant.ll
    M llvm/test/Transforms/InstSimplify/shift-knownbits.ll

  Log Message:
  -----------
  [ValueTracking] Handle range attributes (#85143)

Handle the range attribute in ValueTracking.


  Commit: 4b369ff076d9205ddbcfcdef89276a737a83ce0e
      https://github.com/llvm/llvm-project/commit/4b369ff076d9205ddbcfcdef89276a737a83ce0e
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp

  Log Message:
  -----------
  [analyzer][NFC] Fix unused variable warning


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Test clean up (#85922)

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


  Commit: 3a90cb4c1819c5ad90ba1cba266c5e94cc4ce230
      https://github.com/llvm/llvm-project/commit/3a90cb4c1819c5ad90ba1cba266c5e94cc4ce230
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-20 (Wed, 20 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 da118c93b40f74f6770cf8550903721555d3c97b to fix
crashes reported in https://github.com/llvm/llvm-project/pull/84363.


  Commit: 81ec95ff983afd7f31c2713891bbc37bd630a100
      https://github.com/llvm/llvm-project/commit/81ec95ff983afd7f31c2713891bbc37bd630a100
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  Silence -Wswitch warnings

TypeSystemClang.cpp:4074:11: error: enumeration value 'CountAttributed' not handled in switch [-Werror,-Wswitch]
 4074 |   switch (qual_type->getTypeClass()) {
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~
TypeSystemClang.cpp:4755:11: error: enumeration value 'CountAttributed' not handled in switch [-Werror,-Wswitch]
 4755 |   switch (qual_type->getTypeClass()) {
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~
TypeSystemClang.cpp:5088:11: error: enumeration value 'CountAttributed' not handled in switch [-Werror,-Wswitch]
 5088 |   switch (qual_type->getTypeClass()) {
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~


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

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/hip-phases.hip

  Log Message:
  -----------
  [HIP] Correctly omit bundling with the new driver (#85842)

Summary:
The HIP phases do not emit the offload bundler output when we do not
invoke the final linker phase in device only mode. Check this propery.


  Commit: da2c98b5582436d2f58c98403671cc1fd5bf5186
      https://github.com/llvm/llvm-project/commit/da2c98b5582436d2f58c98403671cc1fd5bf5186
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Dialect/Utils/CMakeLists.txt
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp

  Log Message:
  -----------
  [MLIR] Remove UtilsDialect dep on ArithUtils (#85919)

This will reduce the amount of libraries pulled through the de facto
dependency of TilingInterface on UtilsDialect for its IteratorType.


  Commit: 679e594d9d400ab688f6cc47b3ca26fe69265cae
      https://github.com/llvm/llvm-project/commit/679e594d9d400ab688f6cc47b3ca26fe69265cae
  Author: Yuta Saito <kateinoigakukun at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Features.def
    M clang/test/Sema/swift-call-conv.c

  Log Message:
  -----------
  [clang] Add `__has_extension(swiftcc)` support (#85347)


  Commit: 1de7e6c8cba27296f3fc16d107822ea0ee856759
      https://github.com/llvm/llvm-project/commit/1de7e6c8cba27296f3fc16d107822ea0ee856759
  Author: Abhin P Jose <abhinjose at live.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/test/Sema/warn-cast-function-type-strict.c
    M clang/test/Sema/warn-cast-function-type.c
    M clang/test/SemaCXX/warn-cast-function-type-strict.cpp
    M clang/test/SemaCXX/warn-cast-function-type.cpp

  Log Message:
  -----------
  [clang] move -Wcast-function-type under -Wextra (#77178)

The -Wcast-fuction-type-strict has been moved under dignstic group
-Wextra.
Edited the test cases for -Wcast-fuction-type-strict and
-Wcast-fuction-type in Sema an SemaCXX.

Added a new test case which include a functionality that was already in
the -Wextra group, i.e -Wignored-qualifiers with
-Wcast-fuction-type-strict.

Fixes: #76872


  Commit: 254bfe955ac3deba08dbbe490ef3cf5004a3bd6e
      https://github.com/llvm/llvm-project/commit/254bfe955ac3deba08dbbe490ef3cf5004a3bd6e
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/ArchiveWriter.h
    M llvm/lib/Object/ArchiveWriter.cpp
    A llvm/test/tools/llvm-ar/ecsymbols.ll
    A llvm/test/tools/llvm-ar/ecsymbols.yaml
    A llvm/test/tools/llvm-lib/empty.test

  Log Message:
  -----------
  [llvm-ar][Object][COFF] Add support for EC symbols to llvm-ar. (#85230)

Make writeArchive IsEC argument optional and use EC symbol map when indicated by input object files.


  Commit: fb5fd2d82f9befba9cf5152d1a0c5e6f91ee48f0
      https://github.com/llvm/llvm-project/commit/fb5fd2d82f9befba9cf5152d1a0c5e6f91ee48f0
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    R flang/module/omp_lib.f90
    R flang/module/omp_lib.h
    M flang/test/Driver/include-omp-header.f90
    M flang/test/Lower/OpenMP/FIR/atomic-capture.f90
    M flang/test/Lower/OpenMP/FIR/atomic-read.f90
    M flang/test/Lower/OpenMP/FIR/atomic-update.f90
    M flang/test/Lower/OpenMP/FIR/atomic-write.f90
    M flang/test/Lower/OpenMP/FIR/critical.f90
    M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    M flang/test/Lower/OpenMP/FIR/parallel.f90
    M flang/test/Lower/OpenMP/FIR/sections.f90
    M flang/test/Lower/OpenMP/FIR/single.f90
    M flang/test/Lower/OpenMP/FIR/task.f90
    M flang/test/Lower/OpenMP/FIR/taskgroup.f90
    M flang/test/Lower/OpenMP/FIR/teams.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
    M flang/test/Lower/OpenMP/parallel-sections.f90
    M flang/test/Lower/OpenMP/parallel.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/taskgroup.f90
    M flang/test/Lower/OpenMP/teams.f90
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
    M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
    M flang/test/Parser/OpenMP/allocate-tree.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/f18/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt
    M openmp/runtime/src/CMakeLists.txt
    A openmp/runtime/src/include/omp_lib.F90.var
    R openmp/runtime/src/include/omp_lib.f90.var
    M openmp/runtime/src/include/omp_lib.h.var

  Log Message:
  -----------
  [flang][OpenMP] Compile proper `omp_lib.mod` from the `openmp/src/include` sources (#80874)

This PR changes the build system to use use the sources for the module
`omp_lib` and the `omp_lib.h` include file from the `openmp` runtime
project and not from a separate copy of these files. This will greatly
reduce potential for inconsistencies when adding features to the OpenMP
runtime implementation.

When the OpenMP subproject is not configured, this PR also disables the
corresponding LIT tests with a "REQUIRES" directive at the beginning of
the OpenMP test files.

---------

Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
    A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-but-not-operands.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: 6c1d4454ad00414cf20f9a69e04856de99f6bf1d
      https://github.com/llvm/llvm-project/commit/6c1d4454ad00414cf20f9a69e04856de99f6bf1d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

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

Adds improved bitwidth analysis for shl/ashr/lshr instructions. The
analysis is based on similar version in InstCombiner.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: bdc77d1ecc9219dfc641aaaa4fb088233e9a32d1
      https://github.com/llvm/llvm-project/commit/bdc77d1ecc9219dfc641aaaa4fb088233e9a32d1
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp

  Log Message:
  -----------
  [RemoveDIs][NFC] Rename DPLabel->DbgLabelRecord (#85918)

This patch renames DPLabel to DbgLabelRecord, in accordance with the
ongoing DbgRecord rename. This rename was fairly trivial, since DPLabel
isn't as widely used as DPValue and has no real conflicts in either its
full or abbreviated name. As usual, the entire replacement was done
automatically, with `s/DPLabel/DbgLabelRecord/` and `s/DPL/DLR/`.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll

  Log Message:
  -----------
  [VectorCombine] foldBitcastShuf - add support for binary shuffles

Generalise fold to "bitcast (shuf V0, V1, MaskC) --> shuf (bitcast V0), (bitcast V1), MaskC'".

Further prep work for #67803


  Commit: 3eb806373e3164b242db65f8c900e4adb5a2eddf
      https://github.com/llvm/llvm-project/commit/3eb806373e3164b242db65f8c900e4adb5a2eddf
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp

  Log Message:
  -----------
  [CodeGen] Fix test on 32-bit targets (NFC)

The range here will be different for 32-bit targets. Use a wildcard,
just like all te other target-sensitive parts in this test.


  Commit: 98c6bc531d091215896087b94e4e047c67f892c2
      https://github.com/llvm/llvm-project/commit/98c6bc531d091215896087b94e4e047c67f892c2
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
    M mlir/include/mlir/Transforms/Mem2Reg.h
    M mlir/include/mlir/Transforms/SROA.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/SROA.cpp

  Log Message:
  -----------
  [MLIR][SROA][Mem2Reg] Add data layout to interface methods (#85644)

This commit expends the Mem2Reg and SROA interface methods with passed
in handles to a `DataLayout` structure. This is done to avoid
superfluous retreiving of data layouts during each conversion of
intrinsics.

This change, additionally, enables subsequent changes to make the LLVM
dialect implementation of these interfaces type agnostic.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll

  Log Message:
  -----------
  Revert 2ac85d8d200a9e1e0ced501c2d2f04404c400bd9 "[VectorCombine] foldBitcastShuf - add support for binary shuffles"

Breaks some tests in other subprojects - will recommit with a fix later


  Commit: 9d1cb18d19862fc0627e4a56e1e491a498e84c71
      https://github.com/llvm/llvm-project/commit/9d1cb18d19862fc0627e4a56e1e491a498e84c71
  Author: Hans <hans at hanshq.net>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    A clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll

  Log Message:
  -----------
  [Coroutines] Ignore instructions more aggressively in addMustTailToCoroResumes() (#85271)

The old code used isInstructionTriviallyDead() and removed instructions
when walking the path from a resume call to function return to check if
the call is in tail position.

However, since the code was walking forwards it was not able to get past
instructions such as:

  %gep = getelementptr inbounds i64, ptr %alloc.var, i32 0
  %foo = ptrtoint ptr %gep to i64

This patch instead ignores such instructions as long as their values are
not needed. This enables the code to emit tail calls in more situations.


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

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

  Log Message:
  -----------
  [AMDGPU] Simplify definition of GLOBAL_LOAD_TR Real instructions


  Commit: 3fbac79064e405a54388d11370ab5a8f0f23914d
      https://github.com/llvm/llvm-project/commit/3fbac79064e405a54388d11370ab5a8f0f23914d
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-soft-float-abi-errors.c

  Log Message:
  -----------
  [AArch64] Don't write to source directory in test


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

  Changed paths:
    M lldb/source/Interpreter/OptionGroupVariable.cpp
    M lldb/test/API/functionalities/target_var/TestTargetVar.py

  Log Message:
  -----------
  [lldb] Omit --show-globals in `help target var` (#85855)

This option doesn't exist. It is currently displayed by `help target
var` due to a bug introduced by 41ae8e7445 in 2018.

Some code for `target var` and `frame var` is shared, and some hard-code
constants are used in order to filter out options that belong only to
`frame var`. However, the aforementioned commit failed to update these
constants properly. This patch addresses the issue by having a _single_
place where the filtering of options needs to be done.


  Commit: 5f5a64134b679d0b97d8fbd4ea65da361bb22cae
      https://github.com/llvm/llvm-project/commit/5f5a64134b679d0b97d8fbd4ea65da361bb22cae
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/combine-sse41-intrinsics.ll
    M llvm/test/CodeGen/X86/int-to-fp-demanded.ll

  Log Message:
  -----------
  Revert "[DAGCombiner] Simplifying `{si|ui}tofp` when only signbit is needed"

This reverts commit 353fbeb0a294d2c7cef6d88607fa0fd50ee81462. It crashes
when it encounters an UINT_TO_FP.

llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1618 in SDValue llvm::SelectionDAG::getConstant(const ConstantInt &, const SDLoc &, EVT, bool, bool): VT.isInteger() && "Cannot create FP integer constant!"


  Commit: 2137894a6f5475e51c541b6d16e8902125a8f002
      https://github.com/llvm/llvm-project/commit/2137894a6f5475e51c541b6d16e8902125a8f002
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/fpbits_str.h
    A libc/src/__support/sign.h
    M libc/src/__support/str_to_float.h
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/coshf.cpp
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/log_range_reduction.h
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/stdio/printf_core/float_dec_converter.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/__support/FPUtil/CMakeLists.txt
    M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/math/FDimTest.h
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/ILogbTest.h
    M libc/test/src/math/LdExpTest.h
    M libc/test/src/math/NextAfterTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/atanhf_test.cpp
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FmaTest.h
    M libc/test/src/math/smoke/HypotTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/RemQuoTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/atanhf_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Move `Sign` type to separate header (#85930)


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

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

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

This reverts commit c2c1e6ee4ce0df3d000ba880fa6cf58441da6462. It creates
a use after free.

==8342==ERROR: AddressSanitizer: heap-use-after-free on address 0x50f000001760 at pc 0x55b9fb84a8fb bp 0x7ffc18468a10 sp 0x7ffc18468a08
READ of size 1 at 0x50f000001760 thread T0
 #0 0x55b9fb84a8fa in dropPoisonGeneratingFlags llvm/lib/Transforms/Vectorize/VPlan.h:1040:13
 #1 0x55b9fb84a8fa in llvm::VPlanTransforms::dropPoisonGeneratingRecipes(llvm::VPlan&, llvm::function_ref<bool (llvm::BasicBlock*)>)::$_0::operator()(llvm::VPRecipeBase*) const llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:1236:23
 #2 0x55b9fb84a196 in llvm::VPlanTransforms::dropPoisonGeneratingRecipes(llvm::VPlan&, llvm::function_ref<bool (llvm::BasicBlock*)>) llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

Can be reproduced with asan on
Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
Transforms/LoopVectorize/X86/pr81872.ll
Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll


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

  Changed paths:
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/lib/InstallAPI/DylibVerifier.cpp
    M clang/test/InstallAPI/diagnostics-cpp.test

  Log Message:
  -----------
  [InstallAPI] Simplify & improve symbol printing for diagnostics (#85894)

* Defer mangling of symbols until an error is ready to report
* Pass around fewer parameters when reporting


  Commit: 05bde30585710a51592eee0a6cf6df8184d09c92
      https://github.com/llvm/llvm-project/commit/05bde30585710a51592eee0a6cf6df8184d09c92
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
    M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
    M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
    M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
    M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
    M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
    M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
    M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
    M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
    M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
    M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
    M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
    M llvm/test/CodeGen/X86/callbr-asm-kill.mir
    M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
    M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
    M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
    M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
    A llvm/test/MachineVerifier/test_adjustsstack.mir

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

Have the verifier report a missing AdjustsStack flag rather than waiting until
PEI asserts.


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

  Changed paths:
    M clang/test/CodeGen/SystemZ/systemz-ppa2.c
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/lib/MC/MCAsmInfoGOFF.cpp
    M llvm/test/CodeGen/SystemZ/call-zos-01.ll
    M llvm/test/CodeGen/SystemZ/call-zos-i128.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
    M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
    M llvm/test/MC/GOFF/ppa1.ll
    M llvm/unittests/IR/ManglerTest.cpp

  Log Message:
  -----------
  [GOFF][z/OS] Change PrivateGlobalPrefix and PrivateLabelPrefix to be L# (#85730)

The current values for PrivateGlobalPrefix and PrivateLabelPrefix (@@
and @ respectively) are, in hindsight, poor choices for multiple
reasons:

First, there exist externally visible routines from the language
environment that begin with @@. These functions are certainly not
local/private by any means and they should not share a prefix with
private globals.

Secondly, both private globals and private labels should be handled the
same way by GOFF, so it doesn't make much sense for them to have
separate prefixes. GOFF remains the only file format where these are
different and there is no reason for that to be the case


  Commit: 972f65a83f933b0f90cf975ef89452f4210e9b06
      https://github.com/llvm/llvm-project/commit/972f65a83f933b0f90cf975ef89452f4210e9b06
  Author: martinboehme <mboehme at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [clang][NFC] Add documentation for `CastExpr::path()`. (#85623)

This didn't have any documentation, so I had to do some experimenting in
godbolt when I used this in
https://github.com/llvm/llvm-project/pull/84138, and my reviewer later
also had some
[questions](https://github.com/llvm/llvm-project/pull/84138#discussion_r1524855434)
about this, so I figured it would be worth adding documentation.


  Commit: 647d75d3a883c008c19a79bce265388b3c95e742
      https://github.com/llvm/llvm-project/commit/647d75d3a883c008c19a79bce265388b3c95e742
  Author: Tina Jung <tinamaria.jung at amd.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/invalid_types.mlir

  Log Message:
  -----------
  [mlir][emitc] Restrict integer and float types (#85788)

Restrict which integers and floating-point types are valid in EmitC.
This should cover the types which are supported in C++ and is aligned
with what the emitter currently supports.

The checks are implemented as functions and not fully in tablegen to
allow them to be re-used by conversions to EmitC.


  Commit: a9fe23cde3ee554f4bd6118edcc2e747f3a8d8d5
      https://github.com/llvm/llvm-project/commit/a9fe23cde3ee554f4bd6118edcc2e747f3a8d8d5
  Author: chrulski-intel <christopher.m.chrulski at intel.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/LTO.cpp
    M lld/COFF/Options.td
    A lld/test/COFF/Inputs/lto-sample-profile.prof
    A lld/test/COFF/lto-sample-profile.ll

  Log Message:
  -----------
  [LLD] [COFF] Port -lto-sample-profile to COFF version of LLD (#85701)

Following the commit of #83972 which added COFF support for SPGO, this
patch ports the support of the option -lto-sample-profile that was only
available in the ELF variant of LLD to the COFF variant to enable
running the SPGO passes in the LTO/thinLTO pipelines.


  Commit: caf8b1f654122342dc846ae4d9a86d5c6f93f945
      https://github.com/llvm/llvm-project/commit/caf8b1f654122342dc846ae4d9a86d5c6f93f945
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/lib/Interfaces/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Add missing MLIRDialectUtils dep to TilingInterface (#84544)

This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRTilingInterface.a only:
```
In file included from mlir/include/mlir/Interfaces/TilingInterface.h:17,                                                                     
                 from mlir/lib/Interfaces/TilingInterface.cpp:13:                                                                            
mlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h:27:10: fatal error: mlir/Dialect/Utils/DialectUtilsEnums.h.inc: No such file or directory
```


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

  Changed paths:
    M clang/test/CodeGen/X86/avx-shuffle-builtins.c
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll

  Log Message:
  -----------
  [VectorCombine] foldBitcastShuf - add support for binary shuffles (REAPPLIED)

Generalise fold to "bitcast (shuf V0, V1, MaskC) --> shuf (bitcast V0), (bitcast V1), MaskC'".

Reapplied with a clang codegen test fix.

Further prep work for #67803


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with arguments of functions, reduced by minbitwidth
analysis.


  Commit: 4095a326c026a2b6dcb839a8c1c75906c6ba5b0a
      https://github.com/llvm/llvm-project/commit/4095a326c026a2b6dcb839a8c1c75906c6ba5b0a
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/CAPI/llvm.c
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Add extraData field to the DIDerivedType attribute (#85935)

This commit extends the DIDerivedTypeAttr with the `extraData` field.
For now, the type of it is limited to be a `DINodeAttr`, as extending
the debug metadata handling to support arbitrary metadata nodes does not
seem to be necessary so far.


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

  Changed paths:
    M compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h

  Log Message:
  -----------
  [scudo] Fix type mismatch on DefaultMaxEntrySize (#85897)


  Commit: 48a1a9b26048d2a88eaf5b09de0525ab557615de
      https://github.com/llvm/llvm-project/commit/48a1a9b26048d2a88eaf5b09de0525ab557615de
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/docs/HLSL/HLSLSupport.rst

  Log Message:
  -----------
  [HLSL][docs] Document hlsl.h in the HLSL docs (#84081)

This adds a brief blurb about hlsl.h in the HLSLSupport documentation
where a high level view of the architecture is explained.


  Commit: 927308a52bc51ae786db1bd645ad5ef5889fdb2a
      https://github.com/llvm/llvm-project/commit/927308a52bc51ae786db1bd645ad5ef5889fdb2a
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  [libomptarget][nextgen-plugin] Use SCRELEASE/SCACQUIRE in packet headers (#85678)

This patch updates the construction of packet headers to replace the
usage of ACQUIRE/RELEASE with SCACQUIRE/SCRELEASE which is now
recommended.
The patch also ensures consistency across kernel dispatches.


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

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

  Log Message:
  -----------
  [SLP][NFC]Make findBestRootPair() member function constant.


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

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/Loader.cpp
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  Revert "[libomptarget][nextgen-plugin] Use SCRELEASE/SCACQUIRE in packet headers" (#85950)

Reverts llvm/llvm-project#85678


  Commit: 767e0c8bcef9cfcc57e76e66e23489ba60042762
      https://github.com/llvm/llvm-project/commit/767e0c8bcef9cfcc57e76e66e23489ba60042762
  Author: Thomas Lively <tlively at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    A llvm/test/CodeGen/WebAssembly/pr63817.ll

  Log Message:
  -----------
  [WebAssembly] Select BUILD_VECTOR with large unsigned lane values (#85880)

Previously we expected lane constants to be in the range of signed
values for each lane size, but the included test case produced large
unsigned values that fall outside that range. Allow instruction
selection to proceed in this case rather than failing.

Fixes #63817.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/test/CodeGen/RISCV/double-arith-strict.ll
    M llvm/test/CodeGen/RISCV/double-arith.ll
    M llvm/test/CodeGen/RISCV/double-bitmanip-dagcombines.ll
    M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/double-calling-conv.ll
    M llvm/test/CodeGen/RISCV/double-convert-strict.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
    M llvm/test/CodeGen/RISCV/double-fcmp.ll
    M llvm/test/CodeGen/RISCV/double-imm.ll
    M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
    M llvm/test/CodeGen/RISCV/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/double-isnan.ll
    M llvm/test/CodeGen/RISCV/double-maximum-minimum.ll
    M llvm/test/CodeGen/RISCV/double-mem.ll
    M llvm/test/CodeGen/RISCV/double-previous-failure.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/double-round-conv.ll
    M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
    M llvm/test/CodeGen/RISCV/double-select-icmp.ll
    M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
    M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
    M llvm/test/CodeGen/RISCV/half-convert-strict.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/pr64645.ll
    M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
    M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll

  Log Message:
  -----------
  [RISCV] Use REG_SEQUENCE/EXTRACT_SUBREG to move between individual GPRs and GPRPair. (#85887)

Previously we used memory like we do to move between GPRs and FPR64 with
the D extension on RV32.

We can instead use REG_SEQUENCE/EXTRACT_SUBREG to inform register
allocation how to do the copy without memory.


  Commit: 3deaa77f1a25f0cdfcf23c34fac0b51293f32f9c
      https://github.com/llvm/llvm-project/commit/3deaa77f1a25f0cdfcf23c34fac0b51293f32f9c
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90

  Log Message:
  -----------
  [flang][OpenMP] simplify getReductionName (#85666)

Re-use fir::getTypeAsString instead of creating something new here. This
spells integer names like i32 instead of i_32 so there is a lot of test
churn.


  Commit: 9ebd329ad87ca4cde3ce62e1bf5612c4fc0fcb7f
      https://github.com/llvm/llvm-project/commit/9ebd329ad87ca4cde3ce62e1bf5612c4fc0fcb7f
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
    M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
    M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
    M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
    M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
    M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
    M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
    M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
    M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
    M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
    M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
    M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
    M llvm/test/CodeGen/X86/callbr-asm-kill.mir
    M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
    M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
    M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
    M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
    R llvm/test/MachineVerifier/test_adjustsstack.mir

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

This reverts commit 05bde30585710a51592eee0a6cf6df8184d09c92.

Reverting due to verifier complaints with expensive checks on build-bot.


  Commit: d209d1340b99d4fbd325dffb5e13b757ab8264ea
      https://github.com/llvm/llvm-project/commit/d209d1340b99d4fbd325dffb5e13b757ab8264ea
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M libcxx/modules/CMakeLists.txt

  Log Message:
  -----------
  [libcxx] [cmake] Fix cmake_path(ABSOLUTE_PATH) for empty CMAKE_INSTALL_PREFIX

This should hopefully fix the issue brought up at
https://github.com/llvm/llvm-project/pull/85756#issuecomment-2009852291.


  Commit: eb861acd49e4c6777e2fe09dd2004ac1f4731bba
      https://github.com/llvm/llvm-project/commit/eb861acd49e4c6777e2fe09dd2004ac1f4731bba
  Author: Steven Varoumas <steven.varoumas at huawei.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/python/CMakeLists.txt
    A mlir/python/mlir/dialects/IndexOps.td
    A mlir/python/mlir/dialects/index.py
    A mlir/test/python/dialects/index_dialect.py

  Log Message:
  -----------
  [mlir][python] Enable python bindings for Index dialect (#85827)

This small patch enables python bindings for the index dialect.

---------

Co-authored-by: Steven Varoumas <steven.varoumas1 at huawei.com>


  Commit: 75dfa58ea93aa93b97534906778cb3dd24ba841a
      https://github.com/llvm/llvm-project/commit/75dfa58ea93aa93b97534906778cb3dd24ba841a
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-20 (Wed, 20 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/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Value.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  [RemoveDIs][NFC] Rename DPMarker->DbgMarker (#85931)

Another trivial rename patch, the last big one for now, which renamed
DPMarkers to DbgMarkers. This required the field `DbgMarker` in
`Instruction` to be renamed to `DebugMarker` to avoid a clash, but
otherwise was a simple string substitution of `s/DPMarker/DbgMarker` and
a manual renaming of `DPM` to `DM` in the few places where that acronym
was used for debug markers.


  Commit: 407937036fa7640f61f225474b1ea6623a40dbdd
      https://github.com/llvm/llvm-project/commit/407937036fa7640f61f225474b1ea6623a40dbdd
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M libcxx/modules/CMakeLists.txt

  Log Message:
  -----------
  Revert "[libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#85756)"

This reverts commit 272d1b44efdedb68c194970a610f0ca1b7b769c5,
and the follow-up fix in d209d1340b99d4fbd325dffb5e13b757ab8264ea.

Even after the follow-up fix, building with an empty
CMAKE_INSTALL_PREFIX errors out with errors like this:

    CMake Error at /b/s/w/ir/x/w/llvm-llvm-project/libcxx/modules/CMakeLists.txt:215 (file):
      file RELATIVE_PATH must be passed a full path to the directory:
      lib/x86_64-pc-windows-msvc


  Commit: 12028cb1dab9ba1b4ac826c3d70ca19c3b379255
      https://github.com/llvm/llvm-project/commit/12028cb1dab9ba1b4ac826c3d70ca19c3b379255
  Author: Will Hawkins <hawkinsw at obs.cr>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp

  Log Message:
  -----------
  [DwarfGenerator] Calculate relative offset according to Dwarf Version (#84847)

The relative offset for a CU in Dwarf v5 (and later) is different than
the relative offset for a CU in Dwarf v4 (and before).

Signed-off-by: Will Hawkins <hawkinsw at obs.cr>


  Commit: 1b5b4eebb6a012cf223954013d34c6e896720822
      https://github.com/llvm/llvm-project/commit/1b5b4eebb6a012cf223954013d34c6e896720822
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M compiler-rt/lib/memprof/memprof_allocator.h

  Log Message:
  -----------
  [memprof] Move allocator base to avoid conflict with high-entropy ASLR (#85834)

memprof often fails when ASLR entropy is too high ('sudo sysctl
vm.mmap_rnd_bits=32; ninja check-memprof'), which is the default setting
for newer versions of Ubuntu
(https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/commit/?h=hwe-6.5-next--2024.03.04-1--auto&id=6b522637c6a7dabd8530026ae933fb5ff17e877f).
This patch fixes the issue by moving the allocator base, analogously to
ASan (https://reviews.llvm.org/D148280).

Explanation from the ASan patch: when CONFIG_ARCH_MMAP_RND_BITS == 32,
it will frequently conflict with memprof's allocator, because the PIE
program segment base address of 0x555555555554 plus an ASLR shift of up
to ((2**32) * 4K == 0x100000000000) will sometimes exceed memprof's
hardcoded base address of 0x600000000000. We fix this by simply moving
the allocator base to 0x500000000000, which is below the PIE program
segment base address. This is cleaner than trying to move it to another
location that is sandwiched between the PIE program and library
segments, because if either of those grow too large, it will collide
with the allocator region.

Note that we will never need to change this base address again (unless
we want to increase the size of the allocator), because ASLR cannot be
set above 32-bits for x86-64 Linux (the PIE program segment and library
segments would collide with each other; see also ARCH_MMAP_RND_BITS_MAX
in https://github.com/torvalds/linux/blob/master/arch/x86/Kconfig).


  Commit: a6a6066290679f23f2bd6b27afc7a06aab07590f
      https://github.com/llvm/llvm-project/commit/a6a6066290679f23f2bd6b27afc7a06aab07590f
  Author: Eric Li <li.zhe.hua at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [clang][dataflow] Fix crash when analyzing a coroutine (#85957)

A coroutine function body (`CoroutineBodyStmt`) may have null children,
which causes `isa` to segfault.


  Commit: 9cb5004209323d6fa8af8c41e456818c20585984
      https://github.com/llvm/llvm-project/commit/9cb5004209323d6fa8af8c41e456818c20585984
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  Reland [FMV] Emit the resolver along with the default version definit… (#85923)

…ion.

This was reverted because the resolver didn't look as expected in one of
the tests. I believe it had some interaction with #84146. I have now
regenerated it using -target-feature -fp-armv8.


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

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Add isStaticRelSecType to simplify SHT_REL/SHT_RELA testing. NFC

and make it easier to introduce a new relocation format.

https://discourse.llvm.org/t/rfc-relleb-a-compact-relocation-format-for-elf/77600

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


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

  Changed paths:
    M clang/test/CodeGen/X86/avx-shuffle-builtins.c

  Log Message:
  -----------
  [X86] avx-shuffle-builtins.c - limit to x86 targets

Attempt to fix issue with non-x86 buildbots (sorry its blind but I can't test this)


  Commit: decd88ef0538504707c5d1f0fd8b9de60a5b9b4c
      https://github.com/llvm/llvm-project/commit/decd88ef0538504707c5d1f0fd8b9de60a5b9b4c
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [RemoveDIs][NFC] Delete a now-redundant comment

Submitted without review for being a trivial comment-only change, deletes
a line that requests the DbgLabelRecord class be renamed to DbgLabelRecord
in the future.


  Commit: b754e6f6900e8c4205567fb2a13ff3c90811f5bc
      https://github.com/llvm/llvm-project/commit/b754e6f6900e8c4205567fb2a13ff3c90811f5bc
  Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M libc/test/src/math/smoke/FMaxTest.h

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


  Commit: b20360abeb3a80281dc082f1e093abd13cb1ee4c
      https://github.com/llvm/llvm-project/commit/b20360abeb3a80281dc082f1e093abd13cb1ee4c
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/test/Driver/riscv-features.c

  Log Message:
  -----------
  clang driver: enable fast unaligned access for Android on RISCV64 (#85704)

Android CTS test already requires fast unaligned access
https://android-review.googlesource.com/c/platform/cts/+/2675633


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

  Changed paths:
    M lld/test/ELF/driver.test

  Log Message:
  -----------
  [ELF] Improve unknown -z test


  Commit: 49c3e78961f841717c0aeec0c04b6e5401ddd6ce
      https://github.com/llvm/llvm-project/commit/49c3e78961f841717c0aeec0c04b6e5401ddd6ce
  Author: Augie Fackler <augie at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [bazel] add missing dependency for 2137894a6f5475e51c541b6d16e8902125a8f002


  Commit: 66a2ed50ccb6de64fdf82957ca0d4b55ef76f3cd
      https://github.com/llvm/llvm-project/commit/66a2ed50ccb6de64fdf82957ca0d4b55ef76f3cd
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M lldb/test/API/source-manager/TestSourceManager.py

  Log Message:
  -----------
  [lldb] Remove process restart prompt from TestSourceManager (#85861)

In TestSourceManager, test_artificial_source_location will give the
process restart prompt if you run the test individually. The reason is
that we run the process twice: first using a convenience function to run
to a specific breakpoint and then again to check for a specific message
emitted when you hit the breakpoint. Instead of running twice and making
the test difficult to run individually, we can just check for the
specific messages using other commands.


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

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

  Log Message:
  -----------
  [RISCV] Cleanup setOperationAction for ISD::BITCAST with Zfa and D extension. NFC

We only need Custom handling for i64 on RV32. This will be used by
type legalization. We don't need to make it custom for f64 to get
type legalization to custom split i64.

If f64 and i64 are legal types, then ISD::BITCAST should be legal.


  Commit: 10b0e355372fab1f4d585555536525545eef8523
      https://github.com/llvm/llvm-project/commit/10b0e355372fab1f4d585555536525545eef8523
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Utility/AddressableBits.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Utility/AddressableBits.cpp

  Log Message:
  -----------
  [lldb] Invert relationship between Process and AddressableBits (#85858)

AddressableBits is in the Utility module of LLDB. It currently directly
refers to Process, which is from the Target LLDB module. This is a
layering violation which concretely means that it is impossible to link
anything that uses Utility without it also using Target as well. This is
generally not an issue for LLDB (since everything is built together) but
it may make it difficult to write unit tests for AddressableBits later
on.


  Commit: 5ea152033ee99ac7ccde791009c372a0983b4eaf
      https://github.com/llvm/llvm-project/commit/5ea152033ee99ac7ccde791009c372a0983b4eaf
  Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [libc]: Implement strfromf() and shared utilities (#85438)

Fixes #84244.

Implements the function `strfromf()` introduced in C23, and adds shared
utilities for implementation of other `strfrom*()` functions, including
`strfromd()` and `strfroml()`.


  Commit: 5e6bb1fb885abec2e8bc85422bbd83fe4ece6d3b
      https://github.com/llvm/llvm-project/commit/5e6bb1fb885abec2e8bc85422bbd83fe4ece6d3b
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Target/Target.td

  Log Message:
  -----------
  [TableGen][Target] Add documentation to `Constraints`. (#85951)

This patch adds some basic documentation for `Constraints`, along with
some "see also" pointers for backend writers to learn more.


  Commit: 4df099e447840bae24e88efca1ab4c03a5d7b21b
      https://github.com/llvm/llvm-project/commit/4df099e447840bae24e88efca1ab4c03a5d7b21b
  Author: Augie Fackler <augie at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [bazel] another BUILD fix for 2137894a6f5475e51c541b6d16e8902125a8f002


  Commit: 62ed009ce218897d7707144de54fa1e2beec59dc
      https://github.com/llvm/llvm-project/commit/62ed009ce218897d7707144de54fa1e2beec59dc
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan.cpp
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/dfsan/dfsan_platform.h

  Log Message:
  -----------
  [dfsan] Re-exec with no ASLR if memory layout is incompatible on Linux (#85674)

DFSan's shadow mappings are incompatible with 32 bits of ASLR entropy
('sudo sysctl vm.mmap_rnd_bits=32; ninja check-dfsan') and it is
difficult to fix this via increasing the size of the shadow mappings,
due to the overhead of shadow memory. This patch works around the issue
by detecting if the memory layout is incompatible, and if so,
re-exec'ing without ASLR.

DFSan and MSan share copy-pasted shadow memory code, hence this
workaround is ported from MSan:
- "[msan] Re-exec with no ASLR if memory layout is incompatible on
Linux"
(https://github.com/llvm/llvm-project/commit/58f7251820b14c93168726a24816d8a094599be5)
- "[msan] Add 'MappingDesc::ALLOCATOR' type and check it is available"
(https://github.com/llvm/llvm-project/commit/af2bf86a372cacf5f536bae06e2f2d3886eefb7b)
(which in turn are inspired by TSan: "Re-exec TSan with no ASLR if
memory layout is incompatible on Linux"
(https://github.com/llvm/llvm-project/commit/0784b1eefa36d4acbb0dacd2d18796e26313b6c5
))

aeubanks had remarked in
https://github.com/llvm/llvm-project/pull/85142#issuecomment-2004442883
that this issue occurs in Chromium:
https://ci.chromium.org/ui/p/chromium/builders/try/linux_upload_clang/5066/overview


  Commit: 5231005193afb8db01afe9a8a1aa308d25f60ba1
      https://github.com/llvm/llvm-project/commit/5231005193afb8db01afe9a8a1aa308d25f60ba1
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/test/C/C2x/n2975.c
    M clang/test/Lexer/gnu-flags.c
    M clang/test/Preprocessor/empty_va_arg.cpp
    M clang/test/Preprocessor/macro_fn.c

  Log Message:
  -----------
  [Clang] Update missing varargs arg extension warnings (#84520)

This updates a few warnings that were diagnosing no arguments for a
`...` variadic macro parameter as a GNU extension when it actually is a
C++20/C23 extension now.

This fixes #84495.


  Commit: cc9186060ad75c68a052bbcf43d7d1ee93143a60
      https://github.com/llvm/llvm-project/commit/cc9186060ad75c68a052bbcf43d7d1ee93143a60
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [mlir][nvgpu][nvvm] Add myself as a primary reviewer for nvgpu and nvvm dialects (#85414)


  Commit: 949d70d5e023b34b741b7d577c61a7ef60c3316f
      https://github.com/llvm/llvm-project/commit/949d70d5e023b34b741b7d577c61a7ef60c3316f
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    A llvm/test/CodeGen/SPIRV/instructions/bitwise-i1.ll

  Log Message:
  -----------
  [SPIR-V] Fix incorrect bitwise instructions applied to the bool type (#85929)

This PR ensures that LLVM IR bitwise instructions result in logical
SPIR-V instructions when applied to i1 type.


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/SPIRV/empty-logical.ll
    M llvm/test/CodeGen/SPIRV/empty-module.ll
    M llvm/test/CodeGen/SPIRV/empty-opencl32.ll
    M llvm/test/CodeGen/SPIRV/empty-opencl64.ll
    M llvm/test/CodeGen/SPIRV/empty.ll
    A llvm/test/CodeGen/SPIRV/fence.ll

  Log Message:
  -----------
  [SPIRV] Add __spirv_ builtins for existing instructions (#85654)

This PR:
* adds __spirv_ builtins for existing instructions;
* fixes parsing of "syncscope" values in atomic instructions;
* fix a special case of binary header emision.


  Commit: f676e84bba016157f5879fa66d86737ac8920c4b
      https://github.com/llvm/llvm-project/commit/f676e84bba016157f5879fa66d86737ac8920c4b
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/test/TableGen/ConstraintChecking3.td
    A llvm/test/TableGen/ConstraintChecking8.td
    M llvm/utils/TableGen/CodeGenInstruction.cpp

  Log Message:
  -----------
  [TableGen] Fix operand constraint checking problem. (#85859)

Currently operand constraint checks on "$dest = $src" are inadvertently
accepting any token that contains "=". This has surprising results, e.g,
"$dest != $src" is accepted as a constraint but then treated as "=".

This patch ensures that only exactly the token "=" is accepted.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    A llvm/test/CodeGen/RISCV/attributes-module-flag.ll
    A llvm/test/CodeGen/RISCV/module-elf-flags.ll

  Log Message:
  -----------
  [RISCV] Use 'riscv-isa' module flag to set ELF flags and attributes. (#85155)

Walk all the ISA strings and set the subtarget bits for any extension we
find in any string.

This allows LTO output to have a ELF attributes from the union of all of
the files used to compile it.


  Commit: 3f39571228fe2cf402e6ea5727cd5b32f9299356
      https://github.com/llvm/llvm-project/commit/3f39571228fe2cf402e6ea5727cd5b32f9299356
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.h
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/isinf.ll
    A llvm/test/CodeGen/DirectX/isinf_error.ll
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX][DXIL] Distinguish return type for overload type resolution. (#85646)

Return type of DXIL Ops may be different from valid overload type of the
parameters, if any. Such DXIL Ops are correctly represented in DXIL.td.
However, DXILEmitter assumes the return type to be the same as parameter
overload type, if one exists. This results in generation in incorrect
overload index value in DXILOperation.inc for the DXIL Op and incorrect
DXIL operation function call in DXILOpLowering pass.

This change distinguishes return types correctly from parameter overload
types in DXILEmitter backend to handle such DXIL ops.

Add specification for DXIL Op `isinf` and corresponding tests to verify
the above change.

Fixes issue #85125


  Commit: 2e817bfb4890249d1f5c0e50827d1d742c4f3df4
      https://github.com/llvm/llvm-project/commit/2e817bfb4890249d1f5c0e50827d1d742c4f3df4
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [RISCV] Add missing feature predicates to some of the RVV pseudos (#85983)

Some of the RVV pseudos are missing HasVInstructions. This is
effectively a NFC.


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

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

  Log Message:
  -----------
  [C11] Add test coverage for N1310 and claim conformance

This is about the best I could do for testing that `signed char` does
not have any padding bits.


  Commit: d9c4c312d81b4a2059d0ca2bb454c3452e52042e
      https://github.com/llvm/llvm-project/commit/d9c4c312d81b4a2059d0ca2bb454c3452e52042e
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Parse/ParsePragma.cpp
    A clang/test/CodeGen/X86/cx-complex-range.c
    M clang/test/CodeGen/complex-math.c
    M clang/test/CodeGen/cx-complex-range.c
    M clang/test/CodeGen/pragma-cx-limited-range.c
    M clang/test/CodeGen/smiths-complex-div.c
    M clang/test/Driver/range.c

  Log Message:
  -----------
  [CLANG] Full support of complex multiplication and division. (#81514)

In clang there are two options `-f[no]cx-limited-range` and
`-f[no]cx-fortran-rules` that control the range of complex
multiplication and division. However, it is unclear how these options
interact with one another. For instance, what should happen when the
users compile with `-fcx-fortran-rules -fno-cx-limited-range` or
`-fcx-limited-range -fno-cx-fortran-rules`?

In this patch we are introducing a new option to solve the issue and
give a greater flexibility to the user to control the behavior of the
compiler when performing multiplication and division of complex
floating-point values.

`-fcomplex-arihmetic=[full|improved|promoted|basic]`

`full`: Implementation of complex division and multiplication using a
call to runtime library functions (generally the case, but the BE might
sometimes replace the library call if it knows enough about the
potential range of the inputs). Overflow and non-finite values are
handled by the library implementation. For the case of multiplication
overflow will occur in accordance with normal floating-point rules. This
is the default value.

`improved`: Implementation of complex division using the Smith algorithm
at source precision. Smith's algorithm for complex division. See SMITH,
R. L. Algorithm 116: Complex division. Commun. ACM 5, 8 (1962). This
value offers improved handling for overflow in intermediate
calculations, but overflow may occur. NaN and infinite values are not
handled in some cases.

`promoted`: Implementation of complex division using algebraic formulas
at higher precision. Overflow is handled. Non-finite values are handled
in some cases. If the target does not have native support for a higher
precision data type, the implementation for the complex operation using
the Smith algorithm will be used. Overflow may still occur in some
cases. NaN and infinite values are not handled.

`basic`: Implementation of complex division and multiplication using
algebraic formulas at source precision. No special handling to avoid
overflow. NaN and infinite values are not handled.

`fcx-limited-range` will alias `-fcomplex-arithmetic=basic`
`-fcx-fortran-rules` will alias `-fcomplex-arithmetic=improved`
`-fno-cx-limited-range` and `-fno-cx-fortran-rules` will alias
`-fcomplex-arithmetic=full`

The complex division and multiplication will be implemented as follows
depending on the option used.

<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">

<head>

<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 15">
<meta name=Originator content="Microsoft Word 15">
<link rel=File-List

href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_filelist.xml">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:AllowPNG/>
 </o:OfficeDocumentSettings>
</xml><![endif]-->
<link rel=themeData

href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_themedata.thmx">
<link rel=colorSchemeMapping

href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_colorschememapping.xml">
<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-US</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:EnableOpenTypeKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="--"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
  DefSemiHidden="false" DefQFormat="false" DefPriority="99"
  LatentStyleCount="376">
<w:LsdException Locked="false" Priority="0" QFormat="true"
Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading
1"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 9"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="header"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footer"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index heading"/>
  <w:LsdException Locked="false" Priority="35" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of figures"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope return"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="line number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="page number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of authorities"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="macro"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="toa heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true"
Name="Title"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Closing"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Signature"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="true"
   UnhideWhenUsed="true" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true"
Name="Subtitle"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Salutation"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Date"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Note Heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Block Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Hyperlink"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true"
Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true"
Name="Emphasis"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Document Map"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Plain Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="E-mail Signature"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Top of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Bottom of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal (Web)"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Acronym"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Cite"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Code"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Definition"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Keyboard"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Preformatted"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Sample"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Typewriter"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Variable"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Table"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation subject"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="No List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Contemporary"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Elegant"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Professional"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Balloon Text"/>
  <w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder
Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No
Spacing"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
1"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" QFormat="true"
   Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true"
Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" QFormat="true"
   Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
6"/>
  <w:LsdException Locked="false" Priority="19" QFormat="true"
   Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" QFormat="true"
   Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" QFormat="true"
   Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" QFormat="true"
   Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book
Title"/>
  <w:LsdException Locked="false" Priority="37" SemiHidden="true"
   UnhideWhenUsed="true" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
  <w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
  <w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
  <w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
  <w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
  <w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
  <w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6
Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7
Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6
Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7
Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Mention"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Smart Hyperlink"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Hashtag"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Unresolved Mention"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Smart Link"/>
 </w:LatentStyles>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-536869121 1107305727 33554432 0 415 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-469750017 -1040178053 9 0 511 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin-top:0in;
	margin-right:0in;
	margin-bottom:8.0pt;
	margin-left:0in;
	line-height:107%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-font-kerning:1.0pt;
	mso-ligatures:standardcontextual;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:8.0pt;
	line-height:107%;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.WordSection1
	{page:WordSection1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin-top:0in;
	mso-para-margin-right:0in;
	mso-para-margin-bottom:8.0pt;
	mso-para-margin-left:0in;
	line-height:107%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-font-kerning:1.0pt;
	mso-ligatures:standardcontextual;}
</style>
<![endif]-->
</head>

<body lang=EN-US style='tab-interval:.5in;word-wrap:break-word'>
<!--StartFragment-->


-fcomplex-arithmetic | div | mul
-- | -- | --
basic | algebraic form | algebraic form
improved | smith's algorithm | algebraic form
full | libcall | libcall + nan processing
promoted | algebraic form + higher precision | algebraic form



<!--EndFragment-->
</body>

</html>


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf

  Log Message:
  -----------
  [flang][cuda] Fix fir.cuda_kernel_launch assembly with no args (#85987)

When the kernel launch has no arguments, the generated parser was
expecting at least a type to be present. Make the last part of the
assemble format optional.
Add a run line to round-trip the output through fir-opt so we make sure
the IR can be parsed and printed correctly.


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

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenACC/acc-bounds.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90

  Log Message:
  -----------
  [flang][Lower] Convert OMP Map and related functions to evaluate::Expr (#81626)

The related functions are `gatherDataOperandAddrAndBounds` and
`genBoundsOps`. The former is used in OpenACC as well, and it was
updated to pass evaluate::Expr instead of parser objects.

The difference in the test case comes from unfolded conversions of index
expressions, which are explicitly of type integer(kind=8).

Delete now unused `findRepeatableClause2` and `findClause2`.

Add `AsGenericExpr` that takes std::optional. It already returns
optional Expr. Making it accept an optional Expr as input would reduce
the number of necessary checks when handling frequent optional values in
evaluator.

[Clause representation 4/6]


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] Add SDPatternMatch m_ZExtOrSelf/m_SExtOrSelf/m_AExtOrSelf/m_TruncOrSelf matchers (#85480)

Fixes #85395


  Commit: 1f1f569b29f42161ea978328aea60044f16eee49
      https://github.com/llvm/llvm-project/commit/1f1f569b29f42161ea978328aea60044f16eee49
  Author: Christudasan Devadasan <Christudasan.Devadasan at amd.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp

  Log Message:
  -----------
  [PowerPC] Clang format (NFC).


  Commit: c2fd0e4398a90be2f4640964f3c1f2a73a3a1487
      https://github.com/llvm/llvm-project/commit/c2fd0e4398a90be2f4640964f3c1f2a73a3a1487
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [AMDGPU] Copy SOP properties from pseudo to real. NFCI. (#85997)

This is to help llvm-obdump to analyze instructions in a future patch.


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

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

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

This patch fixes:

  clang/lib/CodeGen/CGExprComplex.cpp:1037:14: error: unused variable
  'ComplexElementTy' [-Werror,-Wunused-variable]


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

  Changed paths:
    M lld/test/ELF/riscv-tlsdesc.s
    A llvm/test/CodeGen/RISCV/tlsdesc-symbol.ll

  Log Message:
  -----------
  [llvm][lld] Pre-commit tests for RISCV TLSDESC symbols

Currently, we mistakenly mark the local labels used in RISC-V TLSDESC as
TLS symbols, when they should not be. This patch adds tests with the
current incorrect behavior, and subsequent patches will address the
issue.

Reviewers: MaskRay, topperc

Reviewed By: MaskRay

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


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

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp

  Log Message:
  -----------
  [mlir][vector] Adds pattern rewrite for maskable Ops (#83827)

Adds a generic pattern rewrite for maskable Ops, `MaskableOpRewritePattern`,
that will work for both masked and un-masked cases, e.g. for both:

* `vector.mask {vector.contract}` (masked), and
* `vector.contract` (not masked).

This helps to reduce code-duplication and standardise how we implement such
patterns.

Fixes #78787


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

  Changed paths:
    M mlir/docs/Tutorials/transform/Ch2.md
    M mlir/examples/transform/Ch2/include/MyExtension.h
    M mlir/examples/transform/Ch2/include/MyExtension.td
    M mlir/examples/transform/Ch2/lib/MyExtension.cpp
    M mlir/examples/transform/Ch3/include/MyExtension.h
    M mlir/examples/transform/Ch3/include/MyExtension.td
    M mlir/examples/transform/Ch3/include/MyExtensionTypes.td
    M mlir/examples/transform/Ch3/lib/MyExtension.cpp
    M mlir/examples/transform/Ch4/include/MyExtension.h
    M mlir/examples/transform/Ch4/include/MyExtension.td
    M mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.h
    M mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
    M mlir/include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.h
    M mlir/include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.td
    M mlir/include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.h
    M mlir/include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.td
    M mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.h
    M mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.td
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.h
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
    M mlir/include/mlir/Dialect/GPU/TransformOps/Utils.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td
    M mlir/include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.h
    M mlir/include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.td
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.h
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
    M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h
    M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.h
    M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
    M mlir/include/mlir/Dialect/Transform/CMakeLists.txt
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
    M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h
    M mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
    R mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    R mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.td
    A mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    A mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.td
    M mlir/include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.h
    M mlir/include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.h
    M mlir/include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterPassBase.h
    M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.h
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
    M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
    M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
    M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
    M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
    M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
    M mlir/lib/Dialect/Transform/CMakeLists.txt
    M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
    M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
    R mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformTypes.cpp
    A mlir/lib/Dialect/Transform/Interfaces/CMakeLists.txt
    A mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
    M mlir/lib/Dialect/Transform/Transforms/CheckUses.cpp
    M mlir/lib/Dialect/Transform/Transforms/InferEffects.cpp
    M mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp
    M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterPassBase.cpp
    M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/test/Dialect/Tensor/decompose-concat.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir
    M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
    M mlir/test/Dialect/Tensor/rewrite-as-constant.mlir
    M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
    M mlir/test/Dialect/Vector/vector-materialize-mask.mlir
    M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
    M mlir/test/Dialect/Vector/vector-multi-reduction-outer-lowering.mlir
    M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
    M mlir/test/Dialect/Vector/vector-transfer-full-partial-split-copy-transform.mlir
    M mlir/test/Dialect/Vector/vector-transfer-full-partial-split.mlir
    M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
    M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/test-shuffle16x16.mlir
    M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
    M mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformStateExtension.h
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir] split transform interfaces into a separate library (#85221)

Transform interfaces are implemented, direction or via extensions, in
libraries belonging to multiple other dialects. Those dialects don't
need to depend on the non-interface part of the transform dialect, which
includes the growing number of ops and transitive dependency footprint.

Split out the interfaces into a separate library. This in turn requires
flipping the dependency from the interface on the dialect that has crept
in because both co-existed in one library. The interface shouldn't
depend on the transform dialect either.

As a consequence of splitting, the capability of the interpreter to
automatically walk the payload IR to identify payload ops of a certain
kind based on the type used for the entry point symbol argument is
disabled. This is a good move by itself as it simplifies the interpreter
logic. This functionality can be trivially replaced by a
`transform.structured.match` operation.


  Commit: de4ce5dd2bde7f9d7cbfe47a542a308779c43ce3
      https://github.com/llvm/llvm-project/commit/de4ce5dd2bde7f9d7cbfe47a542a308779c43ce3
  Author: John McCall <rjmccall at apple.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/test/CodeGen/swift-async-call-conv.c

  Log Message:
  -----------
  Rebase swiftasynccall's musttail support onto the [[clang::musttail]] logic (#86011)

The old logic expects the call to be the last thing we emitted, and
since it kicks in before we emit cleanups, and since `swiftasynccall`
functions always return void, that's likely to be true. "Likely" isn't
very reassuring when we're talking about slapping attributes on random
calls, though. And indeed, while I can't find any way to break the logic
directly in current main, our previous (ongoing?) experiments with
shortening argument temporary lifetimes definitely broke it wide open.
So while this commit is prophylactic for now, it's clearly the right
thing to do, and it can cherry-picked to other branches to fix problems.


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    A llvm/test/Transforms/PGOProfile/memop_profile_funclet_wasm.ll

  Log Message:
  -----------
  [PGO] Use isScopedEHPersonality for funclet check (#85671)

This line should be `isScopedEHPersonality` rather than
`isFuncletEHPersonality` because this line is used for checking whether
we need to add `funclet` op bundles to newly added calls, and Wasm EH
needs that too.

The new test case is adapted from

https://github.com/llvm/llvm-project/blob/main/llvm/test/Transforms/PGOProfile/memop_profile_funclet.ll.


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

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

  Log Message:
  -----------
  [BOLT][NFC] Expose YAMLProfileWriter::convert function

The function is to be used by YAML profile emission in BAT mode for
BinaryFunctions not covered by BAT tables (same as in original binary).

Test Plan: NFC

Reviewers: rafaelauler, ayermolo, dcci, maksfb

Reviewed By: dcci

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


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

  Changed paths:
    M bolt/lib/Profile/YAMLProfileWriter.cpp

  Log Message:
  -----------
  [BOLT][NFC] Simplify YAMLProfileWriter::convert

Use `getAnnotationWithDefault` instead of testing if the annotation is
set. If the default value is used, and `CSI.Count` is set to zero, the
target is discarded by a check below.

Test Plan: NFC

Reviewers: maksfb, dcci, rafaelauler, ayermolo

Reviewed By: ayermolo

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


  Commit: 61b24c61a90802e06e40a7ab0aa5e2138486bd73
      https://github.com/llvm/llvm-project/commit/61b24c61a90802e06e40a7ab0aa5e2138486bd73
  Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

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

  Log Message:
  -----------
  [MLIR][XeGPU] Adding XeGPU 2d block operators (#85804)

This PR adds XeGPU 2D block operators. It contains:
1. TensorDescType and TensorDescAttr definitions
2. MemoryScopeAttr and CacheHintAttr definitions which are used by
TensorDescAttr.
3. CreateNdDescOp, PrefetchNdOp, LoadNdOp, and StoreNdOp definitions,
and their corresponding testcases for illustration.

It cherry-picks daebe5c4f27ba140ac8d13abf41e3fe4db72b91a with asan fix.

---------

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


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

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/aarch64/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.cpp
    R openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.h
    R openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
    A openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
    A openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
    A openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.h
    A openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
    R openmp/libomptarget/plugins-nextgen/ppc64/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/ppc64le/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/s390x/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/x86_64/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget] Consolidate CPU offloading into 'host' directory (#86014)

Summary:
All of these CPU targets use the same underlying implementation. We
should consolidate them into a single target to make it easier to update
this to a static library based approach. I have decided to call this the
'host' target so it can be given a single name. We still only build
these if the system processor matches and we are on Linux.


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

  Changed paths:
    M bolt/CMakeLists.txt

  Log Message:
  -----------
  [BOLT][CMake] Build rt library despite unreadable map_files (#77876)

Emit a warning and print a suggested workaround.

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


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

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

  Log Message:
  -----------
  [BOLT] Write and parse BF/BB hashes in BAT

This increases BAT section size to:
- large binary: 34832976 bytes (0.90x original),
- medium binary: 3586800 bytes (0.60x original),
- small binary: 816 bytes (0.57x original).

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

Reviewers: rafaelauler, dcci, ayermolo, maksfb

Reviewed By: rafaelauler

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


  Commit: 5a6c69132fb427d9ba71a72274c66ddb76ae66d5
      https://github.com/llvm/llvm-project/commit/5a6c69132fb427d9ba71a72274c66ddb76ae66d5
  Author: Caroline Tice <cmtice at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h

  Log Message:
  -----------
  [LLVM][DebugInfo] Add accessor for NameIndex header.

This is needed for pending LLD work to create a single unified .debug_names
index (rather than just appending all the indices from each .o file).


  Commit: 258091e76df69072e7088a5e251a2db7f8e3d0a9
      https://github.com/llvm/llvm-project/commit/258091e76df69072e7088a5e251a2db7f8e3d0a9
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp

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

llvm-project/mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp:47:8:
error: unused variable 'ty' [-Werror,-Wunused-variable]
  auto ty = source.getType();
       ^
1 error generated.


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

  Changed paths:
    M compiler-rt/test/dfsan/custom.cpp

  Log Message:
  -----------
  [dfsan] Use non-existent file in test for real


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

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

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

This patch fixes:

  bolt/lib/Profile/BoltAddressTranslation.cpp:26:12: error: unused
  variable 'HotFuncAddress' [-Werror,-Wunused-variable]


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

  Changed paths:
    M libc/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add an option to always build GPU loader utilities (#86040)

Summary:
Right now it's difficult to build these utilities standalone becayse
they're keyed off of the other GPU handling. if someone wants to *just*
build these utilities it's not possible without setting up the runtimes
build. Since we can't just build these by default add an option to
enable it.

We can't just use the handling like LIBC_HDRGEN does because this is
only for the GPU build, which isn't fully set up until way later. So
this is probably the easiest way to just allow people to build these
tools even without a GPU build setup.


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

  Changed paths:
    M bolt/test/X86/dwarf5-label-low-pc.s

  Log Message:
  -----------
  [BOLT][DWARF] Fix Test (#86042)

Test was not actually checking bolt binary, and had extra POSTCHECK-NEXT
lines.


  Commit: 71defe40b7df18508d63fb1b1233324e8a28688f
      https://github.com/llvm/llvm-project/commit/71defe40b7df18508d63fb1b1233324e8a28688f
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp

  Log Message:
  -----------
  [sanitizer_common] Suppress warning of cast from SignalHandlerType to sa_sigaction_t (#86046)

Some buildbots (e.g.,
https://lab.llvm.org/buildbot/#/builders/18/builds/16061/steps/10/logs/stdio)
have recently started complaining about
```
cast from 'SignalHandlerType' (aka 'void (*)(int, void *, void *)') to 'sa_sigaction_t' (aka 'void (*)(int, siginfo_t *, void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
  219 |   sigact.sa_sigaction = (sa_sigaction_t)handler;
  ```
This patch does an intermediate cast to `'(void (*) (void))'` to suppress the warning.

N.B. SignalHandlerType has `'void*'` instead of `'siginfo_t*'` because it is typedef'ed in sanitizer_common/sanitizer_common.h, which does not have access to the header (signal.h) that defines siginfo_t; we therefore cannot fix SignalHandlerType.


  Commit: 631248dcd26fdec772cedb569be94ff8f12d0901
      https://github.com/llvm/llvm-project/commit/631248dcd26fdec772cedb569be94ff8f12d0901
  Author: hstk30-hw <hanwei62 at huawei.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/X86.cpp
    A clang/test/CodeGenCXX/x86_64-vaarg.cpp

  Log Message:
  -----------
  [X86_64] fix empty structure vaarg in c++ (#77907)

SizeInBytes of empty structure is 0 in C, while 1 in C++. And empty
structure argument of the function is ignored in X86_64 backend.As a
result, the value of variable arguments in C++ is incorrect. fix #77036

Co-authored-by: Longsheng Mou <moulongsheng at huawei.com>


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

  Changed paths:
    A llvm/test/CodeGen/X86/domain-reassignment-ndd.mir

  Log Message:
  -----------
  Precommit test for #85737 (#86056)

Copied from llvm/test/CodeGen/X86/domain-reassignment.mir


  Commit: 44a81af510801edce842e9574ec4d52cc7bd0ae9
      https://github.com/llvm/llvm-project/commit/44a81af510801edce842e9574ec4d52cc7bd0ae9
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll

  Log Message:
  -----------
  [AArch64] Run LoopSimplifyPass in byte-compare-index.ll (#86053)

Make this test case work on both new and legacy pass manager. See also
#85215


  Commit: 0d08282310e4007dfb748132e5c196765b1ffcd2
      https://github.com/llvm/llvm-project/commit/0d08282310e4007dfb748132e5c196765b1ffcd2
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][XeGPU] Fix shared build. NFC


  Commit: 0e3fbfd1e106dd027aab9ea4a9a6f116d05a0987
      https://github.com/llvm/llvm-project/commit/0e3fbfd1e106dd027aab9ea4a9a6f116d05a0987
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp

  Log Message:
  -----------
  Revert "[sanitizer_common] Suppress warning of cast from SignalHandlerType to sa_sigaction_t"

This reverts commit 9d79589e7c8b728a592a4b6b3dee53ac471d7946
because it failed to suppress the warning.


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

  Changed paths:
    M llvm/test/Analysis/AliasSet/intrinsics.ll

  Log Message:
  -----------
  [Analysis] Use implicit-check-not in test


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

  Changed paths:
    A llvm/test/CodeGen/X86/apx/domain-reassignment.mir
    R llvm/test/CodeGen/X86/domain-reassignment-ndd.mir

  Log Message:
  -----------
  Move pre-commit test for #85737 (#86062)


  Commit: deefe3fbc93b3bdc77fbaf718403a45dae983d12
      https://github.com/llvm/llvm-project/commit/deefe3fbc93b3bdc77fbaf718403a45dae983d12
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-overflow.mir
    M llvm/test/CodeGen/AArch64/arm64-xaluo.ll
    M llvm/test/CodeGen/AArch64/overflow.ll
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll

  Log Message:
  -----------
  [GlobalIsel] Post-review combine ADDO (#85961)

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


  Commit: 29bf32efbb646b2ab3dec25f100419fc75635878
      https://github.com/llvm/llvm-project/commit/29bf32efbb646b2ab3dec25f100419fc75635878
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    A llvm/include/llvm/Passes/TargetPassRegistry.inc
    A llvm/lib/Target/AArch64/AArch64PassRegistry.def
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll

  Log Message:
  -----------
  [NewPM][AArch64] Add AArch64PassRegistry.def (#85215)

PR #83567 ports `SelectionDAGISel` to the new pass manager, then each
backend should provide `<Target>DagToDagISel()` in new pass manager
style. Then each target should provide `<Target>PassRegistry.def` to
register backend passes in `registerPassBuilderCallbacks` to reduce
duplicate code.
This PR adds `AArch64PassRegistry.def` to AArch64 backend and
boilerplate code in `registerPassBuilderCallbacks`.


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

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir

  Log Message:
  -----------
  [mlir][sparse] Fix typos in comments (#86074)


  Commit: 7bb87d533891c2bcfa1c9132605f0d3e8227d444
      https://github.com/llvm/llvm-project/commit/7bb87d533891c2bcfa1c9132605f0d3e8227d444
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-abs.mir
    M llvm/test/CodeGen/AArch64/abs.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Take abs scalar codegen closer to SDAG (#84886)

This patch improves codegen for scalar (<128bits) version
of llvm.abs intrinsic by using the existing non-XOR based lowering.
This takes the generated code closer to SDAG.

codegen with GISel for > 128 bit types is not very good
with these method so not doing so.


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

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/test/Dialect/Arith/one-shot-bufferize.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-allow-return-allocs.mlir
    A mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis-bottom-up-from-terminators.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-partial.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-allow-return-allocs.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-analysis.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
    M mlir/test/Dialect/Linalg/one-shot-bufferize.mlir
    M mlir/test/Dialect/SCF/one-shot-bufferize-analysis.mlir
    M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
    M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir

  Log Message:
  -----------
  [mlir][bufferization] Add "bottom-up from terminators" analysis heuristic (#83964)

One-Shot Bufferize currently does not support loops where a yielded
value bufferizes to a buffer that is different from the buffer of the
region iter_arg. In such a case, the bufferization fails with an error
such as:
```
Yield operand #0 is not equivalent to the corresponding iter bbArg
    scf.yield %0 : tensor<5xf32>
```

One common reason for non-equivalent buffers is that an op on the path
from the region iter_arg to the terminator bufferizes out-of-place. Ops
that are analyzed earlier are more likely to bufferize in-place.

This commit adds a new heuristic that gives preference to ops that are
reachable on the reverse SSA use-def chain from a region terminator and
are within the parent region of the terminator. This is expected to work
better than the existing heuristics for loops where an iter_arg is
written to multiple times within a loop, but only one write is fed into
the terminator.

Current users of One-Shot Bufferize are not affected by this change.
"Bottom-up" is still the default heuristic. Users can switch to the new
heuristic manually.

This commit also turns the "fuzzer" pass option into a heuristic,
cleaning up the code a bit.


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

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/align.ll
    M llvm/test/Transforms/Attributor/nocapture-1.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll

  Log Message:
  -----------
  Attributor: Handle inferring align from use by atomics (#85762)


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

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

  Log Message:
  -----------
  [mlir][transform] Fix failure in flattening already flattened linalg ops (#86037)

The previous implementation was doing an early successful return on
`rank <= 1` without adding the original op to transform results. This
resulted in errors about number of returns. This patch fixes this by
adding the original op to results. Additionally, we first check if op is
elementwise and return a slienceable failure early if not.


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

  Changed paths:
    M llvm/tools/CMakeLists.txt

  Log Message:
  -----------
  [cmake] Place clang behind mlir in the list of external projects (#86050)

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


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

  Changed paths:
    M clang/CMakeLists.txt
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [CMake] Change GCC_INSTALL_PREFIX from warning to fatal error (#85891)

unless USE_DEPRECATED_GCC_INSTALL_PREFIX (temporary escape hatch) is
set. Setting GCC_INSTALL_PREFIX leads to a warning for Clang 18.1
(#77537) and will be completely removed for Clang 20.

Link:
discourse.llvm.org/t/add-gcc-install-dir-deprecate-gcc-toolchain-and-remove-gcc-install-prefix/65091
Link:
discourse.llvm.org/t/correct-cmake-parameters-for-building-clang-and-lld-for-riscv/72833


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

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

  Log Message:
  -----------
  [RISCV] Convert an assertion to an if condition in getRegAllocationHints (#85998)

With GPR pairs from Zdinx, we can't guarantee there are no subregisters
on integer instruction operands. I've been able to get these assertions
to fire after some other recent PRs.

I've added a FIXME to support this properly. I just wanted to prevent
the assertion failure for now.

No test case because my other patch #85982 that allowed me to fail the assert
hasn't been approved yet, and I don't know for that that patch is
required to hit this assert. It's just what exposed it for me. So I
think this patch is a good precaution regardless.


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

  Changed paths:
    M llvm/tools/CMakeLists.txt

  Log Message:
  -----------
  Revert "[cmake] Place clang behind mlir in the list of external projects (#86050)"

This reverts commit 26c290b46ac6b4a81feb28ae1862fac961138a24.


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

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

  Log Message:
  -----------
  [RISCV] Use DenseMap to track V0 definition. NFC (#84465)

Reviving some of the progress on #71764. To recap, we explored removing
the V0 register copies to simplify the pass, but hit a limitation with
the register allocator due to our use of the vmv0 singleton reg class
and early-clobber constraints.

So since we will have to continue to track the definition of V0
ourselves, this patch simplifies it by storing it in a map. It will
allow us to move about copies to V0 in #71764 without having to do extra
bookkeeping.


  Commit: adda597388dc148ac235e755b3e8bbd0a12a3e15
      https://github.com/llvm/llvm-project/commit/adda597388dc148ac235e755b3e8bbd0a12a3e15
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M mlir/docs/DataLayout.md
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/layout.mlir
    M mlir/test/Interfaces/DataLayoutInterfaces/module.mlir
    M mlir/test/Interfaces/DataLayoutInterfaces/query.mlir
    M mlir/test/Interfaces/DataLayoutInterfaces/types.mlir
    M mlir/test/Target/LLVMIR/data-layout.mlir
    M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
    M mlir/test/lib/Dialect/Test/TestTypeDefs.td
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp

  Log Message:
  -----------
  [MLIR] Add index bitwidth to the DataLayout (#85927)

When importing from LLVM IR the data layout of all pointer types
contains an index bitwidth that should be used for index computations.
This revision adds a getter to the DataLayout that provides access to
the already stored bitwidth. The function returns an optional since only
pointer-like types have an index bitwidth. Querying the bitwidth of a
non-pointer type returns std::nullopt.

The new function works for the built-in Index type and, using a type
interface, for the LLVMPointerType.


  Commit: a29e9e32c50273abffc53e3700bbc23985f0a7af
      https://github.com/llvm/llvm-project/commit/a29e9e32c50273abffc53e3700bbc23985f0a7af
  Author: Roberto Bampi <gigaroby at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/docs/ClangFormat.rst
    A clang/test/Format/fail-on-incomplete.cpp
    M clang/tools/clang-format/ClangFormat.cpp

  Log Message:
  -----------
  [clang-format] Add --fail-on-incomplete-format. (#84346)

At the moment clang-format will return exit code 0 on incomplete
results. In scripts it would sometimes be useful if clang-format would
instead fail in those cases, signalling that there was something wrong
with the code being formatted.

---------

Co-authored-by: Björn Schäpers <github at hazardy.de>
Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: 1404640533fdeda5fb381019a436e4ee84bb2174
      https://github.com/llvm/llvm-project/commit/1404640533fdeda5fb381019a436e4ee84bb2174
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Add target for index dialect python bindings


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

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
    M llvm/test/CodeGen/AMDGPU/copy-vgpr-clobber-spill-vgpr.mir
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs-inreg-hints.ll
    M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll

  Log Message:
  -----------
  AMDGPU: Infer no-agpr usage in AMDGPUAttributor (#85948)

SIMachineFunctionInfo has a scan  of the function body for inline asm
which may use AGPRs, or callees in SIMachineFunctionInfo. Move this
into the attributor, so it actually works interprocedurally.
    
Could probably avoid most of the test churn if this bothered to avoid
adding this on subtargets without AGPRs. We should also probably
try to delete the MIR scan in usesAGPRs but it seems to be trickier
to eliminate.


  Commit: b433076fcbacba8a3b91446390bbea5843322bcd
      https://github.com/llvm/llvm-project/commit/b433076fcbacba8a3b91446390bbea5843322bcd
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/test/CodeGen/aapcs-align.cpp
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    M clang/test/OpenMP/bug54082.c

  Log Message:
  -----------
  [clang][CodeGen] Allow `memcpy` replace with trivial auto var init

When emitting the storage (or memory copy operations) for constant
initializers, the decision whether to split a constant structure or
array store into a sequence of field stores or to use `memcpy` is
based upon the optimization level and the size of the initializer.
In afe8b93ffdfef5d8879e1894b9d7dda40dee2b8d, we extended this by
allowing constants to be split when the array (or struct) type does
not match the type of data the address to the object (constant) is
expected to contain. This may happen when `emitStoresForConstant` is
called by `EmitAutoVarInit`, as the element type of the address gets
shrunk. When this occurs, let the initializer be split into a bunch
of stores only under `-ftrivial-auto-var-init=pattern`.

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


  Commit: 9fb85b09946122aa5793b647d7939ac17817c5f5
      https://github.com/llvm/llvm-project/commit/9fb85b09946122aa5793b647d7939ac17817c5f5
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Update BUILD after 29bf32efbb646b2ab3dec25f100419fc75635878.


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

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

  Log Message:
  -----------
  [DAG] visitSUB/visitSUBO - move getAsNonOpaqueConstant into the if() where its used. NFC.

Noticed while beginning some cleanup for moving to pattern matchers


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll

  Log Message:
  -----------
  [X86] getShuffleCost - recognise concat_vector(X,Y) shuffle as InsertSubvector instead of PermuteTwoSrc

We don't have a concat_vector shuffle kind and improveShuffleKindFromMask won't alter the base type to match it as InsertSubvector.

But since this is how X86 will lower concat_vector anyhow, just recognise it explicitly.

Another step for #67803


  Commit: a6a9215b93bcbf901cd11d2dd02cce1a245d3ffe
      https://github.com/llvm/llvm-project/commit/a6a9215b93bcbf901cd11d2dd02cce1a245d3ffe
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir

  Log Message:
  -----------
  Lower shuffle to single-result form if possible. (#84321)

We currently always lower shuffle to the struct-returning variant. I saw
some cases where this survived all the way through ptx, resulting in
increased register usage. The easiest fix is to simply lower to the
single-result version when the predicate is unused.


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

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

  Log Message:
  -----------
  [DAG] visitSUB - pull out repeated getScalarSizeInBits() calls. NFC.


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

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

  Log Message:
  -----------
  [DAG] visitSUB - use sd_match to match SUB(MAX,MIN) -> ABD pattern. NFC.

Seriously simplifies the commutation matching logic.


  Commit: ccb3a8feaa5b132dc829e55e069dde62008df4a8
      https://github.com/llvm/llvm-project/commit/ccb3a8feaa5b132dc829e55e069dde62008df4a8
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    A llvm/test/CodeGen/AMDGPU/lds-mixed-absolute-addresses-unused.ll
    M llvm/test/CodeGen/AMDGPU/lds-reject-mixed-absolute-addresses.ll

  Log Message:
  -----------
  [AMDGPU][LowerModuleLDS] Refactor partially lowered module detection (#85793)

Refactor the logic that checks if a module contains mixed
absolute/non-lowered LDS GVs.

The check now happens latter when the "worklists" are formed. This is
because in some cases (OpenMP) we can have non-lowered GVs in a lowered
module, and this is normal because those GVs are just unused and removed
from the list at some point before the end of `getUsesOfLDSByFunction`.

Doing the check later ensures that if a mixed module is spotted, then
it's a _real_ mixed module that needs rejection, not a module containing
an intentionally ignored GV.


  Commit: 8ecc377c88ba32978ace6a67de895403eeba3a22
      https://github.com/llvm/llvm-project/commit/8ecc377c88ba32978ace6a67de895403eeba3a22
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/test/tools/llvm-lib/arm64ec-implib.test

  Log Message:
  -----------
  [llvm-lib] Use ARM64EC machine type for import libraries when -machine:arm64x is used. (#85972)

This is compatible with MSVC, `-machine:arm64x` is essentially an alias
to `-machine:arm64ec`. To make a type library that exposes both native
and EC symbols, an additional `-defArm64Native` argument is needed in
both cases.


  Commit: 0124e0821dd87bb021f31d1d9aecc2e0f3a52514
      https://github.com/llvm/llvm-project/commit/0124e0821dd87bb021f31d1d9aecc2e0f3a52514
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/COFF.h
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp

  Log Message:
  -----------
  [Object][COFF][NFC] Introduce Arm64ECThunkType enum. (#85936)

And use it in EC lowering code. It will be useful for LLD too.


  Commit: 95a834a16c3de0de615d0cfa20a6c8bd973b6a1d
      https://github.com/llvm/llvm-project/commit/95a834a16c3de0de615d0cfa20a6c8bd973b6a1d
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    A llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll

  Log Message:
  -----------
  (Reland) [AMDGPU] Run LowerLDS at the end of the fullLTO pipeline (#85626)

Reland of #75333


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

  Changed paths:
    M libcxx/include/__string/char_traits.h

  Log Message:
  -----------
  [libc++][NFC] Use __constexpr_memmove instead of copy_n in <__string/char_traits.h> (#85920)

`copy_n` has been used to allow constant evaluation of `char_traits`. We
now have `__constexpr_memmove`, which `copy_n` just forwards to. We can
call `__constexpr_memmove` directly, avoiding a bunch of instantiations.
This reduces the time it takes to include `<string>` from 321ms to
285ms.


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

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

  Log Message:
  -----------
  [OpenMP] Fix SystemZ build failure

Commit a7d5f73a03c81cab8df64dbd099e8acb40f5dfe1 introduced an
error in a target_compile_definitions on the SystemZ, causing
the build to break.  Fixed by adding the missing "PRIVATE".


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

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Fix OpenMP dependencies (#85977)

When building the OpenMP runtime with libomptarget support, the runtimes
configure step needs to have a dependency on various tools, in
particular opt, so that cmake configure checks yield the correct
results.

This did not work correctly, as the dependencies were only added if the
OPENMP_ENABLE_LIBOMPTARGET was set - but that variable is only set by
the openmp/CMakeLists.txt file, which isn't even parsed during the
initial cmake run (in fact, it is only parsed when executing the
runtimes configure step itself, but then it is too late).

Fixed by just adding those dependencies always.

In addition, the list of dependencies collected in ${extra_deps},
including those required for OpenMP, was only actually used when
configuring runtimes for the default set of targets - when the user
specifies a non-default LLVM_RUNTIME_TARGETS, those extra dependencies
were ignored (with the exception of ${hdrgen_deps}).

Fixed by passing the full ${extra_deps} in this case as well.

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


  Commit: 8779edb8b33e8ae7e021c8fa7fff80d77567b28c
      https://github.com/llvm/llvm-project/commit/8779edb8b33e8ae7e021c8fa7fff80d77567b28c
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__system_error/errc.h
    M libcxx/include/cerrno
    M libcxx/src/random.cpp
    A libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
    A libcxx/test/std/depr.cerro/system.error.syn.verify.cpp
    M libcxx/test/std/diagnostics/syserr/errc.pass.cpp

  Log Message:
  -----------
  [libc++] Deprecates std::errc constants. (#80542)

Implements:
- LWG3869 Deprecate std::errc constants related to UNIX STREAMS


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/dagcombine-shifts.ll

  Log Message:
  -----------
  [SelectionDAG] Add MaskedValueIsZero check to allow folding of zero extended variables we know are safe to extend (#85573)

Add ones for every high bit that will cleared.

This will allow us to evaluate variables that have their bits known to
see if they have no risk of overflow despite the shift amount being
greater than the difference between the two types.


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

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

  Log Message:
  -----------
  [mlir][bazel] Don't expose interface headers from //mlir:IR. (#85867)

Move 3 interface headers in `//mlir:IR` from `hdrs` to `srcs`.

Header files should not be added to multiple targets, but this is hard
to avoid because CMake is less strict with headers. But we should at
least avoid exposing them as headers by multiple targets because it
confuses tooling.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/schedule-addrspaces.ll
    M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll

  Log Message:
  -----------
  Update amdgpu_gfx functions to use s0-s3 for inreg SGPR arguments on targets using scratch instructions for stack #78226 (#81394)

Resolve #78226


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/orig-btiwidth-les-projected.ll

  Log Message:
  -----------
  [SLP]Fix comparison in bitwidth check.

Projected bitwidth should be less than the original, not greater.


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

  Changed paths:
    M mlir/include/mlir/IR/TensorEncoding.td

  Log Message:
  -----------
  [mlir][tensor] NFC: fully qualify verifyEncoding arguments.


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

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/Lexer/has_extension_cxx.cpp
    M clang/test/OpenMP/declare_reduction_messages.cpp
    M clang/test/OpenMP/openmp_check.cpp
    A clang/test/Parser/cxx03-lambda-extension.cpp
    M clang/test/Parser/cxx0x-lambda-expressions.cpp
    M clang/test/Parser/cxx2b-lambdas.cpp
    M clang/test/Parser/objcxx-lambda-expressions-neg.mm
    M clang/test/ParserHLSL/group_shared.hlsl
    M clang/test/SemaCXX/cxx2a-template-lambdas.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp
    M clang/test/SemaCXX/lambda-implicit-this-capture.cpp
    M clang/test/SemaCXX/lambda-invalid-capture.cpp
    M clang/test/SemaCXX/new-delete.cpp

  Log Message:
  -----------
  [clang] Accept lambdas in C++03 as an extensions (#73376)

Implements
https://discourse.llvm.org/t/rfc-allow-c-11-lambdas-in-c-03-as-an-extension/75262


  Commit: 4946cc37f4865b89fbebcfa0120183a11ae8d4ab
      https://github.com/llvm/llvm-project/commit/4946cc37f4865b89fbebcfa0120183a11ae8d4ab
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/lib/ObjCopy/ConfigManager.cpp
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    A llvm/test/tools/llvm-objcopy/ELF/skip-symbol.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOpts.td

  Log Message:
  -----------
  [llvm-objcopy] Add --skip-symbol and --skip-symbols options (#80873)

Add --skip-symbol and --skip-symbols options that allow to skip symbols
when executing other options that can change the symbol's name, binding
or visibility, similar to an existing option --keep-symbol that keeps a
symbol from being removed by other options.


  Commit: 02cb89b36a7ae9be4ab657306b69dc9d2830d0d5
      https://github.com/llvm/llvm-project/commit/02cb89b36a7ae9be4ab657306b69dc9d2830d0d5
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Passes/TargetPassRegistry.inc

  Log Message:
  -----------
  [NewPM] Handle error in TargetPassRegistry.inc (#86112)

Mistakenly believing that checking Expected is sufficient.


  Commit: 734026347cca85cf0e242ef5f04896f55e0ac113
      https://github.com/llvm/llvm-project/commit/734026347cca85cf0e242ef5f04896f55e0ac113
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    A flang/test/Lower/OpenMP/wsloop-reduction-multi.f90

  Log Message:
  -----------
  Reapply "[Flang][OpenMP][Lower] NFC: Move clause processing helpers into the ClauseProcessor (#85258)" (#85807)

This patch contains slight modifications to the reverted PR #85258 to
avoid issues with constructs containing multiple reduction clauses,
uncovered by a test on the gfortran testsuite.

This reverts commit 9f80444c2e669237a5c92013f1a42b91b5609012.


  Commit: fa6e4338369c787710f1fe682cf6bd62348b9104
      https://github.com/llvm/llvm-project/commit/fa6e4338369c787710f1fe682cf6bd62348b9104
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir

  Log Message:
  -----------
  [mlir][tosa] Fix assertion failure in tosa-layerwise-constant-fold (#85670)

The existing implementation of tosa-layerwise-constant-fold only works
for constant values backed by DenseElementsAttr. For constants which
hold DenseResourceAttrs, the folder will end up asserting at runtime, as
it assumes that the backing data can always be accessed through
ElementsAttr::getValues.

This change reworks the logic so that types types used to perform
folding are based on whether the ElementsAttr can be converted to a
range of that particular type.

---------

Co-authored-by: Spenser Bauman <sabauma at mathworks.com>
Co-authored-by: Tina Jung <tinamaria.jung at amd.com>


  Commit: 49b520856967c2354339d3c2a05fcf1d2d637f30
      https://github.com/llvm/llvm-project/commit/49b520856967c2354339d3c2a05fcf1d2d637f30
  Author: Paul T Robinson <paul.robinson at sony.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/xmmintrin.h

  Log Message:
  -----------
  [X86][Headers] Specify result of NaN comparisons (#85862)

Make sure all float/double comparison intrinsics specify what happens
with a NaN input. Update some existing descriptions of comparison
results to make them all consistent.

Also replace "yields" with "returns" throughout.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with @llvm.abs nodes, which can be analyzed for
better bitwidth.


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

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

  Log Message:
  -----------
  [mlir][bazel] Update BUILD after 61b24c61a90802e06e40a7ab0aa5e2138486bd73


  Commit: 0aa6d57e575dd920db81bef7ff509c4d3a9c6891
      https://github.com/llvm/llvm-project/commit/0aa6d57e575dd920db81bef7ff509c4d3a9c6891
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    A mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
    A mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitCPass.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/MemRefToEmitC/CMakeLists.txt
    A mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    A mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
    A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
    A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [MLIR] Add initial convert-memref-to-emitc pass (#85389)

This converts `memref.alloca`, `memref.load` & `memref.store` to
`emitc.variable`, `emitc.subscript` and `emitc.assign`.


  Commit: 276283d8641f13b6ecde736ab1a8720f742d9d02
      https://github.com/llvm/llvm-project/commit/276283d8641f13b6ecde736ab1a8720f742d9d02
  Author: chrulski-intel <christopher.m.chrulski at intel.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/test/MinGW/driver.test

  Log Message:
  -----------
  [LLD] [MinGW] Implement the -lto-sample-profile option (#85841)

This has been a supported option for ELF and is added to the COFF Linker
in #85701


  Commit: 5344a370fe85d9119729d9036540bbd91956da38
      https://github.com/llvm/llvm-project/commit/5344a370fe85d9119729d9036540bbd91956da38
  Author: Kirill Chibisov <contact at kchibisov.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
    M mlir/test/Dialect/EmitC/transforms.mlir

  Log Message:
  -----------
  [mlir][emitc] Fix form-expressions inside expression (#86081)

Make form-expressions not create `emitc.expression`s for operations
inside the `emitc.expression`s, since they are invalid.


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

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

  Log Message:
  -----------
  [VectorCombine] Add DataLayout to VectorCombine class instead of repeated calls to getDataLayout(). NFC.


  Commit: 686f4599cfa444aa62db4e22bf752f3d9614c30d
      https://github.com/llvm/llvm-project/commit/686f4599cfa444aa62db4e22bf752f3d9614c30d
  Author: David Green <david.green at arm.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/ARM/arm-and-tst-peephole.ll
    M llvm/test/CodeGen/ARM/select.ll

  Log Message:
  -----------
  [ARM] Regenerate some check lines. NFC


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/binop-itofp.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/fpcast.ll

  Log Message:
  -----------
  [InstCombine] Fold `fmul X, -0.0` into `copysign(0.0, -X)` (#85772)

`fneg + copysign` is better than fmul for analysis/codegen.
godbolt: https://godbolt.org/z/eEs6dGd1G
Alive2: https://alive2.llvm.org/ce/z/K3M5BA


  Commit: 857161c367a1cdca926dbe0d2601e3afc52f03f9
      https://github.com/llvm/llvm-project/commit/857161c367a1cdca926dbe0d2601e3afc52f03f9
  Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
    A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    A llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
    A llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
    A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
    A llvm/test/MC/AMDGPU/hsa-tg-split.s

  Log Message:
  -----------
  [AMDGPU] MCExpr-ify MC layer kernel descriptor (#80855)

Kernel descriptor attributes, with their respective emit and asm parse functionality, converted to MCExpr.


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

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

  Log Message:
  -----------
  [gn build] Port 857161c367a1


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

  Changed paths:
    M clang/test/Driver/clang-offload-bundler-asserts-on.c
    M clang/test/Driver/clang-offload-bundler-standardize.c
    M clang/test/Driver/clang-offload-bundler.c
    M clang/test/Driver/fat-archive-unbundle-ext.c

  Log Message:
  -----------
  Disable driver tests on macosx that are currently disabled on darwin (#85990)

macosx and darwin in triples are equivalent.

rdar://124246653


  Commit: 2152094a45af98c9ccfef6d5913f38c66ab8b165
      https://github.com/llvm/llvm-project/commit/2152094a45af98c9ccfef6d5913f38c66ab8b165
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/modules-print-library-module-manifest-path.cpp

  Log Message:
  -----------
  [clang] Improves -print-library-module-manifest-path. (#85943)

This adds a libc++ to modules.json as is currently used by libc++. When
libc++.so is not found the function will search for libc++.a as
fallback.


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

  Changed paths:
    A mlir/include/mlir/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.h
    A mlir/include/mlir/Dialect/Vector/IR/ValueBoundsOpInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
    M mlir/lib/Dialect/Vector/IR/CMakeLists.txt
    A mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
    A mlir/lib/Dialect/Vector/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
    A mlir/test/Dialect/Vector/test-scalable-bounds.mlir
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp

  Log Message:
  -----------
  [mlir][Vector] Add utility for computing scalable value bounds (#83876)

This adds a new API built with the `ValueBoundsConstraintSet` to compute
the bounds of possibly scalable quantities. It uses knowledge of the
range of vscale (which is defined by the target architecture), to solve
for the bound as either a constant or an expression in terms of vscale.

The result is an `AffineMap` that will always take at most one
parameter, vscale, and returns a single result, which is the bound of
`value`.

The API is defined as follows:

```c++
FailureOr<ConstantOrScalableBound>
vector::ScalableValueBoundsConstraintSet::computeScalableBound(
  Value value, std::optional<int64_t> dim,
  unsigned vscaleMin, unsigned vscaleMax,
  presburger::BoundType boundType, 
  bool closedUB = true,
  StopConditionFn stopCondition = nullptr);
```

Note: `ConstantOrScalableBound` is a thin wrapper over the `AffineMap`
with a utility for converting the bound to a single quantity (i.e. a
size and scalable flag).

We believe this API could prove useful downstream in IREE (which uses a
similar analysis to hoist allocas, which currently fails for scalable
vectors).


  Commit: d1f182c895728d89c5c3d198b133e212a5d9d4a3
      https://github.com/llvm/llvm-project/commit/d1f182c895728d89c5c3d198b133e212a5d9d4a3
  Author: Joe Nash <Sisyph at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    R llvm/test/MC/AMDGPU/gfx11_asm_vinterp.s
    A llvm/test/MC/AMDGPU/vinterp-fake16.s
    R llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vinterp.txt
    R llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vinterp.txt
    A llvm/test/MC/Disassembler/AMDGPU/vinterp-fake16.txt

  Log Message:
  -----------
  [AMDGPU][MC][True16] Rename and combine VINTERP MC tests (#85949)

NFC.
gfx11_asm_vinterp.s already contained GFX12 run lines. Rename the
assembler and disassembler tests to be sorted based on real16 or fake16
instead of gfxip. Note, both GFX11 and GFX12 currently only have fake16
(fake16 in encoding, but not by name) upstream, so that is why the test
files have a -fake16 suffix.

One test input is changed, and that is the disassembler test for
unsupported bits in the instruction. It is now an input that is valid on
both GFX11 and GFX12. This was necessary because the size of the opcode
field changed.


  Commit: 44278f2326e0df463f6d5dd43820858ee4cffc6f
      https://github.com/llvm/llvm-project/commit/44278f2326e0df463f6d5dd43820858ee4cffc6f
  Author: Joe Nash <joseph.nash at amd.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_features.txt

  Log Message:
  -----------
  [AMDGPU][MC] Fix GFX12 check line typo and move test

NFC.
Fix CHECK lines that seem to have a copy paste error.
Move the test that was formerly in gfx12_dasm_vinterp.txt (see #85949).


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

  Changed paths:
    M llvm/lib/CodeGen/FinalizeISel.cpp
    A llvm/test/CodeGen/SystemZ/frame-adjstack.ll

  Log Message:
  -----------
  Check for all frame instructions in finalize isel. (#85945)

Check for all frame instructions in finalize isel, not just for the
frame setup opcode. This was proven necessary, see #78001 
for discussion.


  Commit: 6898147b9f38c3bb46be5704bdad22abed7af339
      https://github.com/llvm/llvm-project/commit/6898147b9f38c3bb46be5704bdad22abed7af339
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    A llvm/docs/InstCombineContributorGuide.md
    M llvm/docs/UserGuides.rst

  Log Message:
  -----------
  [InstCombine] Add contributor guide (#79007)

Document expectations for contributions to InstCombine, especially
regarding test coverage and alive2 proofs.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/gather-nodes-different-bb.ll

  Log Message:
  -----------
  [SLP]Fix a crash for gather node with instructions from different bbs,
if cost threshold is very low.


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

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

  Log Message:
  -----------
  [DAG] isGuaranteedNotToBeUndefOrPoisonForTargetNode - add fallback implementation (#86125)

Allow targets to rely on TargetLowering::isGuaranteedNotToBeUndefOrPoisonForTargetNode to test nodes for canCreateUndefOrPoisonForTargetNode + all arguments are isGuaranteedNotToBeUndefOrPoison.

Targets can still perform this themselves for specific special case nodes (e.g. target shuffles).

Matches the fallback in SelectionDAG::isGuaranteedNotToBeUndefOrPoison


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    A llvm/test/CodeGen/RISCV/zdinx-large-spill.mir

  Log Message:
  -----------
  [RISCV] Lower the alignment requirement for a GPR pair spill for Zdinx on RV32. (#85871)

I believe we can use XLen alignment as long as eliminateFrameIndex
limits the maximum folded offset to 2043. This way when we split
the load/store into two 2 instructions we'll be able to add 4
without overflowing simm12.


  Commit: c04807c84e2a2653ab325f1b8ec73916565e6c54
      https://github.com/llvm/llvm-project/commit/c04807c84e2a2653ab325f1b8ec73916565e6c54
  Author: aniplcc <aniplccode at gmail.com>
  Date:   2024-03-21 (Thu, 21 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/stdio.rst
    M libc/spec/stdc.td
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/linux/CMakeLists.txt
    A libc/src/stdio/linux/rename.cpp
    A libc/src/stdio/rename.h
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/rename_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][c11] Add stdio.h's rename() function (#85068)

Adds stdio.h's rename() function as defined in n3096. Fixes  #84980.


  Commit: 50801f1095d33e712c3a51fdeef82569bd09007f
      https://github.com/llvm/llvm-project/commit/50801f1095d33e712c3a51fdeef82569bd09007f
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libcxx/modules/CMakeLists.txt

  Log Message:
  -----------
  Reapply [libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#86020)

This reapplies 272d1b44efdedb68c194970a610f0ca1b7b769c5 (from #85756),
which was reverted in
407937036fa7640f61f225474b1ea6623a40dbdd.

In the previous attempt, empty CMAKE_INSTALL_PREFIX was handled by
quoting them, in d209d1340b99d4fbd325dffb5e13b757ab8264ea. That made the
calls to cmake_path(ABSOLUTE_PATH) succeed, but the output paths of that
weren't actually absolute, which was required by file(RELATIVE_PATH).

Avoid this issue by constructing a non-empty base directory variable
to use for calculating the relative path.


  Commit: 7650a01927b8488b1d6d0930109e78c695193faf
      https://github.com/llvm/llvm-project/commit/7650a01927b8488b1d6d0930109e78c695193faf
  Author: timoh-ba <t.habighorst at beckhoff.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/MC/MCDwarf.cpp
    A llvm/test/MC/COFF/dwarf5lineinfo.s

  Log Message:
  -----------
  [DWARF5][COFF] Emit section-relative .debug_line_str relocations (#83773)

Dwarf 5 allows separating filenames from .debug_line into a separate
.debug_line_str section. The strings are referenced relative to the
start of the .debug_line_str section. Previously, on COFF, the
relocation information instead caused offsets to be relocated to the
base address of the COFF-File. This lead  to wrong offsets in linked
COFF (PE) files which caused the debugger to be unable to find the
correct source files.

This patch fixes this problem by making the offsets relative to the
start of the .debug_line_str section instead. There should be no
changes for ELF-Files as everything seems to be working there.

A test is also added to ensure that the correct relocation entries are
emitted.


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

  Changed paths:
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/rename_test.cpp

  Log Message:
  -----------
  [libc][stdio][test] fixup rename test (#86136)

Link: #84980
Link: #85068


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

  Changed paths:
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/include/lldb/Symbol/LineEntry.h
    M lldb/include/lldb/Utility/SupportFile.h
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Symbol/CompileUnit.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/LineEntry.cpp
    M lldb/source/Symbol/LineTable.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/TraceDumper.cpp
    M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp

  Log Message:
  -----------
  [lldb] Reland: Store SupportFile in FileEntry (NFC) (#85892)

This is another step towards supporting DWARF5 checksums and inline
source code in LLDB. This is a reland of #85468 but without the
functional change of storing the support file from the line table (yet).


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

  Changed paths:
    A llvm/test/Transforms/Float2Int/pr79158.ll

  Log Message:
  -----------
  [Float2Int] Pre-commit test for SIToFP/UIToFP ConstantRange bug. NFC

The range for these operations is being constructed without the
maximum value for the range due to an incorrect usage of the
ConstantRange constructor.

This causes Float2Int to think the range for 'uitofp i1' only
contains 0 instead of 0 and 1.


  Commit: 38f8a3cf0d75cd25e13d3757027f7356e4466cb9
      https://github.com/llvm/llvm-project/commit/38f8a3cf0d75cd25e13d3757027f7356e4466cb9
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/GPUToSPIRV/load-store.mlir
    M mlir/test/Conversion/MemRefToSPIRV/bitwidth-emulation.mlir
    M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
    M mlir/test/Conversion/SCFToSPIRV/for.mlir
    M mlir/test/Conversion/TensorToSPIRV/tensor-ops-to-spirv.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv] Improve folding of MemRef to SPIRV Lowering (#85433)

Investigate the lowering of MemRef Load/Store ops and implement
additional folding of created ops

Aims to improve readability of generated lowered SPIR-V code.

Part of work llvm#70704


  Commit: 6317c780d81327bd06701a6aa374fc92aa3d73ad
      https://github.com/llvm/llvm-project/commit/6317c780d81327bd06701a6aa374fc92aa3d73ad
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h

  Log Message:
  -----------
  [lldb][progress][NFC] Clarify Doxygen comments for `details` field (#86002)

The Doxygen comments for the `details` field of a progress report
currently does not specify that this field will act as the initial set
of details for a progress report that gets updated with
`Progress::Increment()`. This commit clarifies this.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast.ll
    M llvm/test/CodeGen/RISCV/spill-fill-fold.ll

  Log Message:
  -----------
  [RISCV] Use BuildPairF64 and SplitF64 for bitcast i64<->f64 on rv32 regardless of Zfa. (#85982)

Previously we used BuildPairF64 and SplitF64 only if Zfa was supported
since they will select register file moves that are only available with
Zfa.

We recently changed the handling of BuildPairF64/SplitF64 for Zdinx to
not go through memory so we should use that for bitcast.

That leaves the D without Zfa case that does need to go through memory.
Previously we let type legalization expand to loads and stores using a
new stack temporary created for each bitcast. After this patch we will
create the loads ands stores in the custom inserter and share the same
stack slot for all. This also allows DAGCombiner to optimize when
bitcast is mixed with BuildPairF64/SplitF64.


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

  Changed paths:
    M lldb/source/Symbol/LineEntry.cpp

  Log Message:
  -----------
  [lldb] Add missing initialization in LineEntry ctor


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

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td

  Log Message:
  -----------
  AMDGPU: Use defset to cleanup marking MFMA intrinsics as divergent (#85915)


  Commit: d9f0d9a1452ed78e943423c9fbbd63674625f7f5
      https://github.com/llvm/llvm-project/commit/d9f0d9a1452ed78e943423c9fbbd63674625f7f5
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M flang/include/flang/Common/Version.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Frontend/LangOptions.h

  Log Message:
  -----------
  [flang][NFC] Fix header guards

Some header guards conflicted with clang. Fix a few others to follow the
convention in the rest of the headers in flang.


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

  Changed paths:
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/test/Transforms/Float2Int/pr79158.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
  [ConstantRange] Fix off by 1 bugs in UIToFP and SIToFP handling. (#86041)

We were passing the min and max values of the range to the ConstantRange
constructor, but the constructor expects the upper bound to 1 more than
the max value so we need to add 1.

We also need to use getNonEmpty so that passing 0, 0 to the constructor
creates a full range rather than an empty range. And passing smin,
smax+1 doesn't cause an assertion.

I believe this fixes at least some of the reason #79158 was reverted.


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

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/CPP/type_traits/is_constant_evaluated.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Add `is_constant_evaluated` type_traits (#86139)

This will replace `__builtin_is_constant_evaluated` in math_extras.h.


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

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/ubsan-builtin-checks.c
    R clang/test/Sema/builtin-popcountg.c
    A clang/test/Sema/count-builtins.c

  Log Message:
  -----------
  [clang] Implement __builtin_{clzg,ctzg} (#83431)


Fixes #83075, fixes #83076.


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

  Changed paths:
    M libc/src/stdio/linux/rename.cpp
    M libc/test/src/stdio/rename_test.cpp

  Log Message:
  -----------
  [libc][stdio] implement rename via SYS_renameat2 (#86140)

SYS_rename may be unavailable on architectures such as aarch64 and
riscv.
rename can be implemented in terms of SYS_rename, SYS_renameat, or
SYS_renameat2. I don't have a full picture of the history here, but it
seems
that SYS_renameat might also be unavailable on some platforms.

`man 2 rename` mentions that SYS_renameat2 was added in Linux 3.15. We
don't
need to support such ancient kernel versions prior.

Link: #84980
Link: #85068


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

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

  Log Message:
  -----------
  [DAG] combineConcatVectorOfScalars - stop always creating UNDEF nodes. NFC.

Noticed in debug logs - most calls to visitVECTOR_SHUFFLE resulted into wasteful UNDEF node creations, despite almost never being used.


  Commit: 4bf8dc1a0f9546afb2c13c121e34237ce16cfca6
      https://github.com/llvm/llvm-project/commit/4bf8dc1a0f9546afb2c13c121e34237ce16cfca6
  Author: Ilya Biryukov <ibiryukov at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/__config
    M libcxx/include/__memory/allocator.h
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx2a.pass.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.verify.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx2a.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx20.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp
    R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_allocator_void_no_members.verify.cpp
    R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_with_removed_members.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/types.pass.cpp
    M libcxx/test/std/containers/sequences/list/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector/types.pass.cpp

  Log Message:
  -----------
  [libc++] Remove macros for keeping std::allocator members and void specialization after C++20 (#85806)

Fixes #75975.

Remove `_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS` for the LLVM 19
release, it was previously marked as deprecated in LLVM 18.

I believe that
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION` was only
used by Google in conjunction with
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS`.

Removing both macros together should not cause any issues in practice,
even though we did not announce the removal of
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION` before.


  Commit: 797336b1278cb7a8b788e467f8fbbc11939143a8
      https://github.com/llvm/llvm-project/commit/797336b1278cb7a8b788e467f8fbbc11939143a8
  Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
    R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    R llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
    R llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
    R llvm/test/MC/AMDGPU/hsa-tg-split.s

  Log Message:
  -----------
  Revert "[AMDGPU] MCExpr-ify MC layer kernel descriptor" (#86151)

Reverts llvm/llvm-project#80855


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

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/test/Analysis/inlining/false-positive-suppression.cpp

  Log Message:
  -----------
  [analyzer] Wrap SymbolicRegions by ElementRegions before getting a FieldRegion (#85211)

Inside the ExprEngine when we process the initializers, we create a
PostInitializer program-point, which will refer to the field being
initialized, see `FieldLoc` inside `ExprEngine::ProcessInitializer`.

When a constructor (of which we evaluate the initializer-list) is
analyzed in top-level context, then the `this` pointer will be
represented by a `SymbolicRegion`, (as it should be).

This means that we will form a `FieldRegion{SymbolicRegion{.}}` as the
initialized region.

```c++
class Bear {
public:
  void brum() const;
};
class Door {
public:
  // PostInitializer would refer to "FieldRegion{SymRegion{this}}"
  // whereas in the store and everywhere else it would be:
  // "FieldRegion{ELementRegion{SymRegion{Ty*, this}, 0, Ty}".
  Door() : ptr(nullptr) {
    ptr->brum(); // Bug
  }
private:
  Bear* ptr;
};
```

We (as CSA folks) decided to avoid the creation of FieldRegions directly
of symbolic regions in the past:

https://github.com/llvm/llvm-project/commit/f8643a9b31c4029942f67d4534c9139b45173504

---

In this patch, I propose to also canonicalize it as in the mentioned
patch, into this: `FieldRegion{ElementRegion{SymbolicRegion{Ty*, .}, 0,
Ty}`

This would mean that FieldRegions will/should never simply wrap a
SymbolicRegion directly, but rather an ElementRegion that is sitting in
between.

This patch should have practically no observable effects, as the store
(due to the mentioned patch) was made resilient to this issue, but we
use `PostInitializer::getLocationValue()` for an alternative reporting,
where we faced this issue.

Note that in really rare cases it suppresses now dereference bugs, as
demonstrated in the test. It is because in the past we failed to follow
the region of the PostInitializer inside the StoreSiteFinder visitor -
because it was using this code:
```c++
// If this is a post initializer expression, initializing the region, we
// should track the initializer expression.
if (std::optional<PostInitializer> PIP =
        Pred->getLocationAs<PostInitializer>()) {
  const MemRegion *FieldReg = (const MemRegion *)PIP->getLocationValue();
  if (FieldReg == R) {
    StoreSite = Pred;
    InitE = PIP->getInitializer()->getInit();
  }
}
```
Notice that the equality check didn't pass for the regions I'm
canonicalizing in this patch.

Given the nature of this change, we would rather upstream this patch.

CPP-4954


  Commit: 86d479fd7c837e97be116ffb9e4c92812b87360f
      https://github.com/llvm/llvm-project/commit/86d479fd7c837e97be116ffb9e4c92812b87360f
  Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn

  Log Message:
  -----------
  Adapted MemRegion::getDescriptiveName to handle ElementRegions (#85104)

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

Changes:
- Adapted MemRegion::getDescriptiveName
- Added unittest to check name for a given clang::ento::ElementRegion
- Some format changes due to clang-format

---------

Co-authored-by: Andreas Steinhausen <andreas.steinhausen at concenrio.io>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


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

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

  Log Message:
  -----------
  [gn build] Port 797336b1278c


  Commit: e84a985cbf4b26c10812e9bd339db9cfd037f581
      https://github.com/llvm/llvm-project/commit/e84a985cbf4b26c10812e9bd339db9cfd037f581
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M flang/lib/Lower/ConvertConstant.cpp
    A flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90

  Log Message:
  -----------
  [Flang] Support for NULL() and procedure in structure constructor for procedure pointer component. (#85991)

This PR fixes a subset of procedure pointer component initialization in
structure constructor.
It covers
  1. NULL()
  2. procedure
  
 For example:
 ```
   MODULE M
    TYPE :: DT
      !PROCEDURE(Fun), POINTER, NOPASS :: pp1
      PROCEDURE(Fun), POINTER :: pp1
    END TYPE

    CONTAINS

    INTEGER FUNCTION Fun(Arg)
     class(dt) :: arg
    END FUNCTION

  END MODULE

  PROGRAM MAIN
  USE M
  IMPLICIT NONE
  TYPE (DT), PARAMETER :: v1 = DT(NULL())
  TYPE (DT) :: v2
  v2 = DT(fun)
  END
  ```
  
Passing a procedure pointer itself or reference to a function that
returns a procedure pointer is TODO.


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

  Changed paths:
    M llvm/test/CodeGen/X86/oddshuffles.ll

  Log Message:
  -----------
  [X86] Add shuffle test case for Issue #86068


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

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

  Log Message:
  -----------
  [IR] Add helpers for `NUWAddLike` and `NSWAddLike` to also match `or disjoint`; NFC

`or disjoint` implies `add nuw nsw`: https://alive2.llvm.org/ce/z/VABhDA


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/sadd-with-overflow.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll

  Log Message:
  -----------
  [InstCombine] Add tests for integrating `N{U,S}WAddLike`; NFC


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/sadd-with-overflow.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll

  Log Message:
  -----------
  [InstCombine] integrate `N{U,S}WAddLike` into existing folds

Just went a quick replacement of `N{U,S}WAdd` with the `Like` variant
that old matches `or disjoint`

Closes #86082


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

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

  Log Message:
  -----------
  [Float2Int] Fix pessimization in the MinBW calculation. (#86051)

The MinBW was being calculated using the significant bits of the upper
and lower bounds. The upper bound is 1 past the last value in the range
so I don't think it should be included. Instead use ConstantRange::getMinSignedBits.

I'm still not sure if the +1 is needed after the getMinSignedBits call.


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

  Changed paths:
    M llvm/lib/ProfileData/RawMemProfReader.cpp

  Log Message:
  -----------
  [memprof] Call SmallVector::reserve (#86055)

With one raw memprof file I have, NumPCs averages about 41.  Given the
default number of inline elements being 8 for SmallVector<uint64_t>,
we should reserve the storage in advance.


  Commit: 999d4f840777bf8de26d45947192aa0728edc0fb
      https://github.com/llvm/llvm-project/commit/999d4f840777bf8de26d45947192aa0728edc0fb
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-21 (Thu, 21 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/Sema/warn-cast-function-type-strict.c
    M clang/test/SemaCXX/warn-cast-function-type-strict.cpp

  Log Message:
  -----------
  Split -Wcast-function-type into a separate group (#86131)

We want to add -Wcast-function-type to -Wextra (as done in
1de7e6c8cba27296f3fc16d107822ea0ee856759), but we do not want to add
-Wcast-function-type-strict in at the same time
(https://lab.llvm.org/buildbot/#/builders/57/builds/33601/steps/5/logs/stdio).

This moves the existing warning to a new group
(-Wcast-function-type-mismatch), puts the new group under the existing
-Wcast-function-type warning group, and adds
-Wcast-function-type-mismatch to -Wextra.


  Commit: 3fefeafa49299ef924414bfa1b678e0f656b3618
      https://github.com/llvm/llvm-project/commit/3fefeafa49299ef924414bfa1b678e0f656b3618
  Author: dmaclach <dmaclach at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaType.cpp
    A clang/test/SemaObjC/attr-objc-NSObject.m

  Log Message:
  -----------
  [OBJC] Allow __attribute__((NSObject)) types be used as lightweight generic specifiers (#84593)

As per
https://clang.llvm.org/docs/AutomaticReferenceCounting.html#retainable-object-pointers,
types with `__attribute__((NSObject))` are retainable, and thus should
be eligible to be used as lightweight generic specifiers.

Fix for #84592 84592


  Commit: 22e7e68a40b8b1aac8b44137685d21ac4b98bd17
      https://github.com/llvm/llvm-project/commit/22e7e68a40b8b1aac8b44137685d21ac4b98bd17
  Author: lorenzo chelini <lchelini at nvidia.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp

  Log Message:
  -----------
  [mlir][Affine] Fix unused variable warning (NFC)


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

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

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

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


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

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

  Log Message:
  -----------
  Revert "[libc] Add reverse_iterator comparisons" (#86186)

Reverts llvm/llvm-project#86147


  Commit: 536cb1fad3ea3edaba8264992c8de2f4b07abc84
      https://github.com/llvm/llvm-project/commit/536cb1fad3ea3edaba8264992c8de2f4b07abc84
  Author: Michele Scandale <michele.scandale at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/shuffle_select-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/shuffle_select.ll

  Log Message:
  -----------
  [InstCombine] Fix for folding select-like `shufflevector` into floating point binary operators. (#85452)

Folding a select-like `shufflevector` into a floating point binary
operators can only be done if the result is preserved for both case. In
particular, if the common operand of the `shufflevector` and the
floating point binary operator can be a NaN, then the transformation
won't preserve the result value.


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

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [HWASan] [NFC] pull logic to get sanitizer ptr out of hwasan (#86024)

Also some drive by cleanup removing an unnnecessary argument and a
redundant condition.


  Commit: 6d939a6ec69adf284cdbef2034b49fd02ba503fc
      https://github.com/llvm/llvm-project/commit/6d939a6ec69adf284cdbef2034b49fd02ba503fc
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

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

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

Finally getting back to Debuginfod tests:
I've migrated the tests in my [earlier
PR](https://github.com/llvm/llvm-project/pull/79181) from shell to API
(at @JDevlieghere's suggestion) and addressed a couple issues that came
about during testing.

The tests first test the "normal" situation (no DebugInfoD involvement,
just normal debug files sitting around), then the "no debug info"
situation (to make sure the test is seeing failure properly), then it
tests to validate that when Debuginfod returns the symbols, things work
properly. This is duplicated for DWP/split-dwarf scenarios.

---------

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


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

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

  Log Message:
  -----------
  [flang][OpenMP] Convert processTODO and remove unused objects (#81627)

Remove `ClauseIterator2` and `clauses2` from ClauseProcessor.

[Clause representation 5/6]


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

  Changed paths:
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/X86/linux-static-keys.s

  Log Message:
  -----------
  [BOLT] Add support for Linux kernel static keys jump table (#86090)

Runtime code modification used by static keys is the most ubiquitous
self-modifying feature of the Linux kernel. The idea is to to eliminate
the condition check and associated conditional jump on a hot path if
that condition (based on a boolean value of a static key) does not
change often. Whenever they condition changes, the kernel runtime
modifies all code paths associated with that key flipping the code
between nop and (unconditional) jump.


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

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

  Log Message:
  -----------
  [libc][bazel] Fix bazel build (#86190)

Follow up on #86140


  Commit: 628068113710d501e88b63a1506d66dd20ce7e94
      https://github.com/llvm/llvm-project/commit/628068113710d501e88b63a1506d66dd20ce7e94
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/X86/Inputs/blarge_new.preagg.txt
    A bolt/test/X86/Inputs/blarge_new.yaml
    A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
    A bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Output basic YAML profile in BAT mode

Relax assumptions that YAML output is not supported in BAT mode.
Set up basic infrastructure for emitting YAML for functions not covered
by BAT, such as from `.bolt.org.text` section (code identical to input binary
sans external refs), or non-rewritten functions in non-relocation mode (where
the function stays in the same section but BAT mapping is not emitted).

This diff only produces YAML profile for non-BAT functions (skipped,
non-simple). YAML profile for BAT functions is added in follow-up diffs:
- https://github.com/llvm/llvm-project/pull/76911 emits YAML profile with
  internal control flow information only (branch profile),
- https://github.com/llvm/llvm-project/pull/76896 adds cross-function profile
  (calls profile).

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

Reviewers: ayermolo, dcci, maksfb, rafaelauler

Reviewed By: rafaelauler

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


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

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

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

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

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

Fixes #80175

---------

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


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

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

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

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

Followup to #70740.


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

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

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

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

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

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

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

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

---------


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

  Changed paths:
    M lld/MachO/ObjC.cpp

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

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


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

  Changed paths:
    R .arcconfig
    R .arclint
    M .ci/generate-buildkite-pipeline-premerge
    R .ci/generate-buildkite-pipeline-scheduled
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .clang-tidy
    M .git-blame-ignore-revs
    M .github/CODEOWNERS
    A .github/dependabot.yml
    M .github/new-prs-labeler.yml
    M .github/workflows/build-ci-container.yml
    R .github/workflows/containers/github-action-ci/Dockerfile
    A .github/workflows/containers/github-action-ci/bootstrap.patch
    A .github/workflows/containers/github-action-ci/stage1.Dockerfile
    A .github/workflows/containers/github-action-ci/stage2.Dockerfile
    A .github/workflows/containers/github-action-ci/storage.conf
    M .github/workflows/docs.yml
    A .github/workflows/email-check.yaml
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/libclc-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/lldb-tests.yml
    M .github/workflows/llvm-project-tests.yml
    A .github/workflows/llvm-project-workflow-tests.yml
    M .github/workflows/llvm-tests.yml
    A .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/release-binaries.yml
    A .github/workflows/release-documentation.yml
    A .github/workflows/release-doxygen.yml
    A .github/workflows/release-lit.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/set-release-binary-outputs.sh
    M .github/workflows/spirv-tests.yml
    M .github/workflows/version-check.py
    M README.md
    M bolt/CMakeLists.txt
    M bolt/docs/BAT.md
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    A bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/DynoStats.h
    M bolt/include/bolt/Core/Exceptions.h
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/ParallelUtilities.h
    M bolt/include/bolt/Passes/ADRRelaxationPass.h
    M bolt/include/bolt/Passes/Aligner.h
    M bolt/include/bolt/Passes/AllocCombiner.h
    M bolt/include/bolt/Passes/AsmDump.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/CMOVConversion.h
    M bolt/include/bolt/Passes/CacheMetrics.h
    M bolt/include/bolt/Passes/FixRISCVCallsPass.h
    M bolt/include/bolt/Passes/FixRelaxationPass.h
    M bolt/include/bolt/Passes/FrameOptimizer.h
    M bolt/include/bolt/Passes/HFSort.h
    M bolt/include/bolt/Passes/Hugify.h
    M bolt/include/bolt/Passes/IdenticalCodeFolding.h
    M bolt/include/bolt/Passes/IndirectCallPromotion.h
    M bolt/include/bolt/Passes/Inliner.h
    M bolt/include/bolt/Passes/Instrumentation.h
    M bolt/include/bolt/Passes/JTFootprintReduction.h
    M bolt/include/bolt/Passes/LongJmp.h
    M bolt/include/bolt/Passes/LoopInversionPass.h
    M bolt/include/bolt/Passes/PLTCall.h
    M bolt/include/bolt/Passes/PatchEntries.h
    M bolt/include/bolt/Passes/RegReAssign.h
    M bolt/include/bolt/Passes/ReorderData.h
    M bolt/include/bolt/Passes/ReorderFunctions.h
    M bolt/include/bolt/Passes/RetpolineInsertion.h
    M bolt/include/bolt/Passes/ShrinkWrapping.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Passes/TailDuplication.h
    M bolt/include/bolt/Passes/ThreeWayBranch.h
    M bolt/include/bolt/Passes/ValidateInternalCalls.h
    M bolt/include/bolt/Passes/ValidateMemRefs.h
    M bolt/include/bolt/Passes/VeneerElimination.h
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Rewrite/BinaryPassManager.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/MetadataRewriter.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryBasicBlock.cpp
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Core/CMakeLists.txt
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    A bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/DynoStats.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/ADRRelaxationPass.cpp
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/AllocCombiner.cpp
    M bolt/lib/Passes/AsmDump.cpp
    M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/CMakeLists.txt
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/FixRelaxationPass.cpp
    M bolt/lib/Passes/FrameAnalysis.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    R bolt/lib/Passes/HFSortPlus.cpp
    M bolt/lib/Passes/Hugify.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/JTFootprintReduction.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/LoopInversionPass.cpp
    M bolt/lib/Passes/PLTCall.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Passes/RegAnalysis.cpp
    M bolt/lib/Passes/RegReAssign.cpp
    M bolt/lib/Passes/ReorderData.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/StokeInfo.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ThreeWayBranch.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Passes/ValidateMemRefs.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/CMakeLists.txt
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/MetadataManager.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCSymbolizer.cpp
    M bolt/lib/Target/X86/X86MCSymbolizer.h
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/test/AArch64/exclusive-instrument.s
    M bolt/test/AArch64/ifunc.c
    R bolt/test/X86/Inputs/blarge.bat.preagg
    A bolt/test/X86/Inputs/blarge_new.preagg.txt
    A bolt/test/X86/Inputs/blarge_new.yaml
    A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
    A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-helper.s
    A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-main.s
    A bolt/test/X86/Inputs/dwarf5-debug-line-offset-change-after-bolt-main.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-empty-arange-helper.s
    A bolt/test/X86/Inputs/dwarf5-empty-arange-main.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-helper.s
    A bolt/test/X86/Inputs/dwarf5-types-debug-names-main.s
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    A bolt/test/X86/dwarf-debug-line-stmt-list-offset-change.test
    A bolt/test/X86/dwarf4-override-comp-dir.test
    M bolt/test/X86/dwarf4-subprogram-single-gc-ranges.test
    A bolt/test/X86/dwarf5-debug-names-dw-at-specification.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-empty-arange.test
    A bolt/test/X86/dwarf5-empty-function-ranges.s
    M bolt/test/X86/dwarf5-label-low-pc.s
    A bolt/test/X86/dwarf5-loclist-out-of-order.s
    A bolt/test/X86/dwarf5-one-cu-debug-names.test
    A bolt/test/X86/dwarf5-override-comp-dir.test
    M bolt/test/X86/dwarf5-subprogram-single-gc-ranges.test
    A bolt/test/X86/dwarf5-types-debug-names.test
    A bolt/test/X86/dwarf5-types-one-cu-debug-names.test
    A bolt/test/X86/fatal-error.s
    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-orc.s
    A bolt/test/X86/linux-parainstructions.s
    A bolt/test/X86/linux-pci-fixup.s
    A bolt/test/X86/linux-static-calls.s
    A bolt/test/X86/linux-static-keys.s
    A bolt/test/X86/log.test
    M bolt/test/X86/merge-fdata-bat-mode.test
    A bolt/test/X86/merge-fdata-nobat-mode.test
    R bolt/test/X86/orc_unwind.s
    A bolt/test/X86/phdr-out-of-order.test
    M bolt/test/X86/pt_gnu_relro.s
    M bolt/test/X86/reader-stale-yaml.test
    A bolt/test/runtime/X86/instrument-wrong-target.s
    R bolt/test/runtime/instrument-wrong-target.s
    M bolt/tools/bat-dump/bat-dump.cpp
    M bolt/tools/driver/llvm-bolt.cpp
    M bolt/tools/heatmap/heatmap.cpp
    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-apply-replacements/include/clang-apply-replacements/Tooling/ApplyReplacements.h
    M clang-tools-extra/clang-apply-replacements/lib/Tooling/ApplyReplacements.cpp
    M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/PathConfig.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
    M clang-tools-extra/clang-move/Move.cpp
    M clang-tools-extra/clang-move/tool/ClangMove.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/add_new_check.py
    M clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.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/ChainedComparisonCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.h
    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/DynamicStaticInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
    M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
    A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.h
    M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
    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/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/cert/CMakeLists.txt
    R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.cpp
    R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.h
    M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
    M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
    M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.h
    M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
    M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
    M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.h
    M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.h
    M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
    M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.cpp
    M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
    M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.h
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.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/modernize/UseEqualsDeleteCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
    M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.h
    A clang-tools-extra/clang-tidy/readability/AvoidNestedConditionalOperatorCheck.cpp
    A clang-tools-extra/clang-tidy/readability/AvoidNestedConditionalOperatorCheck.h
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.h
    A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
    A clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    A clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.h
    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/clang-tidy/utils/FixItHintUtils.cpp
    M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.h
    M clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/DumpAST.cpp
    M clang-tools-extra/clangd/ExpectedTypes.cpp
    M clang-tools-extra/clangd/FS.cpp
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/Headers.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/Protocol.h
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/SourceCode.cpp
    M clang-tools-extra/clangd/SourceCode.h
    M clang-tools-extra/clangd/TidyFastChecks.inc
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
    M clang-tools-extra/clangd/index/IndexAction.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/Rename.h
    M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
    M clang-tools-extra/clangd/test/initialize-params.test
    M clang-tools-extra/clangd/test/rename.test
    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/CompileCommandsTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/DumpASTTests.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/LSPClient.cpp
    M clang-tools-extra/clangd/unittests/LSPClient.h
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
    M clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/chained-comparison.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-include.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.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
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl21-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/prefer-member-initializer.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/global-names-in-headers.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/header-guard.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/definitions-in-headers.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/unconventional-assign-operator.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/unused-using-decls.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/use-anonymous-namespace.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-override.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-swap.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-nested-conditional-operator.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-casting.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/simplify-boolean-expr.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/use-anyofallof.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/use-std-min-max.rst
    M clang-tools-extra/include-cleaner/lib/Record.cpp
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/test/tool.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/modularize/CoverageChecker.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/modularize/PreprocessorTracker.cpp
    M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    M clang-tools-extra/pp-trace/PPCallbacksTracker.h
    A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/no.cpp
    A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/no.yaml
    A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/yes.cpp
    A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/yes.yaml
    A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/basic.h
    A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file1.yml
    A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file2.yml
    A clang-tools-extra/test/clang-apply-replacements/format-header.cpp
    A clang-tools-extra/test/clang-apply-replacements/yml-basic.cpp
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/external-file.h
    M clang-tools-extra/test/clang-tidy/checkers/abseil/faster-strsplit-delimiter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/crtp-constructor-accessibility.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-array-subscript-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/non-zero-enum-to-bool-conversion.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.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
    R clang-tools-extra/test/clang-tidy/checkers/cert/dcl21-cpp.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init-assignment.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
    A clang-tools-extra/test/clang-tidy/checkers/google/explicit-constructor-cxx20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
    M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-swap.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/Inputs/identifier-naming/symlink/include/.clang-tidy
    A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/symlink/include/test.h
    A clang-tools-extra/test/clang-tidy/checkers/readability/avoid-nested-conditional-operator.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-in-conditions.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-cxx98.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-include.cpp
    M clang-tools-extra/unittests/clang-tidy/DeclRefExprUtilsTest.cpp
    M clang/.clang-tidy
    M clang/CMakeLists.txt
    M clang/CodeOwners.rst
    M clang/bindings/python/README.txt
    M clang/bindings/python/clang/cindex.py
    A clang/bindings/python/tests/cindex/test_rewrite.py
    M clang/cmake/caches/BOLT.cmake
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/cmake/caches/PGO.cmake
    M clang/cmake/caches/Release.cmake
    A clang/docs/BoundsSafety.rst
    A clang/docs/BoundsSafetyImplPlans.rst
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ClangLinkerWrapper.rst
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/DataFlowSanitizer.rst
    M clang/docs/HIPSupport.rst
    A clang/docs/HLSL/ExpectedDifferences.rst
    M clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/HLSL/HLSLSupport.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/LibASTMatchersTutorial.rst
    M clang/docs/OffloadingDesign.rst
    A clang/docs/PointerAuthentication.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/ShadowCallStack.rst
    M clang/docs/SourceBasedCodeCoverage.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/UndefinedBehaviorSanitizer.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/index.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/docs/tools/dump_ast_matchers.py
    M clang/docs/tools/dump_format_style.py
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/APINotesWriter.h
    M clang/include/clang/APINotes/Types.h
    A clang/include/clang/AST/APNumericStorage.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/Availability.h
    M clang/include/clang/AST/CommentCommandTraits.h
    M clang/include/clang/AST/ComparisonCategories.h
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.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/JSONNodeDumper.h
    M clang/include/clang/AST/ODRHash.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/AST/ParentMapContext.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RawCommentList.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtObjC.h
    A clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/StmtVisitor.h
    M clang/include/clang/AST/TemplateArgumentVisitor.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Analysis/Analyses/PostOrderCFGView.h
    M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Analysis/CFG.h
    A clang/include/clang/Analysis/FlowSensitive/AdornedCFG.h
    M clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowValues.h
    M clang/include/clang/Analysis/FlowSensitive/Formula.h
    M clang/include/clang/Analysis/FlowSensitive/Logger.h
    M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
    M clang/include/clang/Basic/AllDiagnostics.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/Builtins.h
    A clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    R clang/include/clang/Basic/BuiltinsBPF.def
    A clang/include/clang/Basic/BuiltinsBPF.td
    A clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsLoongArchBase.def
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/include/clang/Basic/BuiltinsPPC.def
    R clang/include/clang/Basic/BuiltinsRISCV.def
    A clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CharInfo.h
    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/Diagnostic.td
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDocs.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    A clang/include/clang/Basic/DiagnosticInstallAPI.h
    A clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/DirectoryEntry.h
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/IdentifierTable.h
    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/ObjCRuntime.h
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/OpenCLExtensionTypes.def
    M clang/include/clang/Basic/RISCVVTypes.def
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetBuiltins.h
    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/TokenKinds.h
    M clang/include/clang/Basic/TypeNodes.td
    M clang/include/clang/Basic/Visibility.h
    M clang/include/clang/Basic/arm_neon.td
    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/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Basic/riscv_sifive_vector.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/CodeGen/CGFunctionInfo.h
    M clang/include/clang/Driver/ClangOptionDocs.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/Driver/Types.def
    M clang/include/clang/ExtractAPI/API.h
    R clang/include/clang/ExtractAPI/AvailabilityInfo.h
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/include/clang/Format/.clang-format
    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/Frontend/TextDiagnostic.h
    M clang/include/clang/Frontend/Utils.h
    A clang/include/clang/InstallAPI/Context.h
    A clang/include/clang/InstallAPI/DylibVerifier.h
    A clang/include/clang/InstallAPI/FileList.h
    A clang/include/clang/InstallAPI/Frontend.h
    A clang/include/clang/InstallAPI/FrontendRecords.h
    A clang/include/clang/InstallAPI/HeaderFile.h
    A clang/include/clang/InstallAPI/InstallAPIDiagnostic.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/Lex/HeaderSearch.h
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Lex/Lexer.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/PreprocessingRecord.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/Token.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Parse/RAIIObjectsForParser.h
    M clang/include/clang/Rewrite/Core/HTMLRewrite.h
    M clang/include/clang/Sema/AnalysisBasedWarnings.h
    M clang/include/clang/Sema/CodeCompleteConsumer.h
    M clang/include/clang/Sema/CodeCompleteOptions.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/DelayedDiagnostic.h
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Scope.h
    M clang/include/clang/Sema/ScopeInfo.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTRecordWriter.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/PCHContainerOperations.h
    M clang/include/clang/Serialization/TypeBitCodes.def
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugSuppression.h
    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/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Testing/CommandLineArgs.h
    M clang/include/clang/Testing/TestClangConfig.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
    M clang/include/module.modulemap
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/ARCMigrate/FileRemapper.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/ARCMigrate/TransGCAttrs.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ASTTypeTraits.cpp
    M clang/lib/AST/AttrDocTable.cpp
    A clang/lib/AST/Availability.cpp
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/ComparisonCategories.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.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
    A clang/lib/AST/Interp/EvaluationResult.cpp
    A 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/IntegralAP.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    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/Interp/Record.h
    M clang/lib/AST/Interp/Source.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/Linkage.h
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/Stmt.cpp
    A clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/CalledOnceCheck.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    A clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    R clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.css
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.html
    M clang/lib/Analysis/FlowSensitive/Logger.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
    M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Analysis/FlowSensitive/Value.cpp
    M clang/lib/Analysis/ReachableCode.cpp
    M clang/lib/Analysis/RetainSummaryManager.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/Sarif.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Warnings.cpp
    M clang/lib/CMakeLists.txt
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCUDARuntime.h
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGGPUBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGRecordLayout.h
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/CoverageMappingGen.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/LinkInModulesPass.cpp
    A clang/lib/CodeGen/MCDCState.h
    M clang/lib/CodeGen/MacroPPCallbacks.cpp
    M clang/lib/CodeGen/MacroPPCallbacks.h
    M clang/lib/CodeGen/ModuleBuilder.cpp
    M clang/lib/CodeGen/TargetInfo.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/CodeGen/Targets/X86.cpp
    M clang/lib/CrossTU/CrossTranslationUnit.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/SanitizerArgs.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/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AVR.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.h
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    M clang/lib/Driver/ToolChains/Arch/Sparc.h
    M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/CSKYToolChain.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/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/DragonFly.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    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/HIPAMD.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/Hurd.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MSP430.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MinGW.h
    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/WebAssembly.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/Types.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/ExtractAPI/API.cpp
    R clang/lib/ExtractAPI/AvailabilityInfo.cpp
    M clang/lib/ExtractAPI/CMakeLists.txt
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/.clang-format
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/BreakableToken.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/Encoding.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatInternal.h
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroCallReconstructor.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/SortJavaScriptImports.h
    M clang/lib/Format/TokenAnalyzer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineFormatter.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/DependencyGraph.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/LogDiagnosticPrinter.cpp
    M clang/lib/Frontend/ModuleDependencyCollector.cpp
    M clang/lib/Frontend/PrecompiledPreamble.cpp
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
    M clang/lib/Frontend/TextDiagnostic.cpp
    M clang/lib/Frontend/TextDiagnosticBuffer.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__clang_cuda_intrinsics.h
    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/arm_acle.h
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/bmiintrin.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/ia32intrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/intrin.h
    A clang/lib/Headers/intrin0.h
    M clang/lib/Headers/keylockerintrin.h
    M clang/lib/Headers/larchintrin.h
    M clang/lib/Headers/lasxintrin.h
    M clang/lib/Headers/llvm_libc_wrappers/assert.h
    M clang/lib/Headers/llvm_libc_wrappers/string.h
    M clang/lib/Headers/lsxintrin.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Headers/prfchwintrin.h
    A clang/lib/Headers/ptrauth.h
    M clang/lib/Headers/sifive_vector.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/stdatomic.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/x86gprintrin.h
    M clang/lib/Headers/x86intrin.h
    M clang/lib/Headers/xmmintrin.h
    A clang/lib/Headers/yvals_core.h
    M clang/lib/Index/IndexSymbol.cpp
    M clang/lib/Index/IndexingAction.cpp
    M clang/lib/Index/USRGeneration.cpp
    A clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/DylibVerifier.cpp
    A clang/lib/InstallAPI/FileList.cpp
    A clang/lib/InstallAPI/Frontend.cpp
    A clang/lib/InstallAPI/HeaderFile.cpp
    A clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/PreprocessingRecord.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Lex/UnicodeCharSets.h
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Rewrite/HTMLRewrite.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/OpenCLBuiltins.td
    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/SemaCUDA.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.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/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    A clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCVVectorLookup.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/SemaTemplateVariadic.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/BlockInCriticalSectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.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/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Testing/CommandLineArgs.cpp
    M clang/lib/Tooling/ASTDiff/ASTDiff.cpp
    M clang/lib/Tooling/AllTUsExecution.cpp
    M clang/lib/Tooling/CMakeLists.txt
    M clang/lib/Tooling/CompilationDatabase.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
    M clang/lib/Tooling/Inclusions/IncludeStyle.cpp
    A clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
    M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
    M clang/lib/Tooling/Refactoring/AtomicChange.cpp
    M clang/lib/Tooling/Syntax/Tokens.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/test/AST/Interp/arrays.cpp
    A clang/test/AST/Interp/atomic.c
    A clang/test/AST/Interp/atomic.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/Interp/builtins.cpp
    M clang/test/AST/Interp/c.c
    A clang/test/AST/Interp/c23.c
    A clang/test/AST/Interp/comma.cpp
    A clang/test/AST/Interp/complex.c
    M clang/test/AST/Interp/complex.cpp
    A clang/test/AST/Interp/crash-GH49103-2.cpp
    A clang/test/AST/Interp/cxx03.cpp
    A clang/test/AST/Interp/cxx11.cpp
    M clang/test/AST/Interp/cxx17.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/cxx23.cpp
    A 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/intap.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/pointer-addition.c
    M clang/test/AST/Interp/records.cpp
    M clang/test/AST/Interp/shifts.cpp
    A clang/test/AST/Interp/spaceship.cpp
    M clang/test/AST/Interp/switch.cpp
    A clang/test/AST/ast-crash-doc-function-template.cpp
    M clang/test/AST/ast-dump-concepts.cpp
    M clang/test/AST/ast-dump-coroutine.cpp
    A clang/test/AST/ast-dump-for-range-lifetime.cpp
    M clang/test/AST/ast-dump-invalid-initialized.cpp
    A clang/test/AST/ast-dump-pack-indexing-crash.cpp
    M clang/test/AST/ast-dump-sme-attributes.cpp
    A clang/test/AST/ast-dump-static-operators.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/ast-dump-using.cpp
    M clang/test/AST/ast-print-method-decl.cpp
    M clang/test/AST/ast-print-objectivec.m
    M clang/test/AST/coroutine-locals-cleanup.cpp
    A clang/test/AST/fixed-point-zero-init.cpp
    M clang/test/AST/ms-constexpr.cpp
    A clang/test/Analysis/Checkers/WebKit/assignment-to-refptr.cpp
    R clang/test/Analysis/Checkers/WebKit/call-args-dynamic-downcast.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-protected-return-value.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    A clang/test/Analysis/Checkers/WebKit/implicit-cast-to-base-class-with-deref-in-superclass.cpp
    A clang/test/Analysis/Checkers/WebKit/member-function-pointer-crash.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    A clang/test/Analysis/Checkers/WebKit/ref-allowing-partially-destroyed.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
    A clang/test/Analysis/Checkers/WebKit/ref-countable-default-arg-nullptr.cpp
    A clang/test/Analysis/Checkers/WebKit/ref-ptr-accessor.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/Inputs/expected-plists/unix-fns.c.plist
    M clang/test/Analysis/Inputs/std-c-library-functions-POSIX.h
    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/ObjCRetSigs.m
    M clang/test/Analysis/additive-op-on-sym-int-expr.c
    M clang/test/Analysis/analyzer-config.c
    A clang/test/Analysis/assuming-unsigned-ge-0.c
    M clang/test/Analysis/bitwise-shift-common.c
    M clang/test/Analysis/block-in-critical-section.cpp
    M clang/test/Analysis/bsd-string.c
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/builtin-functions.cpp
    M clang/test/Analysis/call-invalidation.cpp
    M clang/test/Analysis/copypaste/suspicious-clones.cpp
    M clang/test/Analysis/cxx2b-deducing-this.cpp
    M clang/test/Analysis/errno-stdlibraryfunctions.c
    M clang/test/Analysis/eval-predefined-exprs.cpp
    A clang/test/Analysis/getline-alloc.c
    A clang/test/Analysis/html_diagnostics/counter.c
    M clang/test/Analysis/inlining/false-positive-suppression.cpp
    M clang/test/Analysis/loop-unrolling.cpp
    M clang/test/Analysis/malloc.mm
    M clang/test/Analysis/misc-ps-region-store.mm
    M clang/test/Analysis/objc_invalidation.m
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    A clang/test/Analysis/out-of-bounds-notes.c
    M clang/test/Analysis/out-of-bounds.c
    M clang/test/Analysis/scan-build/html_output.test
    M clang/test/Analysis/stack-addr-ps.c
    M clang/test/Analysis/std-c-library-functions-POSIX.c
    M clang/test/Analysis/std-c-library-functions-path-notes.c
    M clang/test/Analysis/std-c-library-functions.c
    M clang/test/Analysis/stream-errno-note.c
    M clang/test/Analysis/stream-errno.c
    M clang/test/Analysis/stream-error.c
    A clang/test/Analysis/stream-invalidate.c
    M clang/test/Analysis/stream-noopen.c
    M clang/test/Analysis/stream-note.c
    M clang/test/Analysis/stream.c
    M clang/test/Analysis/string.c
    M clang/test/Analysis/suppression-attr-doc.cpp
    A clang/test/Analysis/suppression-attr.cpp
    M clang/test/Analysis/suppression-attr.m
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c
    M clang/test/Analysis/taint-tester.c
    M clang/test/Analysis/templates.cpp
    M clang/test/Analysis/uninit-vals.m
    A clang/test/Analysis/unix-fns-o_creat.c
    M clang/test/Analysis/unix-fns.c
    M clang/test/Analysis/unused-ivars.m
    A clang/test/C/C11/n1310.c
    A clang/test/C/C2x/n2549.c
    M clang/test/C/C2x/n2934.c
    A clang/test/C/C2x/n2940.c
    M clang/test/C/C2x/n2975.c
    A clang/test/C/C2x/n3018.c
    M clang/test/C/C2x/n3042.c
    M clang/test/C/drs/dr0xx.c
    M clang/test/C/drs/dr2xx.c
    M clang/test/C/drs/dr3xx.c
    M clang/test/CMakeLists.txt
    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.access/p4.cpp
    M clang/test/CXX/class.derived/class.member.lookup/p11.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
    A clang/test/CXX/dcl.dcl/dcl.enum/p1.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.dcl/dcl.spec/dcl.type/dcl.type.elab/p1.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p3.cpp
    A clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p4.cpp
    M clang/test/CXX/dcl.decl/dcl.decl.general/p4-20.cpp
    M clang/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
    A clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
    A clang/test/CXX/dcl.decl/dcl.meaning/dcl.meaning.general/p3.cpp
    M clang/test/CXX/drs/dr0xx.cpp
    M clang/test/CXX/drs/dr11xx.cpp
    A clang/test/CXX/drs/dr124.cpp
    M clang/test/CXX/drs/dr12xx.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/dr17xx.cpp
    A clang/test/CXX/drs/dr1807.cpp
    A clang/test/CXX/drs/dr185.cpp
    M clang/test/CXX/drs/dr18xx.cpp
    A clang/test/CXX/drs/dr193.cpp
    A clang/test/CXX/drs/dr199.cpp
    M clang/test/CXX/drs/dr1xx.cpp
    A clang/test/CXX/drs/dr201.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    A clang/test/CXX/drs/dr210.cpp
    M clang/test/CXX/drs/dr22xx.cpp
    A clang/test/CXX/drs/dr2335.cpp
    M clang/test/CXX/drs/dr23xx.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    A clang/test/CXX/drs/dr2504.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr26xx.cpp
    M clang/test/CXX/drs/dr27xx.cpp
    A clang/test/CXX/drs/dr28xx.cpp
    A clang/test/CXX/drs/dr292.cpp
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.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
    M clang/test/CXX/drs/dr7xx.cpp
    A clang/test/CXX/except/except.spec/p13.cpp
    M clang/test/CXX/expr/expr.const/p5-26.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.qual/p3.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/module/module.interface/p2-2.cpp
    M clang/test/CXX/over/over.load/p2-0x.cpp
    M clang/test/CXX/over/over.match/over.match.best/p1-2a.cpp
    M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
    M clang/test/CXX/special/class.copy/p13-0x.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    M clang/test/CXX/temp/p3.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
    M clang/test/CXX/temp/temp.decls/temp.class/temp.mem.enum/p1.cpp
    M clang/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.conv/p4.cpp
    A clang/test/CXX/temp/temp.names/p5.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p6.cpp
    M clang/test/CXX/temp/temp.spec/part.spec.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
    A clang/test/ClangScanDeps/empty.cpp
    A clang/test/ClangScanDeps/missing-vfs.m
    A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    A clang/test/ClangScanDeps/optimize-fmodulemap.m
    A clang/test/ClangScanDeps/optimize-vfs-edgecases.m
    A clang/test/ClangScanDeps/optimize-vfs-leak.m
    A clang/test/ClangScanDeps/optimize-vfs-pch.m
    A clang/test/ClangScanDeps/optimize-vfs.m
    M clang/test/ClangScanDeps/strip-codegen-args.m
    A clang/test/ClangScanDeps/working-directory-option.c
    M clang/test/CodeCompletion/ordinary-name.c
    M clang/test/CodeGen/LoongArch/atomics.c
    A clang/test/CodeGen/LoongArch/builtin-dbl-approximate.c
    A clang/test/CodeGen/LoongArch/builtin-flt-approximate.c
    M clang/test/CodeGen/LoongArch/intrinsic-la32.c
    M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
    M clang/test/CodeGen/LoongArch/intrinsic-la64.c
    A clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
    A clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-error.c
    A clang/test/CodeGen/LoongArch/lsx/builtin-approximate-alias.c
    A clang/test/CodeGen/LoongArch/lsx/builtin-approximate.c
    M clang/test/CodeGen/LoongArch/lsx/builtin-error.c
    A clang/test/CodeGen/Mips/inline-asm-constraints.c
    M clang/test/CodeGen/PowerPC/aix-tls-model.cpp
    M clang/test/CodeGen/PowerPC/attr-target-ppc.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-rotate.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-sync.c
    M clang/test/CodeGen/PowerPC/quadword-atomics.c
    A clang/test/CodeGen/PowerPC/toc-data-attribute.c
    A clang/test/CodeGen/PowerPC/toc-data-attribute.cpp
    A clang/test/CodeGen/PowerPC/toc-data-diagnostics.c
    A clang/test/CodeGen/PowerPC/toc-data-structs-arrays.cpp
    M clang/test/CodeGen/RISCV/ntlh-intrinsics/riscv32-zihintntl.c
    M clang/test/CodeGen/RISCV/riscv-atomics.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    A clang/test/CodeGen/RISCV/riscv-metadata-arch.c
    M clang/test/CodeGen/RISCV/riscv32-abi.c
    A clang/test/CodeGen/RISCV/riscv32-ilp32e-error.c
    M clang/test/CodeGen/RISCV/riscv32-vararg.c
    M clang/test/CodeGen/RISCV/riscv64-abi.c
    M clang/test/CodeGen/RISCV/riscv64-vararg.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmaccbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vget.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vset.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x-rv64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmaccbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vget.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vset.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei8.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmaccbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei8.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwcvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwmaccbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e8ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-tuple-type.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/xsfvcp-index-out-of-range.c
    A clang/test/CodeGen/RISCV/tls-dialect.c
    A clang/test/CodeGen/SystemZ/atomic_fp_load_store.c
    M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
    M clang/test/CodeGen/SystemZ/systemz-ppa2.c
    A clang/test/CodeGen/SystemZ/unaligned-symbols.c
    A clang/test/CodeGen/X86/attribute-cmpsd-no-error.c
    M clang/test/CodeGen/X86/avx-builtins.c
    M clang/test/CodeGen/X86/avx-shuffle-builtins.c
    M clang/test/CodeGen/X86/avx512-kconstraints-att_inline_asm.c
    A clang/test/CodeGen/X86/cmp-avx-builtins-error.c
    A clang/test/CodeGen/X86/cx-complex-range.c
    A clang/test/CodeGen/X86/inline-asm-constraints.c
    M clang/test/CodeGen/X86/sse-builtins.c
    M clang/test/CodeGen/X86/sse2-builtins.c
    R clang/test/CodeGen/X86/x86-inline-asm-v-constraint.c
    M clang/test/CodeGen/aapcs-align.cpp
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
    M clang/test/CodeGen/aarch64-ABI-align-packed.c
    A clang/test/CodeGen/aarch64-cpu-supports-target.c
    A clang/test/CodeGen/aarch64-cpu-supports.c
    M clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
    M clang/test/CodeGen/aarch64-inline-asm.c
    M clang/test/CodeGen/aarch64-ls64-inline-asm.c
    M clang/test/CodeGen/aarch64-ls64.c
    M clang/test/CodeGen/aarch64-matmul.cpp
    M clang/test/CodeGen/aarch64-neon-intrinsics.c
    M clang/test/CodeGen/aarch64-neon-ldst-one-rcpc3.c
    A clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
    A clang/test/CodeGen/aarch64-soft-float-abi-errors.c
    A clang/test/CodeGen/aarch64-soft-float-abi.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
    M clang/test/CodeGen/aarch64-targetattr-arch.c
    M clang/test/CodeGen/aarch64-targetattr-crypto.c
    M clang/test/CodeGen/aarch64-targetattr.c
    M clang/test/CodeGen/aarch64-tme.cpp
    A clang/test/CodeGen/aix-builtin-cpu-is.c
    M clang/test/CodeGen/alloc-size.c
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CodeGen/arm-acle-coproc.c
    M clang/test/CodeGen/arm-atomics-m.c
    M clang/test/CodeGen/arm-atomics-m0.c
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c
    M clang/test/CodeGen/arm64-mte.c
    M clang/test/CodeGen/atomic-ops-libcall.c
    M clang/test/CodeGen/atomic-ops.c
    M clang/test/CodeGen/atomic.c
    M clang/test/CodeGen/atomics-inlining.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
    A clang/test/CodeGen/attr-availability-visionos.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/builtin-cpu-supports.c
    M clang/test/CodeGen/builtins-arm64.c
    M clang/test/CodeGen/builtins-hexagon.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/c11atomics-ios.c
    M clang/test/CodeGen/c11atomics.c
    M clang/test/CodeGen/callback_pthread_create.c
    M clang/test/CodeGen/cleanup-destslot-simple.c
    A clang/test/CodeGen/complex-math-mixed.c
    M clang/test/CodeGen/complex-math.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/cx-complex-range.c
    M clang/test/CodeGen/debug-info-cc.c
    M clang/test/CodeGen/debug-info-codeview-unnamed.c
    M clang/test/CodeGen/debug-info-unused-types.c
    M clang/test/CodeGen/debug-info-unused-types.cpp
    A clang/test/CodeGen/debug-names-compound-type-units.ll
    M clang/test/CodeGen/fat-lto-objects.c
    M clang/test/CodeGen/fp128_complex.c
    M clang/test/CodeGen/fp16-ops-strictfp.c
    M clang/test/CodeGen/fp16-ops.c
    M clang/test/CodeGen/function-attributes.c
    M clang/test/CodeGen/hexagon-brev-ld-ptr-incdec.c
    M clang/test/CodeGen/integer-overflow.c
    M clang/test/CodeGen/large-data-threshold.c
    M clang/test/CodeGen/memtag-globals-asm.cpp
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics-underaligned.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGen/paren-list-agg-init.cpp
    M clang/test/CodeGen/pragma-cx-limited-range.c
    M clang/test/CodeGen/pragma-weak.c
    M clang/test/CodeGen/preserve-call-conv.c
    A clang/test/CodeGen/ptrauth-intrinsics.c
    A clang/test/CodeGen/remote-traps.c
    A clang/test/CodeGen/smiths-complex-div.c
    M clang/test/CodeGen/swift-async-call-conv.c
    M clang/test/CodeGen/target-avx-abi-diag.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
    A clang/test/CodeGen/thinlto-debug-names-tu-reuse.ll
    M clang/test/CodeGen/ubsan-builtin-checks.c
    A clang/test/CodeGen/ubsan-shift-bitint.c
    M clang/test/CodeGen/union-tbaa1.c
    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/amdgpu-workgroup-size.cu
    M clang/test/CodeGenCUDA/device-stub.cu
    M clang/test/CodeGenCUDA/host-used-device-var.cu
    M clang/test/CodeGenCUDA/host-used-extern.cu
    A clang/test/CodeGenCUDA/printf-builtin.cu
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
    M clang/test/CodeGenCXX/arm-swiftcall.cpp
    M clang/test/CodeGenCXX/atomic-inline.cpp
    M clang/test/CodeGenCXX/attr-cpuspecific-outoflinedefs.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    A clang/test/CodeGenCXX/auto-var-init-max-size.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp
    M clang/test/CodeGenCXX/constructor-init.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
    A clang/test/CodeGenCXX/cxx23-assume.cpp
    M clang/test/CodeGenCXX/cxx2a-consteval.cpp
    M clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp
    M clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp
    M clang/test/CodeGenCXX/debug-info-access.cpp
    M clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp
    M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
    M clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
    M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
    M clang/test/CodeGenCXX/debug-lambda-this.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    A clang/test/CodeGenCXX/dynamic-cast-dead.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
    M clang/test/CodeGenCXX/dynamic-cast.cpp
    M clang/test/CodeGenCXX/mangle-ms-back-references.cpp
    M clang/test/CodeGenCXX/mangle-ms-templates.cpp
    M clang/test/CodeGenCXX/mangle-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
    M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
    M clang/test/CodeGenCXX/microsoft-interface.cpp
    M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
    M clang/test/CodeGenCXX/module-initializer-guard-elision.cpp
    M clang/test/CodeGenCXX/module-intializer.cpp
    A clang/test/CodeGenCXX/ms-property-new.cpp
    M clang/test/CodeGenCXX/new-array-init.cpp
    M clang/test/CodeGenCXX/partitions.cpp
    M clang/test/CodeGenCXX/personality.cpp
    A clang/test/CodeGenCXX/placement-new-ms-__noop.cpp
    M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
    M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/static-init.cpp
    M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
    A clang/test/CodeGenCXX/template-arguments.cpp
    M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
    A clang/test/CodeGenCXX/visibility-global-new-delete.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout.cpp
    A clang/test/CodeGenCXX/x86_64-vaarg.cpp
    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
    A clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.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
    A clang/test/CodeGenHIP/printf-builtin.hip
    A clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    A clang/test/CodeGenHLSL/builtins/any.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    A clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/clamp.hlsl
    M clang/test/CodeGenHLSL/builtins/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
    M clang/test/CodeGenHLSL/builtins/reversebits.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/sqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
    M clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl
    A clang/test/CodeGenHLSL/shift-mask.hlsl
    M clang/test/CodeGenObjC/arc-foreach.m
    M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
    M clang/test/CodeGenObjC/debug-info-blocks.m
    M clang/test/CodeGenObjC/dllstorage.m
    M clang/test/CodeGenObjC/encode-test-6.m
    A clang/test/CodeGenObjC/gnustep2-direct-method.m
    M clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
    A clang/test/CodeGenObjCXX/property-placement-new.mm
    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/amdgpu-printf.cl
    M clang/test/CodeGenOpenCL/atomic-ops-libcall.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-param-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wave32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    A clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
    A clang/test/CodeGenOpenCL/reflect.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
    M clang/test/CoverageMapping/branch-constfolded.cpp
    A clang/test/CoverageMapping/conditional-operator.c
    M clang/test/CoverageMapping/if.cpp
    M clang/test/CoverageMapping/mcdc-logical-stmt-ids-all.cpp
    A clang/test/CoverageMapping/single-byte-counters.cpp
    M clang/test/CoverageMapping/templates.cpp
    A clang/test/Driver/Inputs/basic_android_tree/sysroot/usr/lib/crt_pad_segment.o
    A clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbegin.o
    A clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/bin/as
    A clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/bin/ld
    A clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/lib/.keep
    A clang/test/Driver/Inputs/basic_hurd_tree/lib/x86_64-gnu/.keep
    A clang/test/Driver/Inputs/basic_hurd_tree/lib64/.keep
    A clang/test/Driver/Inputs/basic_hurd_tree/usr/include/x86_64-gnu/.keep
    A clang/test/Driver/Inputs/basic_hurd_tree/usr/include/x86_64-gnu/c++/10/.keep
    A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbegin.o
    A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbeginS.o
    A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbeginT.o
    A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/x86_64-gnu/.keep
    A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib64/.keep
    A clang/test/Driver/Inputs/hip.h
    A clang/test/Driver/Inputs/nvptx-arch/nvptx_arch_sm_89_sm_80
    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
    A clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc
    M clang/test/Driver/aarch64-bf16.c
    M clang/test/Driver/aarch64-cortex-a510.c
    M clang/test/Driver/aarch64-cortex-a710.c
    M clang/test/Driver/aarch64-cortex-x2.c
    M clang/test/Driver/aarch64-cssc.c
    M clang/test/Driver/aarch64-d128.c
    M clang/test/Driver/aarch64-fix-cortex-a53-835769.c
    M clang/test/Driver/aarch64-fp16.c
    M clang/test/Driver/aarch64-implied-sme-features.c
    M clang/test/Driver/aarch64-implied-sve-features.c
    M clang/test/Driver/aarch64-ite.c
    M clang/test/Driver/aarch64-lrcpc3.c
    M clang/test/Driver/aarch64-ls64.c
    M clang/test/Driver/aarch64-lse128.c
    M clang/test/Driver/aarch64-march.c
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Driver/aarch64-mgeneral_regs_only.c
    M clang/test/Driver/aarch64-mte.c
    M clang/test/Driver/aarch64-pauth-lr.c
    M clang/test/Driver/aarch64-perfmon.c
    M clang/test/Driver/aarch64-predres.c
    M clang/test/Driver/aarch64-rand.c
    M clang/test/Driver/aarch64-ras.c
    M clang/test/Driver/aarch64-rdm.c
    A clang/test/Driver/aarch64-soft-float-abi.c
    M clang/test/Driver/aarch64-ssbs.c
    M clang/test/Driver/aarch64-sve2.c
    M clang/test/Driver/aarch64-target-as-march.s
    M clang/test/Driver/aarch64-the.c
    M clang/test/Driver/aarch64-v81a.c
    M clang/test/Driver/aarch64-v82a.c
    M clang/test/Driver/aarch64-v83a.c
    M clang/test/Driver/aarch64-v84a.c
    M clang/test/Driver/aarch64-v85a.c
    M clang/test/Driver/aarch64-v86a.c
    M clang/test/Driver/aarch64-v87a.c
    M clang/test/Driver/aarch64-v88a.c
    M clang/test/Driver/aarch64-v89a.c
    M clang/test/Driver/aarch64-v91a.c
    M clang/test/Driver/aarch64-v92a.c
    M clang/test/Driver/aarch64-v93a.c
    M clang/test/Driver/aarch64-v94a.c
    M clang/test/Driver/aarch64-v95a.c
    M clang/test/Driver/aix-small-local-exec-tls.c
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/amdgpu-toolchain-opencl.cl
    M clang/test/Driver/android-link.cpp
    R clang/test/Driver/android-version.cpp
    M clang/test/Driver/apple-kext-mkernel.c
    M clang/test/Driver/arch-specific-libdir.c
    M clang/test/Driver/arm-alignment.c
    M clang/test/Driver/arm-compiler-rt.c
    M clang/test/Driver/arm-cortex-cpus-1.c
    M clang/test/Driver/arm-cortex-cpus-2.c
    M clang/test/Driver/arm-no-neg-immediates.c
    M clang/test/Driver/arm-sb.c
    M clang/test/Driver/autocomplete.c
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp
    A clang/test/Driver/basic-block-address-map.c
    M clang/test/Driver/clang-g-opts.c
    M clang/test/Driver/clang-offload-bundler-asserts-on.c
    M clang/test/Driver/clang-offload-bundler-standardize.c
    M clang/test/Driver/clang-offload-bundler-zlib.c
    M clang/test/Driver/clang-offload-bundler-zstd.c
    M clang/test/Driver/clang-offload-bundler.c
    M clang/test/Driver/clang_f_opts.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-cross-compiling.c
    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/dxc_spirv.hlsl
    M clang/test/Driver/fat-archive-unbundle-ext.c
    M clang/test/Driver/fat-lto-objects.c
    M clang/test/Driver/fbasic-block-sections.c
    M clang/test/Driver/fdefine-target-os-macros.c
    M clang/test/Driver/freebsd.c
    A clang/test/Driver/fsanitize-signed-integer-overflow.c
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/fuchsia.c
    M clang/test/Driver/fveclib.c
    M clang/test/Driver/gpu-libc-headers.c
    M clang/test/Driver/haiku.c
    A clang/test/Driver/hexagon-default-build-attributes.s
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-code-object-version.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-device-libs.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-options.hip
    M clang/test/Driver/hip-output-file-name.hip
    A 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-runtime-libs-linux.hip
    M clang/test/Driver/hip-target-id.hip
    M clang/test/Driver/hip-toolchain-features.hip
    M clang/test/Driver/hip-toolchain-mllvm.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/hipstdpar.c
    M clang/test/Driver/hlsl-lang-targets-spirv.hlsl
    M clang/test/Driver/hlsl-lang-targets.hlsl
    M clang/test/Driver/hurd.cpp
    M clang/test/Driver/instrprof-ld.c
    A clang/test/Driver/invalid-version.cpp
    M clang/test/Driver/large-data-threshold.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/loongarch-munaligned-access.c
    M clang/test/Driver/lto.cu
    M clang/test/Driver/matrix.c
    M clang/test/Driver/mingw-sysroot.cpp
    M clang/test/Driver/mingw.cpp
    M clang/test/Driver/mips-features.c
    A clang/test/Driver/modules-print-library-module-manifest-path.cpp
    A clang/test/Driver/modules-skip-odr-check-in-gmf.cpp
    M clang/test/Driver/munaligned-access-unused.c
    M clang/test/Driver/netbsd.c
    M clang/test/Driver/no-canonical-prefixes.c
    M clang/test/Driver/nvptx-cuda-system-arch.c
    M clang/test/Driver/openbsd.c
    A clang/test/Driver/opencl_aot_save_temps.cl
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/openmp-offload-infer.c
    M clang/test/Driver/ppc-dependent-options.cpp
    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-cpus.c
    M clang/test/Driver/riscv-features.c
    M clang/test/Driver/riscv-toolchain-gcc-multilib-reuse.c
    M clang/test/Driver/riscv32-toolchain.c
    M clang/test/Driver/riscv64-toolchain.c
    M clang/test/Driver/rocm-detect.hip
    A clang/test/Driver/s390x-unaligned-symbols.c
    M clang/test/Driver/sanitizer-ld.c
    A clang/test/Driver/sparc-fixed-register.c
    A clang/test/Driver/sparc64-codemodel.c
    M clang/test/Driver/split-debug.c
    M clang/test/Driver/thinlto.cu
    A clang/test/Driver/tls-dialect.c
    A clang/test/Driver/toc-conf.c
    A clang/test/Driver/tocdata-cc1.c
    M clang/test/Driver/unknown-arg.c
    A clang/test/Driver/unsupported-option-gpu.c
    M clang/test/Driver/visibility-dllstorageclass.c
    A clang/test/Driver/visibility-global-new-delete.cl
    M clang/test/Driver/wasm-features.c
    M clang/test/Driver/wasm-toolchain.c
    M clang/test/Driver/x86-target-features.c
    A clang/test/Driver/xros-driver-requires-darwin-host.c
    A clang/test/Driver/xros-driver.c
    M clang/test/ExtractAPI/availability.c
    M clang/test/ExtractAPI/typedef.c
    A clang/test/ExtractAPI/union.c
    M clang/test/FixIt/fixit-c++11.cpp
    M clang/test/Format/clang-format-ignore.cpp
    A clang/test/Format/dump-config-objc-stdin.m
    A clang/test/Format/fail-on-incomplete.cpp
    M clang/test/Format/verbose.cpp
    A clang/test/Frontend/diagnostic-pipe.c
    M clang/test/Frontend/embed-bitcode.ll
    M clang/test/Frontend/fixed_point_bit_widths.c
    M clang/test/Frontend/fixed_point_declarations.c
    M clang/test/Frontend/fixed_point_errors.cpp
    M clang/test/Frontend/gnu-mcount.c
    M clang/test/Frontend/verify.c
    A clang/test/Frontend/xros-version.c
    M clang/test/Headers/__clang_hip_cmath.hip
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/arm-acle-header.c
    M clang/test/Headers/xmmintrin-unsupported.c
    M clang/test/Import/attr/Inputs/S.cpp
    M clang/test/Import/attr/test.cpp
    M clang/test/Import/cxx-default-init-expr/test.cpp
    M clang/test/Index/Core/designated-inits.c
    M clang/test/Index/Core/external-source-symbol-attr-cxx.cpp
    M clang/test/Index/Core/external-source-symbol-attr.m
    M clang/test/Index/Core/index-dependent-source.cpp
    M clang/test/Index/Core/index-instantiated-source.cpp
    M clang/test/Index/Core/index-source-invalid-name.cpp
    M clang/test/Index/Core/index-source.cpp
    M clang/test/Index/Core/index-source.m
    M clang/test/Index/Core/index-source.mm
    M clang/test/Index/Core/index-subkinds.m
    M clang/test/Index/Core/index-with-module.m
    A clang/test/Index/USR/structural-value-tpl-arg.cpp
    M clang/test/Index/attributes.c
    M clang/test/Index/ms-property.cpp
    M clang/test/Index/using_if_exists.cpp
    A clang/test/InstallAPI/asm.test
    A clang/test/InstallAPI/availability.test
    A clang/test/InstallAPI/basic.test
    A clang/test/InstallAPI/cpp.test
    A clang/test/InstallAPI/diagnostics-cpp.test
    A clang/test/InstallAPI/driver-invalid-options.test
    A clang/test/InstallAPI/functions.test
    A clang/test/InstallAPI/hiddens.test
    A clang/test/InstallAPI/objcclasses.test
    A clang/test/InstallAPI/variables.test
    A clang/test/Interpreter/cxx20-modules.cppm
    M clang/test/Interpreter/disambiguate-decl-stmt.cpp
    M clang/test/Interpreter/execute-stmts.cpp
    M clang/test/Interpreter/incremental-mode.cpp
    A clang/test/Layout/dump-complete-invalid.cpp
    M clang/test/Layout/dump-complete.cpp
    M clang/test/Lexer/SourceLocationsOverflow.c
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Lexer/gnu-flags.c
    M clang/test/Lexer/has_extension_cxx.cpp
    A clang/test/Lexer/raw-string-dlim-invalid.cpp
    M clang/test/Lexer/unicode.c
    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
    A clang/test/Modules/GH77953.cpp
    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
    M clang/test/Modules/aarch64-sme-keywords.cppm
    A clang/test/Modules/bounds-safety-attributed-type.c
    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-importing-function-bodies.cppm
    M clang/test/Modules/cxx20-module-file-info-macros.cpp
    M clang/test/Modules/cxx20-module-file-info.cpp
    A clang/test/Modules/cxx20-modules-enum-odr.cppm
    M clang/test/Modules/cxx20-partition-redeclarations.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/eagerly-load-cxx-named-modules.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/implicit-module-with-missing-path.cpp
    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-eager-load.cppm
    M clang/test/Modules/no-implicit-std-cxx-module.cppm
    M clang/test/Modules/no-import-func-body.cppm
    M clang/test/Modules/no-undeclared-includes-builtins.cpp
    M clang/test/Modules/odr_hash.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
    A 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
    A clang/test/Modules/pr68702.cpp
    M clang/test/Modules/pr72828.cppm
    A clang/test/Modules/pr76638.cppm
    A clang/test/Modules/pr77995.cppm
    A clang/test/Modules/pr78830.cppm
    A clang/test/Modules/pr81745.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
    A clang/test/Modules/skip-odr-check-in-gmf.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_ast_print.cpp
    M clang/test/OpenMP/atomic_messages.cpp
    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/bug54082.c
    M clang/test/OpenMP/bug57757.cpp
    M clang/test/OpenMP/bug60602.cpp
    A clang/test/OpenMP/bug69085.c
    M clang/test/OpenMP/declare_reduction_messages.cpp
    M clang/test/OpenMP/declare_simd_messages.cpp
    M clang/test/OpenMP/declare_target_ast_print.cpp
    M clang/test/OpenMP/declare_target_messages.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_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/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/for_loop_auto.cpp
    A clang/test/OpenMP/force-usm.c
    A clang/test/OpenMP/interop_codegen.cpp
    M clang/test/OpenMP/map_struct_ordering.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_lambda_capturing.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/openmp_check.cpp
    M clang/test/OpenMP/openmp_offload_registration.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/scan_ast_print.cpp
    M clang/test/OpenMP/target_codegen.cpp
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_codegen_registration.cpp
    M clang/test/OpenMP/target_data_use_device_ptr_inheritance_codegen.cpp
    M clang/test/OpenMP/target_depend_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_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_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_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_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    R lldb/third_party/Python/module/unittest2/unittest2/test/dummy.py

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/ad7a1e288d97...a5a6bb3b9cfe

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