[all-commits] [llvm/llvm-project] ddb32a: [NFC] Add a precommit test for aarch64 jump table ...

Koakuma via All-commits all-commits at lists.llvm.org
Wed Apr 16 15:17:13 PDT 2025


  Branch: refs/heads/users/koachan/spr/main.sparc-use-op-then-halve-instructions-when-we-have-vis3
  Home:   https://github.com/llvm/llvm-project
  Commit: ddb32a67c2e76bc0f69470a8d02a220e8083fa68
      https://github.com/llvm/llvm-project/commit/ddb32a67c2e76bc0f69470a8d02a220e8083fa68
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/AArch64/jump-table-partition.ll

  Log Message:
  -----------
  [NFC] Add a precommit test for aarch64 jump table partitioning (#125987)


  Commit: a38ad6e2a24b46eaea481c04de566dd2a45d667b
      https://github.com/llvm/llvm-project/commit/a38ad6e2a24b46eaea481c04de566dd2a45d667b
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp

  Log Message:
  -----------
  [mlir][tosa] Check empty Concat input for inferReturnTypeComponents (#134728)

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 65813e0e94c0403dad61e8365b39d76d7b3bfc14
      https://github.com/llvm/llvm-project/commit/65813e0e94c0403dad61e8365b39d76d7b3bfc14
  Author: Tom Yang <zhenyutyang at gmail.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
    R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
    R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
    R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h

  Log Message:
  -----------
  Control Darwin parallel image loading with target.parallel-module-load (#134437)

A requested follow-up from
https://github.com/llvm/llvm-project/pull/130912 by @JDevlieghere to
control Darwin parallel image loading with the same
`target.parallel-module-load` that controls the POSIX dyld parallel
image loading. Darwin parallel image loading was introduced by
https://github.com/llvm/llvm-project/pull/110646.

This small change:
* removes
`plugin.dynamic-loader.darwin.experimental.enable-parallel-image-load`
and associated code.
* changes setting call site in
`DynamicLoaderDarwin::PreloadModulesFromImageInfos` to use the new
setting.

Tested by running `ninja check-lldb` and loading some targets.

Co-authored-by: Tom Yang <toyang at fb.com>


  Commit: 0afa872a0db41cba313df473aa3fea52a35c8e70
      https://github.com/llvm/llvm-project/commit/0afa872a0db41cba313df473aa3fea52a35c8e70
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/test/CodeGen/DirectX/saturate.ll

  Log Message:
  -----------
  [DirectX] Scalarize the dx.saturate intrinsic (#134381)

The DXIL Saturate op only takes scalars.

Fixes #134378.


  Commit: 99d12ac172f34e4963cf3a36536719149d30d788
      https://github.com/llvm/llvm-project/commit/99d12ac172f34e4963cf3a36536719149d30d788
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Fix build after 65813e0e94c0403dad61e8365b39d76d7b3bfc14


  Commit: d7354e337a4602da1e5913b3e6fceda2e8c5ecc0
      https://github.com/llvm/llvm-project/commit/d7354e337a4602da1e5913b3e6fceda2e8c5ecc0
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix ShuffleVector does not consider alternate instruction. (#134599)


  Commit: 1f359610b048ae31e5ea3a0416f55405ff398753
      https://github.com/llvm/llvm-project/commit/1f359610b048ae31e5ea3a0416f55405ff398753
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp

  Log Message:
  -----------
  ObjCARC: Drop pointer bitcast handling (#134274)

There is more in the file to drop, but this looks like the easier
part.


  Commit: 735f5b1cb45c4245f1c068dda8271142457925ec
      https://github.com/llvm/llvm-project/commit/735f5b1cb45c4245f1c068dda8271142457925ec
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaTemplate/dependent-names.cpp

  Log Message:
  -----------
  [clang] fix DependentTemplateSpecializationType transform (#134748)

This changes the transform for DTST so it rebuilds the node if any of
the template arguments changed.

This fixes a regression reported here:
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2784576267
which was introduced by https://github.com/llvm/llvm-project/pull/133610

There are no release notes since the regression was never released.


  Commit: 1356e202b2b2747220e12c2a8cbd28846bb61548
      https://github.com/llvm/llvm-project/commit/1356e202b2b2747220e12c2a8cbd28846bb61548
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp
    M llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp

  Log Message:
  -----------
  [NFC][LLVM][BPF] Cleanup pass initialization for BPF (#134414)

- Remove calls to pass initialization from pass constructors and move
them to target initialization.
- https://github.com/llvm/llvm-project/issues/111767


  Commit: a3754ade637f71d36495eb95ea2d8cab9885c9d9
      https://github.com/llvm/llvm-project/commit/a3754ade637f71d36495eb95ea2d8cab9885c9d9
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUExportClustering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineModuleInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
    M llvm/lib/Target/AMDGPU/R600.h
    M llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
    M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp

  Log Message:
  -----------
  [NFC][LLVM][AMDGPU] Cleanup pass initialization for AMDGPU (#134410)

- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767


  Commit: 707367621679742eae0e903470a5fe043424c698
      https://github.com/llvm/llvm-project/commit/707367621679742eae0e903470a5fe043424c698
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp

  Log Message:
  -----------
  [NFC][LLVM][DirectX] Cleanup pass initialization for DirectX (#134419)

- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767


  Commit: 87afe4de22f24c81d6eca8c2ecdec5e57d6a961a
      https://github.com/llvm/llvm-project/commit/87afe4de22f24c81d6eca8c2ecdec5e57d6a961a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  OMPIRBuilder: Cleanup checking for GlobalValue (#134583)

GlobalValue already subsumes GlobalObject and GlobalVariable,
plus make use of the std::get<0> already copied to a variable
above.


  Commit: 8286b804d519d045fa1ee3a1a2e7fae66e5e30ef
      https://github.com/llvm/llvm-project/commit/8286b804d519d045fa1ee3a1a2e7fae66e5e30ef
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/ReplaceConstant.cpp

  Log Message:
  -----------
  OMPIRBuilder: Do not try to expand uses of ConstantData (#134584)


  Commit: 76e219d9c3b46e0cc1813e1e8452da0f4f54ab92
      https://github.com/llvm/llvm-project/commit/76e219d9c3b46e0cc1813e1e8452da0f4f54ab92
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll

  Log Message:
  -----------
  SeparateConstOffsetFromGEP: Add more tests with lower-gep (#134684)

I didn't see any failures while trying to break hasMoreThanOneUseInLoop
or other paths here.


  Commit: 1a9928442b7dbcd596d6b577809c22330706ccb5
      https://github.com/llvm/llvm-project/commit/1a9928442b7dbcd596d6b577809c22330706ccb5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll

  Log Message:
  -----------
  SeparateConstOffsetFromGEP: Avoid looking at constant uses (#134685)

We could be more aggressive and inspect uses of global variables,
if the use context instruction is in the same function.


  Commit: a168ddc470825091ad52da12042fb38491ed81d6
      https://github.com/llvm/llvm-project/commit/a168ddc470825091ad52da12042fb38491ed81d6
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
    M mlir/test/Dialect/LLVMIR/constant-folding.mlir
    M mlir/test/Dialect/LLVMIR/inlining.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    A mlir/test/Target/LLVMIR/Import/blockaddress.ll
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    A mlir/test/Target/LLVMIR/blockaddress.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Block address support (#134335)

Add support for import and translate.

MLIR does not support using basic block references outside a function
(like LLVM does), This PR does not consider changes to MLIR to that
respect. It instead introduces two new ops: `llvm.blockaddress` and
`llvm.blocktag`. Here's an example:

```
llvm.func @ba() -> !llvm.ptr {
  %0 = llvm.blockaddress <function = @ba, tag = <id = 1>> : !llvm.ptr
  llvm.br ^bb1
^bb1:  // pred: ^bb0
  llvm.blocktag <id = 1>
  llvm.return %0 : !llvm.ptr
}
```

Value `%0` hold the address of block tagged as `id = 1` in function
`@ba`. Block tags need to be unique within a function and use of
`llvm.blockaddress` requires a matching tag in a `llvm.blocktag`.


  Commit: 80fde75dc6c50a7d32f6dbfda9a6f2c24890b5cc
      https://github.com/llvm/llvm-project/commit/80fde75dc6c50a7d32f6dbfda9a6f2c24890b5cc
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
    M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
    M llvm/lib/Target/SystemZ/SystemZLDCleanup.cpp
    M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
    M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
    M llvm/lib/Target/SystemZ/SystemZShortenInst.cpp
    M llvm/lib/Target/SystemZ/SystemZTDC.cpp

  Log Message:
  -----------
  [NFC][LLVM][SystemZ] Cleanup pass initialization for SystemZ (#134450)

- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767


  Commit: 20eb60d3f2d416976b1b31384e97db21ee0f28c9
      https://github.com/llvm/llvm-project/commit/20eb60d3f2d416976b1b31384e97db21ee0f28c9
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.h

  Log Message:
  -----------
  [NFC][LLVM] Cleanup pass initialization for wasm/LoongArch (#134452)

- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767


  Commit: bb1f32ded0b7bec3b69c30b1c21eb1210372cd7f
      https://github.com/llvm/llvm-project/commit/bb1f32ded0b7bec3b69c30b1c21eb1210372cd7f
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/include/llvm/PassSupport.h

  Log Message:
  -----------
  [NFC][LLVM] Change `initialize<PassName>PassOnce` to return void (#134500)

- The return value of these functions (called using `llvm::call_once`)
is never used, so make these functions return void.


  Commit: 3f4e4e0a12c523f3d794f015ca7f40bcfc0ed8f5
      https://github.com/llvm/llvm-project/commit/3f4e4e0a12c523f3d794f015ca7f40bcfc0ed8f5
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M flang/module/cudadevice.f90

  Log Message:
  -----------
  [flang][cuda] Add on_device interface to cudadevice (#134747)


  Commit: 3a0c95fb506301fdd083b6e5dff0a0c88da4a665
      https://github.com/llvm/llvm-project/commit/3a0c95fb506301fdd083b6e5dff0a0c88da4a665
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/reduce-conditionals.ll
    M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
    M llvm/tools/llvm-reduce/deltas/Utils.cpp
    M llvm/tools/llvm-reduce/deltas/Utils.h

  Log Message:
  -----------
  llvm-reduce: Fix introducing unreachable code in simplify conditionals (#133842)

After replacing the branch condition, this was calling simplifyCFG to
perform the cleanups of the branch. This is far too heavy of a hammer.
We do not want all of the extra optimizations in simplifyCFG, and
this could also leave behind dead code. Instead, minimally fold the
terminator and try to delete the newly dead code.

This is pretty much a direct copy of what bugpoint does.


  Commit: d057811655d8de3900748bba03d0c7ebcb6fafe3
      https://github.com/llvm/llvm-project/commit/d057811655d8de3900748bba03d0c7ebcb6fafe3
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/Basic/Diagnostic.h
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp
    M clang/test/SemaTemplate/trailing-return-short-circuit.cpp
    M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp

  Log Message:
  -----------
  [clang] fix diagnostic printing of expressions ignoring LangOpts (#134693)

Currently when printing a template argument of expression type, the
expression is converted immediately into a string to be sent to the
diagnostic engine, unsing a fake LangOpts.

This makes the expression printing look incorrect for the current
language, besides being inneficient, as we don't actually need to print
the expression if the diagnostic would be ignored.

This fixes a nastiness with the TemplateArgument constructor for
expressions being implicit, and all current users just passing an
expression to a diagnostic were implicitly going through the template
argument path.

The expressions are also being printed unquoted. This will be fixed in a
subsequent patch, as the test churn is much larger.


  Commit: 499930e38a814d4fb8227d9ab48a946658650e12
      https://github.com/llvm/llvm-project/commit/499930e38a814d4fb8227d9ab48a946658650e12
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni

  Log Message:
  -----------
  gn build: Spell arm64 correctly.


  Commit: 5aae0ee660ffdae057d7c5c0e851b5620586d042
      https://github.com/llvm/llvm-project/commit/5aae0ee660ffdae057d7c5c0e851b5620586d042
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [clang-tidy] give dummy path when create ClangTidyContext (#134670)

#121323 changed the way the absolute path is computed. Empty file name
will cause absolute path ignore current folder.
This patch add "dummy" file name to avoid this issue
Fixed: #134502


  Commit: 6a3e5f89bb89548fb39ca241c8ed7c2005a190f1
      https://github.com/llvm/llvm-project/commit/6a3e5f89bb89548fb39ca241c8ed7c2005a190f1
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
    M llvm/test/Analysis/CtxProfAnalysis/load.ll
    A llvm/test/Analysis/CtxProfAnalysis/pruning.ll
    M llvm/test/Transforms/EliminateAvailableExternally/transform-to-local.ll

  Log Message:
  -----------
  [ctxprof] Only prune the profile in modules containing only context trees (#134340)

We will subsequently treat the whole profile as "flat" in the frontend, (i.e flatten and combine with the flat profile section), so we can have a profile for ThinLTO for parts of the application that don't come under the contextual profile. After ThinLTO, we will treat the module(s) containing contextual trees differently: they'll have only the contextual profile pertinent to them. The rest of the modules (non-contextual) will proceed "as usual", off the flattened profile.

This patch implements pruning of the contextual profile to enable the above.


  Commit: f1bb2fe3562d2fe9a43c79ec8af908fdff23a33a
      https://github.com/llvm/llvm-project/commit/f1bb2fe3562d2fe9a43c79ec8af908fdff23a33a
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/ModuleInliner.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Analysis/CtxProfAnalysis/handle-select.ll
    M llvm/test/Analysis/CtxProfAnalysis/inline.ll

  Log Message:
  -----------
  [ctxprof] Use `isInSpecializedModule` as criteria for using contextual profile (#134468)

After #134340, the availability of contextual profile isn't in itself an indication of compiling the module containing all the functions covered by that profile.


  Commit: ac42b083f104442e12393ff09929a1add881010d
      https://github.com/llvm/llvm-project/commit/ac42b083f104442e12393ff09929a1add881010d
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    A clang/test/Modules/fmodule-file-mismatch.cppm

  Log Message:
  -----------
  [clang][modules] Guard against bad -fmodule-file mappings (#132059) (#133462)

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

Providing incorrect mappings via `-fmodule-file=<name>=<path/to/bmi>`
can crash the compiler when loading a module that imports an
incorrectly mapped module.

The crash occurs during AST body deserialization, when the compiler
attempts to resolve remappings using the `ModuleFile` from the
incorrectly mapped module's BMI file.
The cause is an invalid access into an incorrectly loaded
`ModuleFile`.

This commit fixes the issue by verifying the identity of the imported
module.


  Commit: 49d6e39eba88fdf7975c6f4dcb38595538331e6a
      https://github.com/llvm/llvm-project/commit/49d6e39eba88fdf7975c6f4dcb38595538331e6a
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    R llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
    A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll

  Log Message:
  -----------
  [AMDGPU] add tests for loop definition of bitconvert (#133052)

This PR add test cases for all types of bit conversation, it prepares
for PR: https://github.com/llvm/llvm-project/pull/132899



All tests passed due to:
1. For DAG, pattern will not separate SReg and VReg. One of the sample
is:
    ```
define <2 x double> @v_bitcast_v4f32_to_v2f64(<4 x float> inreg %a, i32
%b) {
     %cmp = icmp eq i32 %b, 0
     br i1 %cmp, label %cmp.true, label %cmp.false
   
   cmp.true:
     %a1 = fadd <4 x float> %a, splat (float 1.000000e+00)
     %a2 = bitcast <4 x float> %a1 to <2 x double>
     br label %end
   
   cmp.false:
     %a3 = bitcast <4 x float> %a to <2 x double>
     br label %end
   
   end:
     %phi = phi <2 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]
     ret <2 x double> %phi
   }
   ```
It suppose to select from scalar register patterns. But the Vreg pattern
is matched is as follow:
    ```
   Debug log:
   ISEL: Starting selection on root node: t3: v2f64 = bitcast t2
   ISEL: Starting pattern match
     Initial Opcode index to 440336
Skipped scope entry (due to false predicate) at index 440339, continuing
at 440367
Skipped scope entry (due to false predicate) at index 440368, continuing
at 440396
Skipped scope entry (due to false predicate) at index 440397, continuing
at 440435
Skipped scope entry (due to false predicate) at index 440436, continuing
at 440467
Skipped scope entry (due to false predicate) at index 440468, continuing
at 440499
Skipped scope entry (due to false predicate) at index 440500, continuing
at 440552
Skipped scope entry (due to false predicate) at index 440553, continuing
at 440587
Skipped scope entry (due to false predicate) at index 440588, continuing
at 440622
Skipped scope entry (due to false predicate) at index 440623, continuing
at 440657
Skipped scope entry (due to false predicate) at index 440658, continuing
at 440692
Skipped scope entry (due to false predicate) at index 440693, continuing
at 440727
Skipped scope entry (due to false predicate) at index 440728, continuing
at 440769
Skipped scope entry (due to false predicate) at index 440770, continuing
at 440798
Skipped scope entry (due to false predicate) at index 440799, continuing
at 440836
Skipped scope entry (due to false predicate) at index 440837, continuing
at 440870
     TypeSwitch[v2f64] from 440873 to 440892
   
   Patterns:
   /*440892*/    OPC_CompleteMatch, 1, 0, 
// Src: (bitconvert:{ *:[v2f64] } VReg_128:{ *:[v4f32] }:$src0) -
Complexity = 3
                  // Dst: VReg_128:{ *:[v2f64] }:$src0
    ```
2. Global isel will use `Select_COPY` to select bitcast


  Commit: bdd087023f02fb377302595bf7f61e9cae8adb71
      https://github.com/llvm/llvm-project/commit/bdd087023f02fb377302595bf7f61e9cae8adb71
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/arrays.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix various issues with multidimensional arrays (#134628)

This issue is very convoluted, but in essence, in the new version:

For a Pointer P that points to the root of a multidimensional, primitive
array:

`P.narrow()` does nothing.
`P.atIndex(0)` points `P[0]`
`P.atIndex(0).atIndex(0)` is the same as `P.atIndex(0)` (as before)
`P.atIndex(0).narrow().atIndex(0)` points to `P[0][0]`
`P.atIndex(0).narrow().narrow()` is the same as `P.atIndex(0).narrow()`.


  Commit: fb9915a3918e3a9659a7f2825ee35bada3a2baf1
      https://github.com/llvm/llvm-project/commit/fb9915a3918e3a9659a7f2825ee35bada3a2baf1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/cxx17.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix emitDestruction() for dummy descriptors (#134665)

This might happen if the referenced declaration is invalid and thus gets
a dummy descriptor. We ran into an assertion later on.


  Commit: 65cede26a6b06ba02c08284fada06c46c0289704
      https://github.com/llvm/llvm-project/commit/65cede26a6b06ba02c08284fada06c46c0289704
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/cxx23.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix emitting dtors of zero-sized arrays (#134672)

Desc->getNumElems() returning 0 made us underflow here.


  Commit: 642481a4286c9006958274531ee173b347866c50
      https://github.com/llvm/llvm-project/commit/642481a4286c9006958274531ee173b347866c50
  Author: Aniket Lal <lalaniket8 at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypes.h
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
    M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
    M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
    M clang/test/CodeGenOpenCL/kernel-arg-info.cl
    A clang/test/CodeGenOpenCL/opencl-kernel-call.cl
    M clang/test/CodeGenOpenCL/reflect.cl
    M clang/test/CodeGenOpenCL/sampler.cl
    M clang/test/CodeGenOpenCL/spir-calling-conv.cl
    M clang/test/CodeGenOpenCL/visibility.cl
    M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
    M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl

  Log Message:
  -----------
  [Clang][OpenCL][AMDGPU] Allow a kernel to call another kernel (#115821)

This feature is currently not supported in the compiler.
To facilitate this we emit a stub version of each kernel
function body with different name mangling scheme, and
replaces the respective kernel call-sites appropriately.
    
Fixes https://github.com/llvm/llvm-project/issues/60313
    
D120566 was an earlier attempt made to upstream a solution
for this issue.

---------

Co-authored-by: anikelal <anikelal at amd.com>


  Commit: 0d19efa9d5d872962a0a83c865b4636d58f46519
      https://github.com/llvm/llvm-project/commit/0d19efa9d5d872962a0a83c865b4636d58f46519
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/test/CodeGen/AArch64/constant-pool-partition.ll
    M llvm/test/CodeGen/X86/constant-pool-partition.ll
    M llvm/test/CodeGen/X86/global-variable-partition.ll
    M llvm/test/CodeGen/X86/jump-table-partition.ll

  Log Message:
  -----------
  [NFC]In codegen pipeline, turn static-data-splitter pass on/off with its own option (#134752)

Per discussion in
https://github.com/llvm/llvm-project/pull/129781#discussion_r2017489088,
we'd like to refactor out the requirement of MFS.


  Commit: 2c1bdd4a0811af89eb9631935fbd90f13a04eacb
      https://github.com/llvm/llvm-project/commit/2c1bdd4a0811af89eb9631935fbd90f13a04eacb
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/Writer.cpp
    M lld/docs/ReleaseNotes.rst
    A lld/test/ELF/aarch64-execute-only-mixed.s
    M lld/test/ELF/aarch64-execute-only.s
    A lld/test/ELF/arm-execute-only-mixed.s
    M lld/test/ELF/arm-execute-only.s

  Log Message:
  -----------
  [LLD][ELF] Allow merging XO and RX sections, and add `--[no-]xosegment` flag (#132412)

Following from the discussion in #132224, this seems like the best
approach to deal with a mix of XO and RX output sections in the same
binary. This change will also simplify the implementation of the
PURECODE section flag for AArch64.

To control this behaviour, the `--[no-]xosegment` flag is added to LLD
(similarly to `--[no-]rosegment`), which determines whether to allow
merging XO and RX sections in the same segment. The default value is
`--no-xosegment`, which is a breaking change compared to the previous
behaviour.

Release notes are also added, since this will be a breaking change.


  Commit: 03f21e2ba3be6cec4cfe2441142cca16a6d1d528
      https://github.com/llvm/llvm-project/commit/03f21e2ba3be6cec4cfe2441142cca16a6d1d528
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Update initializes definition (#134370)

Specify the initializes attribute in terms of an "initialized" shadow
state, such that:

* Loads prior to initialization return poison.
* Bytes that are not explicitly initialized are written with undef on
function return.

This is intended to preserve the core semantics of the attribute, but
adjusts the wording in a way that is compatible with existing
optimizations, such as insertion of spurious loads and removal of
uninitialized writes.

Fixes https://github.com/llvm/llvm-project/issues/133038.
Fixes https://github.com/llvm/llvm-project/issues/133059.


  Commit: 8a53cc8ce5e9ac602d4726c0a24e53499d3522fb
      https://github.com/llvm/llvm-project/commit/8a53cc8ce5e9ac602d4726c0a24e53499d3522fb
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll

  Log Message:
  -----------
  remove failed test (#134793)

function `bitcast_v64i16_to_v128i8` in newly added test file
`llvm-project/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll` from
PR:https://github.com/llvm/llvm-project/pull/133052 failed in expansive
check. (passes normal lit check)

remove it for now


  Commit: 308654608cb8bc5bbd5d4b3779cb7d92920dd6b7
      https://github.com/llvm/llvm-project/commit/308654608cb8bc5bbd5d4b3779cb7d92920dd6b7
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  [Clang][NFC] Move some static functions into CodeGenFunction (#134634)

Patches in the Key Instructions (KeyInstr) stack need to access CGF in these
functions. 2 CGF fields are passed to these functions already; at this point it
felt natural to promote them to CGF methods.


  Commit: 87a187cedf09be0d7d1fa6eae1a8b644ee15db12
      https://github.com/llvm/llvm-project/commit/87a187cedf09be0d7d1fa6eae1a8b644ee15db12
  Author: lorenzo chelini <l.chelini at icloud.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp

  Log Message:
  -----------
  [MLIR][NFC] Retire let constructor for Tosa (#134784)

`let constructor` is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.


  Commit: e7365d3143d762c290c426b172f588756b6f1ef8
      https://github.com/llvm/llvm-project/commit/e7365d3143d762c290c426b172f588756b6f1ef8
  Author: lorenzo chelini <l.chelini at icloud.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Reducer/Passes.h
    M mlir/include/mlir/Reducer/Passes.td
    M mlir/lib/Reducer/OptReductionPass.cpp
    M mlir/lib/Reducer/ReductionTreePass.cpp

  Log Message:
  -----------
  [MLIR][NFC] Retire let constructor for Reducer (#134786)

let constructor is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.


  Commit: 0df0906af67fe81c0cc3ed6230518f4314884389
      https://github.com/llvm/llvm-project/commit/0df0906af67fe81c0cc3ed6230518f4314884389
  Author: tianleliu <tianle.l.liu at intel.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    A llvm/test/Transforms/JumpThreading/thread-prob-8.ll

  Log Message:
  -----------
  [JumpThreading] Use [BB->SuccIndx] to get probability when updating BB info. (#134585)

In case the same src BB targets to the same dest BB in different
conditions/edges, such as switch-cases, we should use
prob[SrcBB->SuccIndx] instead of prob[SrcBB->DstBB] to get probability.


  Commit: ccdc44f643e5158391e618593950927dd1a02e5b
      https://github.com/llvm/llvm-project/commit/ccdc44f643e5158391e618593950927dd1a02e5b
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir

  Log Message:
  -----------
  [mlir][tosa] Remove perms input for tosa.transpose tests (#134740)

Perms is now an attribute, not input.

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: f4328d0d3aee682e77ce070e1835158193dd8dcd
      https://github.com/llvm/llvm-project/commit/f4328d0d3aee682e77ce070e1835158193dd8dcd
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir

  Log Message:
  -----------
  [mlir][tosa] Remove out_shape attribute from transpose_2d attributes (#134743)

out_shape is no longer an attribute

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: f0bdeb4b6aa1ee0653aed8323a5a7485fb930a05
      https://github.com/llvm/llvm-project/commit/f0bdeb4b6aa1ee0653aed8323a5a7485fb930a05
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/test/Dialect/Tosa/ops.mlir

  Log Message:
  -----------
  [mlir][tosa] Cleanup ops.mlir (#134751)

* add missing CHECK-LABEL
* removed whitespace for consistency

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: bb5006169f9f72a87b4358356976e0fa33353728
      https://github.com/llvm/llvm-project/commit/bb5006169f9f72a87b4358356976e0fa33353728
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [CodeGen] Change placeholder from `undef` to `poison` (#134731)

Fill default values of a map with `poison` instead of `undef`. There
should be no functional difference as the default values are overridden
later.


  Commit: e1fc118f3a2f3fb91a3045ce37a5259430594afc
      https://github.com/llvm/llvm-project/commit/e1fc118f3a2f3fb91a3045ce37a5259430594afc
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [CI] Reduce false positives in undef checker (#134687)

Only check for diffs containing "undef" in .ll files, this prevents
comments like `// We should not have undef values...` triggering the
undef checker bot.


  Commit: 93505f8e0e702f470fdc37ea9a9ca5f04d011c19
      https://github.com/llvm/llvm-project/commit/93505f8e0e702f470fdc37ea9a9ca5f04d011c19
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/debuginfo-invoke.ll

  Log Message:
  -----------
  [DebugInfo][InstCombine] Propagate DILocation when noop-ing invoke (#134678)

In InstCombine we may decide that an alloc is removable, and the alloc
fn is called by an InvokeInst, we replace that InvokeInst with a invoke
of a noop intrinsic; this patch has us also copy the original invoke's
DILocation to the new noop invoke.

Found using https://github.com/llvm/llvm-project/pull/107279.


  Commit: 9d82ab8a8222f22048074488d5036ae5228088c5
      https://github.com/llvm/llvm-project/commit/9d82ab8a8222f22048074488d5036ae5228088c5
  Author: David Green <david.green at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/test/Analysis/BasicAA/noalias-inttoptr.ll

  Log Message:
  -----------
  [BasicAA] Add some test cases for coerced function args


  Commit: c23e1cb9362067d3565a78590db8c5e68b74cf17
      https://github.com/llvm/llvm-project/commit/c23e1cb9362067d3565a78590db8c5e68b74cf17
  Author: David Green <david.green at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/BasicAA/noalias-inttoptr.ll

  Log Message:
  -----------
  [BasicAA] Treat ExtractValue(Argument) similar to Argument in relation to function-local objects. (#134716)

This is a much smaller, technically orthogonal patch similar to #134505. It
states that a extractvalue(Argument) can be treated like an Argument for alias
analysis, where the extractelement acts like a phi / copy. No inttoptr here.


  Commit: fe4f66636300e908e29f6caa69e0bda6d0d6422c
      https://github.com/llvm/llvm-project/commit/fe4f66636300e908e29f6caa69e0bda6d0d6422c
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M .ci/metrics/metrics.py

  Log Message:
  -----------
  [CI] Always upload queue/running count (#134814)

Before this commit, we only pushed a queue/running count when the value
was not zero. This makes building Grafana alerting a bit harder.
Changing this to always upload a value for watched workflows.


  Commit: 446d4f51eb1a172776e69ffb51b5972a0225c0a1
      https://github.com/llvm/llvm-project/commit/446d4f51eb1a172776e69ffb51b5972a0225c0a1
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/clause-cleanup.f90

  Log Message:
  -----------
  [flang][OpenMP][Lower] fix statement context cleanup insertion point (#133891)

The statement context is used for lowering clauses for openmp operations
using generalised helpers from flang lowering. The statement context
stores closures which generate code for cleaning up temporary values
generated by the lowering helper. These closures are run when the
statement construct is destroyed. Keeping the statement context local to
the clause or operation being lowered without any special handling was
not correct because any cleanup code would be generated at the insertion
point when that statement context went out of scope (which would in
general be inside of the newly created container operation). It would be
better to generate the cleanup code after the newly created operation
(clause processing is synchronous even for deferred tasks).

Currently supported clauses are mostly populated with simple scalar
values that require no cleanup. Even the simple array sections added by
#132994 needed no cleanup because indexing the right values of the array
did not create any temporaries. Supporting array sections with vector
indexing will generate hlfir.destroy operations for cleanup. This patch
fixes where those will be created. Those hlfir.destroy operations don't
generate any FIR (or LLVM) code, but the issue still exists
theoretically.

I wasn't able to find any clauses which have any cleanup to use to test
this PR. It is probably NFC for the current lowering. This will be
tested in [the PR adding vector subscripting of array
sections](https://github.com/llvm/llvm-project/pull/133892).


  Commit: 4c09ae0b2ed6a99e4e69ec9e0507c26cdcc301a9
      https://github.com/llvm/llvm-project/commit/4c09ae0b2ed6a99e4e69ec9e0507c26cdcc301a9
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  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
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/cancel.f90
    A flang/test/Lower/OpenMP/cancellationpoint.f90

  Log Message:
  -----------
  [flang][OpenMP] Lowering for CANCEL and CANCELLATIONPOINT (#134248)

These will still hit TODOs in OpenMPToLLVMIRConversion.cpp


  Commit: a5509d62a71995ad3346dac4ef226b5a670d995f
      https://github.com/llvm/llvm-project/commit/a5509d62a71995ad3346dac4ef226b5a670d995f
  Author: Jakub Ficek <jakub.ficek at intel.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/pragma-fenv_access.c

  Log Message:
  -----------
  [clang] fp options fix for __builtin_convertvector (#134102)

Add missing CGFPOptionsRAII for fptoi and itofp cases


  Commit: 6f93c0676f80919c5f96e8c25dad95c159a0b336
      https://github.com/llvm/llvm-project/commit/6f93c0676f80919c5f96e8c25dad95c159a0b336
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [AMDGPU] Make a few WaitcntBrackets methods const. NFC. (#134824)


  Commit: 6a42fb8fbfc075f28fa7d1d70bb51aef7f18e2f9
      https://github.com/llvm/llvm-project/commit/6a42fb8fbfc075f28fa7d1d70bb51aef7f18e2f9
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [LV] Clarify code in isPredicatedInst (NFC) (#134251)


  Commit: ff5b649a843a0c1be9dc59612411a1693c95d651
      https://github.com/llvm/llvm-project/commit/ff5b649a843a0c1be9dc59612411a1693c95d651
  Author: MisakaVan <102937903+MisakaVan at users.noreply.github.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libcxx/include/__tree

  Log Message:
  -----------
  [libc++] Fix a comment typo in __tree (#134831)

"Returns true **is** __root is a proper red black tree"
->
"Returns true **if** __root is a proper red black tree"


  Commit: 8521bd2424bf144ce1d176a3c93d414c4c138104
      https://github.com/llvm/llvm-project/commit/8521bd2424bf144ce1d176a3c93d414c4c138104
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h

  Log Message:
  -----------
  [BOLT][AArch64] Handle PAuth call instructions in isIndirectCall (#133227)

Handle `BLRA*` opcodes in AArch64MCPlusBuilder::isIndirectCall, update
getRegUsedAsCallDest accordingly.


  Commit: 83fbe6798605c7b1ebec1287f90a41949cb1d235
      https://github.com/llvm/llvm-project/commit/83fbe6798605c7b1ebec1287f90a41949cb1d235
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll

  Log Message:
  -----------
  [X86] combineX86ShufflesRecursively - iteratively peek through bitcasts to free subvector widening/narrowing sources. (#134701)

Generalizes the existing code to repeatedly peek though mixed bitcast/insert_subvector/extract_subvector chains to find the source of the shuffle operand.


  Commit: 1997073a547528f94b11a111a2eae3676a216127
      https://github.com/llvm/llvm-project/commit/1997073a547528f94b11a111a2eae3676a216127
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll

  Log Message:
  -----------
  [LLVM][InstCombine][SVE] Refactor sve.mul/fmul combines. (#134116)

After https://github.com/llvm/llvm-project/issues/126928 it's now
possible to rewrite the existing combines, which mostly only handle
cases where a operand is an identity value, to use existing simplify
code to unlock general constant folding.


  Commit: 7af2b51e761f49974a64c3009882239cea618f2a
      https://github.com/llvm/llvm-project/commit/7af2b51e761f49974a64c3009882239cea618f2a
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
    M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll

  Log Message:
  -----------
  [AArch64][v8.5A] Omit BTI for non-addr-taken static fns on Linux (#134669)

This is a conditional revert of cca40aa8d8aa732, which made LLVM's
branch-target-enforcement mode generate BTI at the start of _every_
function, even in the case where the function has internal linkage and
its address is never taken for use in an indirect call.

The rationale was that it might turn out at link time that a direct call
to the function spanned a larger distance than the range of a BL
instruction (say, if the translation unit generated multiple code
sections and the linker put them a very long way apart). Then the linker
might insert a long-branch thunk using an indirect call instruction.

SYSVABI64 has now clarified that in this situation the static linker may
not assume that the target function is safe to call directly. If it
needs to use this strategy, it's responsible for also generating a
'landing pad' near the target function, with a BTI followed by a direct
branch, and using that as the target of the long-distance indirect call.

https://github.com/ARM-software/abi-aa/commit/606ce44fe4d3419c15cd9ed598f18fb5d520fcfc

LLD complies with this spec as of commit 098b0d18add97de.

So if we're compiling in a mode that respects SYSVABI64, such as
targeting Linux, it's safe to leave out the BTI at the start of a
function with internal linkage if we can prove that its address isn't
either used in an indirect call in _this_ translation unit or passed out
of the object.

Therefore, this patch goes back to the behavior before cca40aa8d8aa732,
leaving out BTIs in functions that can't be called indirectly, but only
if the target triple is Linux. (I wasn't able to find a more precise
query for "is this a SYSVABI64-compliant platform?", but Linux certainly
is, and this check at least fails in the safe direction - if in doubt,
we put in all the BTIs that might be necessary.)


  Commit: 204d8c0d588b647e63d925705a7fe12c47242fc9
      https://github.com/llvm/llvm-project/commit/204d8c0d588b647e63d925705a7fe12c47242fc9
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c

  Log Message:
  -----------
  [clang][llvm] Fix AArch64 MOP4{A/S} intrinsic tests (NFC) (#134746)

Fix some of the recently-added tests (PRs #127797, #128854, #129226 and
#129230) which were incorrectly defined.


  Commit: 739062d2c3b6c21264c415575da47bf59f1dafe3
      https://github.com/llvm/llvm-project/commit/739062d2c3b6c21264c415575da47bf59f1dafe3
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    A llvm/test/CodeGen/SPIRV/pointers/getelementptr-downcast-struct.ll

  Log Message:
  -----------
  [SPIR-V] Add spv.gep support for ptrcast legal (#134388)

Adds support the the spv.gep intrinsic to the spv ptrcast legalization
step. Those intrinsics are generated by the backend thus not directly
visible in the tests.
This is a pre-requisite to implement addrspacecast legalization for
logical SPIR-V.


  Commit: 483edfeeb55420d509671406b889eadcce24114c
      https://github.com/llvm/llvm-project/commit/483edfeeb55420d509671406b889eadcce24114c
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Use __add_pointer and __remove_pointer builtins when they are fixed (#134147)


  Commit: e06a9ca2cb596c19c23c32a248e1b3b69d7e4c4f
      https://github.com/llvm/llvm-project/commit/e06a9ca2cb596c19c23c32a248e1b3b69d7e4c4f
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Improve lowering of fixed length masked mem ops. (#134402)

Converting fixed length masks, as used by MLOAD, to scalable vectors is
done by comparing the mask to zero. When the mask is the result of a
compare we can instead promote the operands and regenerate the original
compare. At worst this reduces the dependecy chain and in most cases
removes the need for multiple compares.


  Commit: e8dc8add3c04517e673d9dff342a60001c85dc1a
      https://github.com/llvm/llvm-project/commit/e8dc8add3c04517e673d9dff342a60001c85dc1a
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Fix using precompiled headers with ccache (#131397)

Using precompiled headers with ccache requires special accommodations.
Add the required ccache options, clang and gcc compiler flags to CMake.
Refactor ccache configuration to pass options directly on the command line for versions of ccache that support it.

---------

Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>


  Commit: c2c1031e90adfd8f64c5cd1b5e3b8af663715caf
      https://github.com/llvm/llvm-project/commit/c2c1031e90adfd8f64c5cd1b5e3b8af663715caf
  Author: Omair Javaid <omair.javaid at linaro.org>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/test/Semantics/test_errors.py

  Log Message:
  -----------
  [Flang][Windows] Fix test_errors.py by enforcing UTF-8 encoding (#134625)

This patch fixes UnicodeDecodeError on Windows in test_errors.py. This
issue was observed on the flang-arm64-windows-msvc buildbot.
Semantics/OpenMP/interop-construct.f90 was crashing due to Python
defaulting to the cp1252 codec on Windows.

I have fixed this by explicitly setting encoding="utf-8" when reading
source files and invoking subprocess.run() in test_errors.py

flang-arm64-windows-msvc was running on stagging master which resulted
in this issue not being fixed earlier.
https://lab.llvm.org/staging/#/builders/206


  Commit: 69c4e172d9838254f4e8ce4c78de9ecfbbabcae2
      https://github.com/llvm/llvm-project/commit/69c4e172d9838254f4e8ce4c78de9ecfbbabcae2
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/test/Semantics/OpenMP/default-none.f90
    A flang/test/Semantics/OpenMP/threadprivate09.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add semantic tests for threadprivate variables with host assoc (#134680)


  Commit: a51e2827845fa3dfc1ef34f325792b35227311b4
      https://github.com/llvm/llvm-project/commit/a51e2827845fa3dfc1ef34f325792b35227311b4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [LV] Check if plan has an early exit via plan's exit blocks. (NFC) (#134720)

Add a dedicated function to check if a plan is for a loop with an early
exit. This can easily be determined by checking the exit blocks.

This allows removing a use of Legal->hasUncountableEarlyExit() from
InnerLoopVectorizer.

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


  Commit: 25e08c0b9cafaab09af35ce6a03317ffd503df08
      https://github.com/llvm/llvm-project/commit/25e08c0b9cafaab09af35ce6a03317ffd503df08
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Revert "[CMake] Fix using precompiled headers with ccache" (#134848)

Reverts llvm/llvm-project#131397

Reverting for now on account of build bot failures on certain platforms.


  Commit: db7fb704f6d5337399172331b4ee46e846171061
      https://github.com/llvm/llvm-project/commit/db7fb704f6d5337399172331b4ee46e846171061
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py

  Log Message:
  -----------
  [lldb][test] Explain why TestExprFromNonZeroFrame is disabled on Windows

It's not scientific but I think the PDB we produce on the Windows on Arm
bot simply doesn't have the information needed. Could also be that clang
is producing some DWARF, but link.exe is dropping it from the final executable,
the effect is the same.


  Commit: 79cb6f05da37520949c006e26c5cef1826090d9d
      https://github.com/llvm/llvm-project/commit/79cb6f05da37520949c006e26c5cef1826090d9d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/tools/CMakeLists.txt
    R clang/tools/amdgpu-arch/AMDGPUArch.cpp
    R clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    R clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
    R clang/tools/amdgpu-arch/CMakeLists.txt
    R clang/tools/nvptx-arch/CMakeLists.txt
    R clang/tools/nvptx-arch/NVPTXArch.cpp
    A clang/tools/offload-arch/AMDGPUArchByHIP.cpp
    A clang/tools/offload-arch/AMDGPUArchByKFD.cpp
    A clang/tools/offload-arch/CMakeLists.txt
    A clang/tools/offload-arch/NVPTXArch.cpp
    A clang/tools/offload-arch/OffloadArch.cpp

  Log Message:
  -----------
  [Clang] Unify 'nvptx-arch' and 'amdgpu-arch' into 'offload-arch' (#134713)

Summary:
These two tools do the same thing, we should unify them into a single
tool. We create symlinks for backward compatiblity and provide a way to
get the old vendor specific behavior with `--amdgpu-only` and
`--nvptx-only`.


  Commit: fcaefc2c19ebe037df7115f02abf23f94c07e8cc
      https://github.com/llvm/llvm-project/commit/fcaefc2c19ebe037df7115f02abf23f94c07e8cc
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
    M llvm/test/CodeGen/AMDGPU/insert-handle-flat-vmem-ds.mir
    M llvm/test/CodeGen/AMDGPU/remove-short-exec-branches-special-instructions.mir
    M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir

  Log Message:
  -----------
  [AMDGPU][NPM] Port SIPreEmitPeephole to NPM (#130065)


  Commit: 728320f9468ae8f6318f8f36ce675705d5805149
      https://github.com/llvm/llvm-project/commit/728320f9468ae8f6318f8f36ce675705d5805149
  Author: TatWai Chong <tatwai.chong at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
    M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
    M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir

  Log Message:
  -----------
  [mlir][tosa] Increase test coverage for profile-based validation (#134754)

Add more tests to increase test coverage.


  Commit: 7e1b76c2d7e272541ed40df6ce7a15e5cb51d407
      https://github.com/llvm/llvm-project/commit/7e1b76c2d7e272541ed40df6ce7a15e5cb51d407
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/lib/Frontend/CMakeLists.txt

  Log Message:
  -----------
  Revert "[flang] Use precompiled parsing headers" (#134851)

Reverts llvm/llvm-project#130600

Reverting on account of Windows issues with ccache, will bring it back
along with #131137 once those are resolved.


  Commit: 008c875be85732f72c4df4671167f5be79f449eb
      https://github.com/llvm/llvm-project/commit/008c875be85732f72c4df4671167f5be79f449eb
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [AMDGPU] Fix excessive stack usage in SIInsertWaitcnts::run (#134835)

Noticed on Windows when running LLVM as part of a graphics driver, with
total stack usage limited to about 128 KB. In some cases this function
would overflow the stack.

On Linux this reduces stack usage in this function from about 32 KB to
about 0.5 KB.


  Commit: 94b9d75c6d77438008dcfc32812afaaff6e4ec3b
      https://github.com/llvm/llvm-project/commit/94b9d75c6d77438008dcfc32812afaaff6e4ec3b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/BUILD.gn

  Log Message:
  -----------
  [gn] port 65813e0e94c04


  Commit: dae0ef53a0b99c6c2b74143baee5896e8bc5c8e7
      https://github.com/llvm/llvm-project/commit/dae0ef53a0b99c6c2b74143baee5896e8bc5c8e7
  Author: Alan Li <me at alanli.org>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    A mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir

  Log Message:
  -----------
  [MLIR][AMDGPU] Add a wrapper for global LDS load intrinsics in AMDGPU (#133498)

Defining a new `amdgpu.global_load` op, which is a thin wrap around
ROCDL `global_load_lds` intrinsic, along with its lowering logics to
`rocdl.global.load.lds`.


  Commit: fdf20941a8f95b26578fbeb579019f74efe45545
      https://github.com/llvm/llvm-project/commit/fdf20941a8f95b26578fbeb579019f74efe45545
  Author: wldfngrs <wldfngrs at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/atan2.cpp
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/cosf16.cpp
    M libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/cospif16.cpp
    M libc/src/math/generic/erff.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/pow.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/sinf16.cpp
    M libc/src/math/generic/sinpif.cpp
    M libc/src/math/generic/sinpif16.cpp
    M libc/src/math/generic/tan.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/math/generic/tanf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    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/atan2_test.cpp
    M libc/test/src/math/smoke/atan2f_test.cpp
    M libc/test/src/math/smoke/atan_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/cbrt_test.cpp
    M libc/test/src/math/smoke/cbrtf_test.cpp
    M libc/test/src/math/smoke/cos_test.cpp
    M libc/test/src/math/smoke/cosf16_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/cospif16_test.cpp
    M libc/test/src/math/smoke/cospif_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/exp10m1f_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/exp2m1f_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/pow_test.cpp
    M libc/test/src/math/smoke/powf_test.cpp
    M libc/test/src/math/smoke/sin_test.cpp
    M libc/test/src/math/smoke/sincos_test.cpp
    M libc/test/src/math/smoke/sincosf_test.cpp
    M libc/test/src/math/smoke/sinf16_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/sinpif16_test.cpp
    M libc/test/src/math/smoke/sinpif_test.cpp
    M libc/test/src/math/smoke/tan_test.cpp
    M libc/test/src/math/smoke/tanf16_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/smoke/tanpif16_test.cpp

  Log Message:
  -----------
  [libc][math] Fix signaling NaN handling for math functions. (#133347)

Add tests for signaling NaNs, and fix function behavior for handling
signaling NaN input.

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


  Commit: 35b3886382f0172aa76bfbfc8e731e46c9c11cc3
      https://github.com/llvm/llvm-project/commit/35b3886382f0172aa76bfbfc8e731e46c9c11cc3
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-windows-tailcall.ll

  Log Message:
  -----------
  [win/arm64] Enable tail call with inreg arguments when possible (#134671)

Tail calls were disabled from callers with inreg parameters in 5dc8aeb
with a fixme to check if the callee also takes an inreg parameter.

The issue is that inreg parameters (which are passed in x0 or x1 for
free and member functions respectively) are supposed to be returned (in
x0) at the end of the function. In case of a tail call, that means the
callee needs to return the same value as the caller would.

We can check for that case, and it's not as niche as it sounds, as
that's how Clang will lower one function with an sret return value
calling another, such as:

```
struct T { int x; };
struct S {
    T foo();
    T bar();
};
T S::foo() { return bar(); } // foo's sret argument will get passed directly to bar
```

Fixes #133098


  Commit: 3a6b9b3a87387289cb913d40b09f77c842bfd694
      https://github.com/llvm/llvm-project/commit/3a6b9b3a87387289cb913d40b09f77c842bfd694
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][bazel] Fix after dae0ef53a0b99c6c2b74143baee5896e8bc5c8e7

Remove unnecessary include.


  Commit: 0e9881745834863a6f5a3a05588886bb3eb75cdf
      https://github.com/llvm/llvm-project/commit/0e9881745834863a6f5a3a05588886bb3eb75cdf
  Author: Romaric Jodin <rjodin at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libclc/clc/lib/generic/math/clc_frexp.inc

  Log Message:
  -----------
  libclc: frexp: fix implementation regarding denormals (#134823)

Devices not supporting denormals can compare them true against zero. It
leads to result not matching the CTS expectation when either supporting
or not denormals.

For example for 0x1.008p-140 we get {0x1.008p-140, 0} while the CTS
expects {0x1.008p-1, -139} when supporting denormals, or {0, 0} when not
supporting denormals (flushed to zero).

Ref #129871


  Commit: f19c6f23abefac56fde9f2b393c9ffa7595c86c6
      https://github.com/llvm/llvm-project/commit/f19c6f23abefac56fde9f2b393c9ffa7595c86c6
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/ROCm.h
    M clang/test/Driver/hip-device-libs.hip

  Log Message:
  -----------
  [Clang][AMDGPU] Improve error message when device libraries for COV6 are missing (#134745)

#130963 switches the default to COV6, which requires ROCm 6.3.
Currently, if the
device libraries for COV6 are not found, the error message is not very
helpful.
This PR provides a more informative error message in such cases.


  Commit: b2dea4fd22b79fa27ef1ebd737401616095a7de6
      https://github.com/llvm/llvm-project/commit/b2dea4fd22b79fa27ef1ebd737401616095a7de6
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
    M compiler-rt/lib/ctx_profile/RootAutoDetector.h
    A compiler-rt/test/ctx_profile/TestCases/autodetect-roots.cpp
    M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll

  Log Message:
  -----------
  [ctxprof] root autodetection mechanism (#133147)

This is an optional mechanism that automatically detects roots. It's a best-effort mechanism, and its main goal is to *avoid* pointing at the message pump function as a root. This is the function that polls message queue(s) in an infinite loop, and is thus a bad root (it never exits).

High-level, when collection is requested - which should happen when a server has already been set up and handing requests - we spend a bit of time sampling all the server's threads. Each sample is a stack which we insert in a `PerThreadCallsiteTrie`. After a while, we run for each `PerThreadCallsiteTrie` the root detection logic. We then traverse all the `FunctionData`, find the ones matching the detected roots, and allocate a `ContextRoot` for them. From here, we special case `FunctionData` objects, in `__llvm_ctx_profile_get_context, that have a `CtxRoot` and route them to `__llvm_ctx_profile_start_context`.

For this to work, on the llvm side, we need to have all functions call `__llvm_ctx_profile_release_context` because they _might_ be roots. This comes at a slight (percentages) penalty during collection - which we can afford since the overall technique is ~5x faster than normal instrumentation. We can later explore conditionally enabling autoroot detection and avoiding this penalty, if desired. 

Note that functions that `musttail call` can't have their return instrumented this way, and a subsequent patch will harden the mechanism against this case.

The mechanism could be used in combination with explicit root specification, too.


  Commit: 8b11c39a0fad7f6ec48c323a0deeb3c103005200
      https://github.com/llvm/llvm-project/commit/8b11c39a0fad7f6ec48c323a0deeb3c103005200
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/docs/CMake.rst
    M llvm/test/CMakeLists.txt
    M llvm/test/tools/llvm-mt/help.test
    M llvm/tools/llvm-mt/CMakeLists.txt

  Log Message:
  -----------
  [llvm-mt] Do not build llvm-mt if not functional (#134631)

llvm-mt requires libxml2 to work, so do not even build it without
libxml2.

CMake 3.31 and later prefer llvm-mt.exe over Microsoft's mt.exe if
available and using clang-cl.exe as CMAKE_CXX_COMPILER. When CMake picks
up llvm-mt.exe without libxml2, any build will fail with the message
```
llvm-mt: error: no libxml2
```

Any test except `--help` already uses `REQUIRES: libxml2`. There is no
point in having a non-functional executable. Not building llvm-mt.exe
will force CMake to use Microsoft's `mt.exe` instead.

Fixes: #134237


  Commit: c1e95b2e5e61616eca20f6bc1bbd71470180e349
      https://github.com/llvm/llvm-project/commit/c1e95b2e5e61616eca20f6bc1bbd71470180e349
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll

  Log Message:
  -----------
  [RISCV] Fix matching bug in VLA shuffle lowering (#134750)

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

The matching code was previous written as if we were mutating the
indices to replace undef elements with preferred values, but the actual
lowering code just took a prefix of the index vector. This resulted in
us using undef indices for lanes which should have been defined,
resulting in incorrect codegen.

Longer term, we probably should rewrite the mask, but this seemed like
an easier tactical fix.


  Commit: 97c4cb4d13b2049cdfe884f4816aeaf6770d0c32
      https://github.com/llvm/llvm-project/commit/97c4cb4d13b2049cdfe884f4816aeaf6770d0c32
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [SLP][REVEC] getNumElements should not be used as VF when REVEC is enabled. (#134763)


  Commit: 2347aa1fccdb1347450fc2a5af310f320f30c734
      https://github.com/llvm/llvm-project/commit/2347aa1fccdb1347450fc2a5af310f320f30c734
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/revec-getAltInstrMask.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix the mismatch between the result of getAltInstrMask and the VecTy argument of TargetTransformInfo::isLegalAltInstr. (#134795)

We cannot determine ScalarTy from VL because some ScalarTy is determined
from VL[0]->getType(), while others are determined from
getValueType(VL[0]).

Fix "Mask and VecTy are incompatible".


  Commit: 4f77e50042f8299b25442a263875cfb4564a506d
      https://github.com/llvm/llvm-project/commit/4f77e50042f8299b25442a263875cfb4564a506d
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/AMDGPU/IR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][AMDGPU] Fix shared build. NFC


  Commit: b5045ae9bc84508473e1dac6db8ca5976ea4e069
      https://github.com/llvm/llvm-project/commit/b5045ae9bc84508473e1dac6db8ca5976ea4e069
  Author: Alan Li <me at alanli.org>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:

  Log Message:
  -----------
  [MLIR][Fix] Fix missing dep in AMDGPUDialect. (#134862)

Issue introduced in https://github.com/llvm/llvm-project/pull/133498


  Commit: ae3faea1f28f840bddd819d1c45e7f7d3e75703c
      https://github.com/llvm/llvm-project/commit/ae3faea1f28f840bddd819d1c45e7f7d3e75703c
  Author: Christopher McGirr <7071833+chrsmcgrr at users.noreply.github.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
    M mlir/lib/Debug/CLOptionsSetup.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    A mlir/test/mlir-opt/debuggerhook.mlir

  Log Message:
  -----------
  [MLIR][mlir-opt] move action debugger hook flag (#134842)

Currently if a developer uses the flag `--mlir-enable-debugger-hook` the
debugger hook is not actually enabled. It seems the DebugConfig and the
MainMLIROptConfig are not connected.

To fix this we can move the `enableDebuggerHook` CL Option to the
DebugConfigCLOptions struct so that it can get registered and enabled
along with the other debugger flags. AFAICS there are no other uses of
the flag so this should be safe.

This also adds a small LIT test to check that the hook is enabled by
checking the std::cerr output for the log message.


  Commit: dfe4d9187c60c9888de3410ed3c2a98136a9cd8f
      https://github.com/llvm/llvm-project/commit/dfe4d9187c60c9888de3410ed3c2a98136a9cd8f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/IR/GCStrategy.cpp
    A llvm/test/Transforms/RewriteStatepointsForGC/unsupported-gc-error.ll

  Log Message:
  -----------
  GCStrategy: Use Twine properly for error message (#132760)


  Commit: 561506144531cf0a760bb437fd74c683931c60ae
      https://github.com/llvm/llvm-project/commit/561506144531cf0a760bb437fd74c683931c60ae
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lldb/source/Core/Statusline.cpp
    A llvm/test/tools/dsymutil/Inputs/Binary.swiftmodule
    A llvm/test/tools/dsymutil/Inputs/FromInterface.swiftmodule
    A llvm/test/tools/dsymutil/swiftmodule.test
    M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
    M llvm/tools/dsymutil/CMakeLists.txt
    M llvm/tools/dsymutil/DebugMap.cpp
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/RelocationMap.h
    A llvm/tools/dsymutil/SwiftModule.cpp
    A llvm/tools/dsymutil/SwiftModule.h

  Log Message:
  -----------
  [dsymutil] Avoid copying binary swiftmodules built from textual (#134719)

.swiftinterface files into the dSYM bundle. These typically come only
from the SDK (since textual interfaces require library evolution) and
thus are a waste of space to copy into the bundle.

The information about this is being parsed out of the control block,
which means duplicating 5 constants from the Swift frontend. If a file
cannot be parsed, dsymutil errs on the side of copying the file anyway.

rdar://138186524


  Commit: 2cf4254466252f3c8685b03b3de34b06563051e8
      https://github.com/llvm/llvm-project/commit/2cf4254466252f3c8685b03b3de34b06563051e8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/Attributor/align-atomic.ll

  Log Message:
  -----------
  Attributor: Add baseline tests for propagating align to atomics (#134836)


  Commit: 66f03436092df4e87434269eedf9f7c9e6fdbcba
      https://github.com/llvm/llvm-project/commit/66f03436092df4e87434269eedf9f7c9e6fdbcba
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/align-atomic.ll

  Log Message:
  -----------
  Attributor: Propagate align to atomicrmw instructions (#134837)

Partially fixes #134480


  Commit: 34e8f00066ee82cba63808e381eaaae89c1b1c79
      https://github.com/llvm/llvm-project/commit/34e8f00066ee82cba63808e381eaaae89c1b1c79
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/align-atomic.ll

  Log Message:
  -----------
  Attributor: Propagate align to cmpxchg instructions (#134838)

Fixes #134480


  Commit: 6c74fe9087fd85059158719ad1ab67e0f5098300
      https://github.com/llvm/llvm-project/commit/6c74fe9087fd85059158719ad1ab67e0f5098300
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/DiagnosticAST.h
    M clang/include/clang/Basic/DiagnosticAnalysis.h
    M clang/include/clang/Basic/DiagnosticComment.h
    M clang/include/clang/Basic/DiagnosticCrossTU.h
    M clang/include/clang/Basic/DiagnosticDriver.h
    M clang/include/clang/Basic/DiagnosticFrontend.h
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticInstallAPI.h
    M clang/include/clang/Basic/DiagnosticLex.h
    M clang/include/clang/Basic/DiagnosticParse.h
    M clang/include/clang/Basic/DiagnosticRefactoring.h
    M clang/include/clang/Basic/DiagnosticSema.h
    M clang/include/clang/Basic/DiagnosticSerialization.h
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h

  Log Message:
  -----------
  [Clang] [NFC] Tablegen component diags headers (#134777)

The component diagnostic headers (i.e. `DiagnosticAST.h` and friends)
all follow the same format, and there’s enough of them (and in them) to
where updating all of them has become rather tedious (at least it was
for me while working on #132348), so this patch instead generates all of
them (or rather their contents) via Tablegen.

Also, it seems that `%enum_select` currently wouldn’t work in
`DiagnosticCommonKinds.td` because the infrastructure for that was
missing from `DiagnosticIDs.h`; this patch should fix that as well.


  Commit: 4e9cfcf6afa340b3ffae5996f6a511951f528ce1
      https://github.com/llvm/llvm-project/commit/4e9cfcf6afa340b3ffae5996f6a511951f528ce1
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [llvm][bazel] Fix BUILD after 561506144531cf0a760bb437fd74c683931c60ae.


  Commit: 76d2e0881e19359e262043a149474049f94ea348
      https://github.com/llvm/llvm-project/commit/76d2e0881e19359e262043a149474049f94ea348
  Author: tdanyluk <tdanyluk at nvidia.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/utils/generate-test-checks.py

  Log Message:
  -----------
  [mlir] fix references of attributes which are not defined earlier (#134364)

If an attribute is not defined earlier in the same file, but just
referenced from its dialect directly, then currently not the correct
check is being emited.

What would it emit for #toy.shape<[1, 2, 3]>:
Earlier:
// CHECK: #[['?']]<[1, 2, 3]>
Now:
// CHECK: #toy.shape<[1, 2, 3]>


  Commit: bd49d278c6aa9ac5cc8e5917003d4f710887548d
      https://github.com/llvm/llvm-project/commit/bd49d278c6aa9ac5cc8e5917003d4f710887548d
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] update test name and config for bugprone-unintended-char-ostream-output (#134868)


  Commit: b0cb672b9968eeee6eb022e98476957dbdf8e6e2
      https://github.com/llvm/llvm-project/commit/b0cb672b9968eeee6eb022e98476957dbdf8e6e2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/distance.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/CodeGenHLSL/builtins/reflect.hlsl
    M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
    M clang/test/Headers/__clang_hip_cmath.hip
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Transforms/Inline/access-attributes-prop.ll

  Log Message:
  -----------
  Inline: Propagate callsite nofpclass attribute
 (#134800)

Fixes #134070


  Commit: b416e7f5920ff2f80f60e52eeb363269d130adba
      https://github.com/llvm/llvm-project/commit/b416e7f5920ff2f80f60e52eeb363269d130adba
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [CI] adjust the undef warning regex so it doesn't catch %undef in .ll files


  Commit: 4a7b34d03c3cfd316ee64a63dfad519e0fee64fb
      https://github.com/llvm/llvm-project/commit/4a7b34d03c3cfd316ee64a63dfad519e0fee64fb
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Add buffer.fat.ptr.load.lds intrinsic wrapping raw rsrc version (#133015)" (#134871)

This reverts commit d1a05721172272f7aab685b56d99e86814a15bff.

There was further discussion on the PR about whether the intinsics
should exist in this form.


  Commit: 84fde791a1f285dec7ef0ec4803c5174f182df57
      https://github.com/llvm/llvm-project/commit/84fde791a1f285dec7ef0ec4803c5174f182df57
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    A llvm/test/Transforms/Reassociate/debugloc-reass-add.ll

  Log Message:
  -----------
  [Reassociate] Apply Debugloc to instrs produced when optimizing add (#134676)

Currently in Reassociate we may create a set of new instructions when
optimizing an `add`, but we do not set DebugLocs on the new
instructions; this patch propagates the add's DebugLoc to the new
instructions.

Found using #107279.


  Commit: bb7ff134dc9eb72707400f00fb874a6a9e47597d
      https://github.com/llvm/llvm-project/commit/bb7ff134dc9eb72707400f00fb874a6a9e47597d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [gn] port 6c74fe9087


  Commit: 26475f5bdd2f4a042b63fdf1ee62d6634872dee5
      https://github.com/llvm/llvm-project/commit/26475f5bdd2f4a042b63fdf1ee62d6634872dee5
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCParser/MCAsmParser.h
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
    M llvm/test/MC/AArch64/data-directive-specifier.s
    M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
    M llvm/test/MC/AArch64/label-arithmetic-diags-darwin.s

  Log Message:
  -----------
  [AArch64] Refactor @plt, @gotpcrel, and @AUTH to use parseDataExpr

Following PR #132569 (RISC-V), which added `parseDataExpr` for parsing
expressions in data directives (e.g., `.word`), this PR migrates AArch64
`@plt`, `@gotpcrel`, and `@AUTH` from the `parsePrimaryExpr` workaround
to `parseDataExpr`. The goal is to align with the GNU assembler model,
where relocation specifiers apply to the entire operand rather than
individual terms, reducing complexity-especially evident in `@AUTH`
parsing.

Note: AArch64 ELF lacks an official syntax for data directives
(#132570). A prefix notation might be a preferable future direction.
I recommend `%specifier(expr)`.

AsmParser's `@specifier` parsing is suboptimal, necessitating lexer
workarounds. `@` might appear multiple times in an operand.
We should not use `@` beyond the existing AArch64 Mach-O instruction
operands.

In the test elf-reloc-ptrauth.s, many errors are now reported at parse
time.

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


  Commit: 3f38cd07d820248fd2043efb1341fabaac2d84a6
      https://github.com/llvm/llvm-project/commit/3f38cd07d820248fd2043efb1341fabaac2d84a6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/distance.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/CodeGenHLSL/builtins/reflect.hlsl
    M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
    M clang/test/Headers/__clang_hip_cmath.hip
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Transforms/Inline/access-attributes-prop.ll

  Log Message:
  -----------
  Revert "Inline: Propagate callsite nofpclass attribute"

This reverts commit b0cb672b9968eeee6eb022e98476957dbdf8e6e2.

Breaks bot


  Commit: 16d10546d29355f796cbdb307f0f89d6679d14a0
      https://github.com/llvm/llvm-project/commit/16d10546d29355f796cbdb307f0f89d6679d14a0
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libcxx/.clang-format
    M libcxx/docs/DesignDocs/VisibilityMacros.rst
    M libcxx/include/__condition_variable/condition_variable.h
    M libcxx/include/__config
    M libcxx/include/__locale
    M libcxx/include/__thread/thread.h
    M libcxx/include/condition_variable
    M libcxx/include/future
    M libcxx/include/locale
    M libcxx/include/mutex
    M libcxx/include/shared_mutex
    M libcxx/include/string

  Log Message:
  -----------
  [libc++] Remove _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS (#111964)

This macro isn't required if we define all the functions inline. In
fact, quite a few of the marked functions have already been inlined.

This patch basically only moves code around and adds
`_LIBCPP_HIDE_FROM_ABI` to the places where it's been missing so far.

This also removes inlining hints, since it dropps `inline` in some
places, but that shouldn't make much of a difference. The functions tend
to be either really small, so should be inlined anyways, or are big
enough that they shouldn't be inlined even with an inlinehint.


  Commit: df0ccf6df09b5a067c80519b9adfa2c7dc46a350
      https://github.com/llvm/llvm-project/commit/df0ccf6df09b5a067c80519b9adfa2c7dc46a350
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Linux/asan_rt_confict_test-2.cpp

  Log Message:
  -----------
  [asan] Disable TestCases/Linux/asan_rt_confict_test-2.cpp to fix build

TestCases/Linux/asan_rt_confict_test-2.cpp started failing in https://lab.llvm.org/buildbot/#/builders/66/builds/12265/steps/9/logs/stdio
The only change is "[LLD][ELF] Allow merging XO and RX sections, and add --[no-]xosegment flag (#132412)" (https://github.com/llvm/llvm-project/commit/2c1bdd4a0811af89eb9631935fbd90f13a04eacb). Based on the test case (which deliberately tries to mix static and dynamically linked ASan), I suspect it's actually the test case that needs to be fixed (probably with a different error message check).

This patch disables TestCases/Linux/asan_rt_confict_test-2.cpp to make the buildbots green while I investigate.


  Commit: d6c8e8908d421979a428ede9f9a630dac8576c5b
      https://github.com/llvm/llvm-project/commit/d6c8e8908d421979a428ede9f9a630dac8576c5b
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Writer.cpp
    M llvm/include/llvm/Support/FileOutputBuffer.h
    M llvm/lib/Support/FileOutputBuffer.cpp
    M llvm/unittests/Support/FileOutputBufferTest.cpp

  Log Message:
  -----------
  Rename `F_no_mmap` to `F_mmap` (#134787)

The `F_no_mmap` flag was introduced by
https://github.com/llvm/llvm-project/commit/68142324290f2932df0e271747cdccc371d6dded


  Commit: 46d4c3b1f64dfbca2a029ff30434aaa5248fc190
      https://github.com/llvm/llvm-project/commit/46d4c3b1f64dfbca2a029ff30434aaa5248fc190
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [X86] combineX86ShuffleChain - always prefer VPERMQ/PD for unary subvector shuffles on AVX2+ targets (#134849)

When combining 2 x 128-bit subvectors, don't assume that if the node is
already a X86ISD::VPERM2X128 node then there's nothing to do.

Fix issue where if we'd somehow combined to X86ISD::VPERM2X128
(typically if the 2 operands had then simplified to a common operand),
we can't canonicalise back to X86ISD::VPERMI on AVX2+ targets.

This matches the v4f64/v4i64 shuffle lowering preference for VPERMQ/PD
over VPERM2F128/I128.


  Commit: e3d114ceb86782553e8f244975441e5934b35b82
      https://github.com/llvm/llvm-project/commit/e3d114ceb86782553e8f244975441e5934b35b82
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/Reassociate.h
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    A llvm/test/Transforms/Reassociate/debugloc-factoring-neg.ll

  Log Message:
  -----------
  [DebugInfo][Reassociate] Propagate source loc when negating mul factor (#134679)

As part of RemoveFactorFromExpression, we attempt to remove a factor
from a mul/fmul expression; this may involve generating new
instructions, e.g. to negate the result if the factor was negative in
the original expression. When this happens, the new instructions should
have a DebugLoc set from the instruction that the factored expression is
being used to compute.

Found using https://github.com/llvm/llvm-project/pull/107279.


  Commit: f869d6efeec825c384dd9410fd29f90078e40c30
      https://github.com/llvm/llvm-project/commit/f869d6efeec825c384dd9410fd29f90078e40c30
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [LLDB][Minidump]Update MinidumpFileBuilder to read and write in chunks (#129307)

I recently received an internal error report that LLDB was OOM'ing when
creating a Minidump. In my 64b refactor we made a decision to acquire
buffers the size of the largest memory region so we could read all of
the contents in one call. This made error handling very simple (and
simpler coding for me!) but had the trade off of large allocations if
huge pages were enabled.

This patch is one I've had on the back burner for awhile, but we can
read and write the Minidump memory sections in discrete chunks which we
already do for writing to disk.

I had to refactor the error handling a bit, but it remains the same. We
make a best effort attempt to read as much of the memory region as
possible, but fail immediately if we receive an error writing to disk. I
did not add new tests for this because our existing test suite is quite
good, but I did manually verify a few Minidumps couldn't read beyond the
red_zone.

```
(lldb) reg read $sp
     rsp = 0x00007fffffffc3b0
(lldb) p/x 0x00007fffffffc3b0 - 128
(long) 0x00007fffffffc330
(lldb) memory read 0x00007fffffffc330
0x7fffffffc330: 60 c3 ff ff ff 7f 00 00 60 cd ff ff ff 7f 00 00  `.......`.......
0x7fffffffc340: 60 c3 ff ff ff 7f 00 00 65 e6 26 00 00 00 00 00  `.......e.&.....
(lldb) memory read 0x00007fffffffc329
error: could not parse memory info (Success!)
```

I'm not sure how to quantify the memory improvement other than we would
allocate the largest size regardless of the size. So a 2gb unreadable
region would cause a 2gb allocation even if we were reading 4096 kb. Now
we will take the range size or the max chunk size of 128 mb.


  Commit: 2721d50d8785603987358afb4d82b986879ca41e
      https://github.com/llvm/llvm-project/commit/2721d50d8785603987358afb4d82b986879ca41e
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lldb/source/Core/Statusline.cpp
    R llvm/test/tools/dsymutil/Inputs/Binary.swiftmodule
    R llvm/test/tools/dsymutil/Inputs/FromInterface.swiftmodule
    R llvm/test/tools/dsymutil/swiftmodule.test
    M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
    M llvm/tools/dsymutil/CMakeLists.txt
    M llvm/tools/dsymutil/DebugMap.cpp
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/RelocationMap.h
    R llvm/tools/dsymutil/SwiftModule.cpp
    R llvm/tools/dsymutil/SwiftModule.h

  Log Message:
  -----------
  Revert "[dsymutil] Avoid copying binary swiftmodules built from textual"

This reverts commit 39ace8a63012af7d6ad7bf065c233fd3d5df44a3.

while investigating Linux bot failures.


  Commit: 271399831b780d25dce85715727c841843e10d4b
      https://github.com/llvm/llvm-project/commit/271399831b780d25dce85715727c841843e10d4b
  Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M compiler-rt/lib/msan/msan.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/i386/vararg.ll

  Log Message:
  -----------
  [MSan] Change overflow_size_tls type to IntPtrTy (#117689)

As discussed in
https://github.com/llvm/llvm-project/pull/109284#discussion_r1838819987:
Changed `__msan_va_arg_overflow_size_tls` type from `Int64Ty` to
`IntPtrTy`.


  Commit: 441f87968df5dfb74d710fa32147789be98c20a6
      https://github.com/llvm/llvm-project/commit/441f87968df5dfb74d710fa32147789be98c20a6
  Author: Morris Hafner <mmha at users.noreply.github.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/test/CIR/CodeGen/cast.cpp
    A clang/test/CIR/CodeGen/cmp.cpp
    A clang/test/CIR/IR/cmp.cir

  Log Message:
  -----------
  [CIR] Upstream CmpOp (#133159)

This patch adds support for comparison operators with ClangIR, both
integral and floating point.

---------

Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Henrich Lauko <xlauko at mail.muni.cz>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>


  Commit: 02a708b93b9ebe5e4fbc2b266da94677e6f793d3
      https://github.com/llvm/llvm-project/commit/02a708b93b9ebe5e4fbc2b266da94677e6f793d3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Extract TryToFindDuplicates lambda into a separate function, NFC



Reviewers: RKSimon, hiraditya

Reviewed By: hiraditya, RKSimon

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


  Commit: edcbd4a21179ca5e0fa9095d28a38fe10de66322
      https://github.com/llvm/llvm-project/commit/edcbd4a21179ca5e0fa9095d28a38fe10de66322
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Extract a check for strided loads into separate function, NFC



Reviewers: hiraditya, RKSimon

Reviewed By: RKSimon

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


  Commit: 231aa3070dcd91e10e9972d20f7557c0068c41e3
      https://github.com/llvm/llvm-project/commit/231aa3070dcd91e10e9972d20f7557c0068c41e3
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/DeclOpenACC.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/AST/DeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    A clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    A clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented-global.cpp
    A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
    A clang/test/Driver/openacc-no-cir.c

  Log Message:
  -----------
  [OpenACC][CIR] Basic infrastructure for OpenACC lowering (#134717)

This is the first of a few patches that will do infrastructure work to
enable the OpenACC lowering via the OpenACC dialect.

At the moment this just gets the various function calls that will end up
generating OpenACC, plus some tests to validate that we're doing the
diagnostics in OpenACC specific locations.

Additionally, this adds Stmt and Decl files for CIRGen.


  Commit: 6d2b767678caac108eeac752b0b90c98a44107ee
      https://github.com/llvm/llvm-project/commit/6d2b767678caac108eeac752b0b90c98a44107ee
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libcxx/include/queue
    M libcxx/include/stack

  Log Message:
  -----------
  [NFC][libc++] Removes Clang 16 work-arounds. (#91636)

This was noticed while reviewing the implementation status of
  P1614R2 The Mothership has Landed

Drive-by: Add some missing _LIBCPP_HIDE_FROM_ABIs.


  Commit: 7117dea043d39912dc41aaeba9c3186486b9b867
      https://github.com/llvm/llvm-project/commit/7117dea043d39912dc41aaeba9c3186486b9b867
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    R llvm/test/CodeGen/ARM/plt-relative-reloc.ll
    A llvm/test/CodeGen/ARM/relative-reloc.ll
    M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
    R llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
    A llvm/test/CodeGen/RISCV/relative-reloc.ll
    M llvm/test/CodeGen/X86/dso_local_equivalent.ll
    A llvm/test/CodeGen/X86/relative-reloc-32.ll
    A llvm/test/CodeGen/X86/relative-reloc-64.ll
    M llvm/test/CodeGen/X86/relptr-rodata.ll
    R llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
    R llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll

  Log Message:
  -----------
  AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function; use lowerDSOLocalEquivalent in more cases

https://reviews.llvm.org/D17938 introduced lowerRelativeReference to
give ConstantExpr sub (A-B) special semantics in ELF: when `A` is an
`unnamed_addr` function, create a PLT-generating relocation. This was
intended for C++ relative vtables, but C++ relative vtable ended up
using DSOLocalEquivalent (lowerDSOLocalEquivalent).

This special treatment of `unnamed_addr` seems unusual.
Let's remove it. Only COFF needs an overload to generate a @IMGREL32
relocation specifier (llvm/test/MC/COFF/cross-section-relative.ll).

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


  Commit: 5ebe22a35d27d69a9ba878010072588ace489035
      https://github.com/llvm/llvm-project/commit/5ebe22a35d27d69a9ba878010072588ace489035
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/allocator-registry.h
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/lib/cuda/descriptor.cpp
    M flang-rt/lib/runtime/descriptor.cpp
    M flang-rt/lib/runtime/pointer.cpp
    M flang/include/flang/Runtime/CUDA/allocator.h

  Log Message:
  -----------
  [flang][cuda] Add async id to allocators (#134724)

Add async id to allocators in preparation for stream allocation.


  Commit: b7b3758e88f15a7ec27f212cd46e3dcf4e2f39f5
      https://github.com/llvm/llvm-project/commit/b7b3758e88f15a7ec27f212cd46e3dcf4e2f39f5
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/include/mlir/Dialect/Ptr/IR/PtrDialect.td
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/mem2reg.mlir
    M mlir/test/Dialect/LLVMIR/opaque-ptr.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Dialect/LLVMIR/types.mlir
    M mlir/test/IR/invalid-builtin-types.mlir
    M mlir/test/IR/test-verifiers-type.mlir
    M mlir/test/Target/LLVMIR/Import/constant.ll
    M mlir/test/Target/LLVMIR/Import/incorrect-scalable-vector-check.ll
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir-types.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/Target/LLVMIR/opaque-ptr.mlir
    M mlir/test/python/ir/builtin_types.py

  Log Message:
  -----------
  [mlir][IR] Add `VectorTypeElementInterface` with `!llvm.ptr` (#133455)

This commit extends the MLIR vector type to support pointer-like types
such as `!llvm.ptr` and `!ptr.ptr`, as indicated by the newly added
`VectorTypeElementInterface`. This makes the LLVM dialect closer to LLVM
IR. LLVM IR already supports pointers as vector element type.

Only integers, floats, pointers and index are valid vector element types
for now. Additional vector element types may be added in the future
after further discussions. The interface is still evolving and may
eventually turn into one of the alternatives that were discussed on the
RFC.

This commit also disallows `!llvm.ptr` as an element type of
`!llvm.vec`. This type exists due to limitations of the MLIR vector
type.

RFC:
https://discourse.llvm.org/t/rfc-allow-pointers-as-element-type-of-vector/85360


  Commit: 9bfb4b8fb194c1df5b082888abc03d095e39b6e9
      https://github.com/llvm/llvm-project/commit/9bfb4b8fb194c1df5b082888abc03d095e39b6e9
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir

  Log Message:
  -----------
  [MachineScheduler] Add more debug prints w.r.t hazards and pending SUnits (#134328)

While we already have some detailed debug messages on the candidate
selection process -- which selects a SUnit from the Available queue, we
didn't say much about why a SUnit was _not_ moved from Pending queue to
Available queue in the first place, which is just as important as why we
scheduled a node IMHO. Therefore, I added some debug prints for this
very purpose.

I decide to print these extra messages by default (instead of being
guarded by command line like `-misched-detail-resource-booking`) because
we have been printing some of the hazard remarks, so I thought we might
as well print these new messages -- which are mostly about hazard -- by
default.


  Commit: 4928093a21cea9bd76d1e47455e990874ad352df
      https://github.com/llvm/llvm-project/commit/4928093a21cea9bd76d1e47455e990874ad352df
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/test/CIR/CodeGen/basic.cpp
    A clang/test/CIR/CodeGen/nullptr-init.cpp

  Log Message:
  -----------
  [CIR] Upstream support for address of and dereference (#134317)

This adds support for handling the address of and dereference unary
operations in ClangIR code generation. This also adds handling for
nullptr and proper initialization via the NullToPointer cast.


  Commit: 658f848fed06f7629b52523a26b54faf72251158
      https://github.com/llvm/llvm-project/commit/658f848fed06f7629b52523a26b54faf72251158
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
    M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py

  Log Message:
  -----------
  [NFC][libc++][test] Refactor new ftm generator tests. (#134490)

This uses the python unit test framework instead of just asserts. This
improves the diagnostics when a test fails.


  Commit: 4ab86edb560a2e1152e22700b0cb386759286c37
      https://github.com/llvm/llvm-project/commit/4ab86edb560a2e1152e22700b0cb386759286c37
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libcxx/include/istream

  Log Message:
  -----------
  [libc++] Fix misplaced _LIBCPP_POP_MACROS (#134874)

Fixes #134681


  Commit: 6010d5ba2b8e4b6e88460559ad5624a63a4a1505
      https://github.com/llvm/llvm-project/commit/6010d5ba2b8e4b6e88460559ad5624a63a4a1505
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  gn build: Port 2f1416bbcde8 more


  Commit: 19ee7ffdacd54267aa18793b31d23c9c4fb94ee6
      https://github.com/llvm/llvm-project/commit/19ee7ffdacd54267aa18793b31d23c9c4fb94ee6
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    A llvm/test/Transforms/AggressiveInstCombine/dbgloc-memchr.ll

  Log Message:
  -----------
  [AggrInstCombine][DebugInfo] Propagate DILocation for inlined memchr (#134808)

When AggressiveInstCombine replaces a memchr with a switch instruction,
it currently drops the DILocation for that memchr. This patch changes
this, propagating the memchr DILocation to all the generated
instructions that replace it.

Found using https://github.com/llvm/llvm-project/pull/107279.


  Commit: e84a80408523a48d6eaacd795f1615e821ffb233
      https://github.com/llvm/llvm-project/commit/e84a80408523a48d6eaacd795f1615e821ffb233
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lldb/source/Core/Statusline.cpp

  Log Message:
  -----------
  [lldb] Make sure the process is stopped when computing the symbol context (#134757)

Make sure the process is stopped when computing the symbol context. Both
Adrian and Felipe reported a handful of crashes in GetSymbolContext
called from Statusline::Redraw on the default event thread.

Given that we're handling a StackFrameSP, it's not clear to me how that
could have gotten invalidated, but Jim points out that it doesn't make
sense to compute the symbol context for the frame when the process isn't
stopped.


  Commit: a557550fa40551d23762d4903535a022275b6caa
      https://github.com/llvm/llvm-project/commit/a557550fa40551d23762d4903535a022275b6caa
  Author: Yijia Gu <yijiagu at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [clang][bazel] add missing target


  Commit: 11fdea984dc6777ba4f4b7e516c2938083b34ddb
      https://github.com/llvm/llvm-project/commit/11fdea984dc6777ba4f4b7e516c2938083b34ddb
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp

  Log Message:
  -----------
  [clang] NFC: remove trailing whitespaces from clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp


  Commit: 3b84b1e1635cc6af9ff745d0542ebee151394c42
      https://github.com/llvm/llvm-project/commit/3b84b1e1635cc6af9ff745d0542ebee151394c42
  Author: Yijia Gu <yijiagu at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [clang][bazel] fix typo


  Commit: 7e70d708a39470397a8df9aa5842d0875b471def
      https://github.com/llvm/llvm-project/commit/7e70d708a39470397a8df9aa5842d0875b471def
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Initialization/SystemLifetimeManager.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SystemInitializerFull.cpp
    M lldb/source/Initialization/SystemLifetimeManager.cpp
    M lldb/tools/lldb-server/lldb-server.cpp
    M lldb/tools/lldb-test/SystemInitializerTest.cpp
    M lldb/tools/lldb-test/lldb-test.cpp

  Log Message:
  -----------
  [LLDB][NFC] Remove Debugger dependency in SystemLifetimeManager (#134383)

It reduces the memory usage in lldb-server.


  Commit: 9ba1a3fcb53936f20533585df283b3734ae8c4ef
      https://github.com/llvm/llvm-project/commit/9ba1a3fcb53936f20533585df283b3734ae8c4ef
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Lex/PPExpressions.cpp
    A clang/test/Preprocessor/constants.c

  Log Message:
  -----------
  Reject invalid integer constants in unevaluated preprocessor operands (#134884)

Clang was previously accepting invalid code like:
```
  #if 1 ? 1 : 999999999999999999999
  #endif
```
because the integer constant (which is too large to fit into any
standard or extended integer type) was in an unevaluated branch of the
conditional operator. Similar invalid code involving || or && was also
accepted and is now rejected.

Fixes #134658


  Commit: 234d30e36b1bba0fae4149ba90348f804be7ad4c
      https://github.com/llvm/llvm-project/commit/234d30e36b1bba0fae4149ba90348f804be7ad4c
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/docs/Dialects/LLVM.md
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
    M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
    M mlir/test/Dialect/LLVMIR/mem2reg.mlir
    M mlir/test/Dialect/LLVMIR/types-invalid.mlir
    M mlir/test/Dialect/LLVMIR/types.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-types.mlir

  Log Message:
  -----------
  [mlir][LLVM] Delete `LLVMFixedVectorType` and `LLVMScalableVectorType` (#133286)

Since #125690, the MLIR vector type supports `!llvm.ptr` as an element
type. The only remaining element type for `LLVMFixedVectorType` is now
`LLVMPPCFP128Type`.

This commit turns `LLVMPPCFP128Type` into a proper FP type (by
implementing `FloatTypeInterface`), so that the MLIR vector type accepts
it as an element type. This makes `LLVMFixedVectorType` obsolete.
`LLVMScalableVectorType` is also obsolete. This commit deletes
`LLVMFixedVectorType` and `LLVMScalableVectorType`.

Note for LLVM integration: Use `VectorType` instead of
`LLVMFixedVectorType` and `LLVMScalableVectorType`.


  Commit: 836476660e5c068a8b3034c2bc21dbb70683f0fe
      https://github.com/llvm/llvm-project/commit/836476660e5c068a8b3034c2bc21dbb70683f0fe
  Author: Yijia Gu <yijiagu at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [mlir][bazel] add missing deps for LLVMOpsTdFiles


  Commit: c4c0ff686563999176f16a40274586ee0d32c66f
      https://github.com/llvm/llvm-project/commit/c4c0ff686563999176f16a40274586ee0d32c66f
  Author: cmtice <cmtice at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [LLDB] Fix warnings in DIL. (#134778)

This fixes 3 warnings from compiling the DILParser:

DILParser.h:53:12: warning: returning address of local temporary object
[-Wreturn-stack-address]

DILParser.h:119:8: warning: private field 'm_fragile_ivar' is not used
[-Wunused-private-field]

DILParser.h:120:8: warning: private field 'm_check_ptr_vs_member' is not
used [-Wunused-private-field]


  Commit: 550d148561002a9984ca57a5ba0ed39367052a52
      https://github.com/llvm/llvm-project/commit/550d148561002a9984ca57a5ba0ed39367052a52
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/SandboxIR/Constant.cpp

  Log Message:
  -----------
  [SandboxIR] Fix warning when building on Windows with clang-cl. NFC.

This fixes several of these:
```
[1151/3381] Building CXX object lib\SandboxIR\CMakeFiles\LLVMSandboxIR.dir\Constant.cpp.obj
C:\git\llvm-project\llvm\lib\SandboxIR\Constant.cpp(331,52): warning: duplicate explicit instantiation of 'operator()' ignored as a Microsoft extension [-Wmicrosoft-template]
  331 |                   llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
      |                                                    ^
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Constant.h(816,52): note: previous explicit instantiation is here
  816 |                   llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
      |                                                    ^
```


  Commit: 446e793d77286ea477c90778f28c168883526e56
      https://github.com/llvm/llvm-project/commit/446e793d77286ea477c90778f28c168883526e56
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Type.h

  Log Message:
  -----------
  [SandboxIR] Fix warning when building on Windows with clang-cl. NFC.

This fixes:
```
[1230/3381] Building CXX object lib\Transforms\Vectorize\CMakeFiles\LLVMVectorize.dir\SandboxVectorizer\VecUtils.cpp.obj
In file included from C:\git\llvm-project\llvm\lib\Transforms\Vectorize\SandboxVectorizer\VecUtils.cpp:9:
In file included from C:\git\llvm-project\llvm\include\llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h:17:
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Type.h(55,16): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]
   55 |   friend class CallBase;           // For LLVMTy.
      |                ^
      |                ::llvm::
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Type.h(60,16): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]
   60 |   friend class CmpInst;            // For LLVMTy. TODO: Cleanup after
      |                ^
      |                ::llvm::
2 warnings generated.
```


  Commit: 661f90ad088fe9fad004ae6690bab061fb9a5f1d
      https://github.com/llvm/llvm-project/commit/661f90ad088fe9fad004ae6690bab061fb9a5f1d
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Context.h

  Log Message:
  -----------
  [SandboxIR] Fix warning when building on Windows with clang-cl. NFC.

This fixes:
```
[2295/3381] Building CXX object lib\Passes\CMakeFiles\LLVMPasses.dir\PassBuilder.cpp.obj
In file included from C:\git\llvm-project\llvm\lib\Passes\PassBuilder.cpp:368:
In file included from C:\git\llvm-project\llvm\include\llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h:16:
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Context.h(73,16): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]
   73 |   friend class Region;            // For LLVMCtx.
      |                ^
      |                ::llvm::
1 warning generated.
```


  Commit: 4cb320eb8124f6d47e5796fa8becbe22e9e8f841
      https://github.com/llvm/llvm-project/commit/4cb320eb8124f6d47e5796fa8becbe22e9e8f841
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll

  Log Message:
  -----------
  [RISCV] Add coverage for shuffles which if widened could be zipeven/zipodd


  Commit: 96f95c9d89d8a1784d3865fa941fb1c510f4e2d7
      https://github.com/llvm/llvm-project/commit/96f95c9d89d8a1784d3865fa941fb1c510f4e2d7
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    A llvm/test/tools/dsymutil/ARM/swiftmodule.test
    A llvm/test/tools/dsymutil/Inputs/Binary.swiftmodule
    A llvm/test/tools/dsymutil/Inputs/FromInterface.swiftmodule
    M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
    M llvm/tools/dsymutil/CMakeLists.txt
    M llvm/tools/dsymutil/DebugMap.cpp
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/RelocationMap.h
    A llvm/tools/dsymutil/SwiftModule.cpp
    A llvm/tools/dsymutil/SwiftModule.h

  Log Message:
  -----------
  [dsymutil] Avoid copying binary swiftmodules built from textual

.swiftinterface files into the dSYM bundle. These typically come only
from the SDK (since textual interfaces require library evolution) and
thus are a waste of space to copy into the bundle.

The information about this is being parsed out of the control block,
which means duplicating 5 constants from the Swift frontend. If a file
cannot be parsed, dsymutil errs on the side of copying the file
anyway.

rdar://138186524

Relanding with additional linker dependency and moving the test into
the right target subdirectory.


  Commit: 556fb4c9afb1e90415239fe3fb9c6e39af8ddc03
      https://github.com/llvm/llvm-project/commit/556fb4c9afb1e90415239fe3fb9c6e39af8ddc03
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt

  Log Message:
  -----------
  [libc] Disable sin/cospif16 on aarch64 (#134918)

The tests are failing and it's unclear why. Disabling for now until a
fix can be implemented. See
https://github.com/llvm/llvm-project/issues/134917 for details.


  Commit: 6f92339d9e764d8a8452f82eff690d8ef9070ac6
      https://github.com/llvm/llvm-project/commit/6f92339d9e764d8a8452f82eff690d8ef9070ac6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/i1-reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/X86/i1-reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/reg-usage.ll

  Log Message:
  -----------
  [LV] Compute register usage for interleaving on VPlan. (#126437)

Add a version of calculateRegisterUsage that works estimates register
usage for a VPlan. This mostly just ports the existing code, with some
updates to figure out what recipes will generate vectors vs scalars.

There are number of changes in the computed register usages, but they
should be more accurate w.r.t. to the generated vector code.

There are the following changes:

 * Scalar usage increases in most cases by 1, as we always create a
   scalar canonical IV, which is alive across the loop and is not
   considered by the legacy implementation

 * Output is ordered by insertion, now scalar registers are added first
   due the canonical IV phi.

 * Using the VPlan, we now also more precisely know if an induction will
   be vectorized or scalarized.

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

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


  Commit: c4b343aeebe28462d13a773e05a5a667420abe7e
      https://github.com/llvm/llvm-project/commit/c4b343aeebe28462d13a773e05a5a667420abe7e
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/cuf-device-procedures02.cuf

  Log Message:
  -----------
  [flang][cuda] Implicitly load cudadevice in host,device and grid_global procedures (#134905)


  Commit: fed0f58547f801d775d8f763cca5fe4eddd325cb
      https://github.com/llvm/llvm-project/commit/fed0f58547f801d775d8f763cca5fe4eddd325cb
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/lib/Semantics/check-cuda.cpp
    M flang/test/Semantics/cuf09.cuf

  Log Message:
  -----------
  [flang][cuda] Avoid triggering host array error in host device proc (#134909)

we cannot enforce the detection of host arrays in device code when the
procedure is host, device. Relax the check for those.


  Commit: 189baedb71b661851530644585b79fd5ff6efecb
      https://github.com/llvm/llvm-project/commit/189baedb71b661851530644585b79fd5ff6efecb
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir

  Log Message:
  -----------
  [mlir][tosa] Add missing divider in tosa-infer-shapes.mlir (#134883)

Minor format fix.

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 320c13e09aea3234a171eaebfc2b263bd88a9869
      https://github.com/llvm/llvm-project/commit/320c13e09aea3234a171eaebfc2b263bd88a9869
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/tools/dsymutil/CMakeLists.txt

  Log Message:
  -----------
  [dsymutil] Add missing dependency


  Commit: 8d90a541537fbed7d8c2a759b4ff46192a2c436e
      https://github.com/llvm/llvm-project/commit/8d90a541537fbed7d8c2a759b4ff46192a2c436e
  Author: Jann <jannh at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td

  Log Message:
  -----------
  [clang] Add comment about misleading alloc_size argument names (#134899)

Attr.td names the first alloc_size argument "ElemSizeParam" and the
second optional argument "NumElemsParam"; but the semantics of how the
two-argument version is used in practice is the opposite of that.

glibc declares calloc() like this, so the second alloc_size argument is
the element size:
```
extern void *calloc (size_t __nmemb, size_t __size)
__THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur;
```

The Linux kernel declares array allocation functions like
`kmalloc_array_noprof()` the same way.

Add a comment explaining that the names used inside clang are
misleading.


  Commit: dbcde15abac2670c17a7522bd957ab535f13c5cd
      https://github.com/llvm/llvm-project/commit/dbcde15abac2670c17a7522bd957ab535f13c5cd
  Author: lntue <lntue at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libc/config/darwin/arm/entrypoints.txt

  Log Message:
  -----------
  [libc] Add remaining math function entrypoints to darwin/arm. (#134920)

To match with what are currently available on linux/x86_64.


  Commit: 156e2532edeaea9a60c37c041e8059fc5693122f
      https://github.com/llvm/llvm-project/commit/156e2532edeaea9a60c37c041e8059fc5693122f
  Author: Douglas <Douglas.Gliner at sony.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Writer.cpp
    M llvm/include/llvm/Support/FileOutputBuffer.h
    M llvm/lib/Support/FileOutputBuffer.cpp
    M llvm/unittests/Support/FileOutputBufferTest.cpp

  Log Message:
  -----------
  Revert "Rename `F_no_mmap` to `F_mmap`" (#134924)

Reverts llvm/llvm-project#134787

Causes the LIT test `lld\test\ELF\link-open-file.test` to fail on the
`llvm-clang-x86_64-sie-win` Build Bot. First instance of the failure
observed in: https://lab.llvm.org/buildbot/#/builders/46/builds/14847


  Commit: 9f463056e6dd5ff94d35f8cc1f4aa4ecc87fa61d
      https://github.com/llvm/llvm-project/commit/9f463056e6dd5ff94d35f8cc1f4aa4ecc87fa61d
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Sema/main-no-return-c89-1.c
    A clang/test/Sema/main-no-return-c89-2.c
    A clang/test/Sema/main-no-return-c89-3.c

  Log Message:
  -----------
  [Clang] add ext warning for missing return in 'main' for C89 mode (#134617)

Fixes #21650 

--- 

Clang currently inserts an implicit `return 0;` in `main()` when
compiling in `C89` mode, even though the `C89` standard doesn't require
this behavior. This patch changes that behavior by emitting a warning
instead of silently inserting the implicit return under `-pedantic`.


  Commit: 8b34986072d744009a4a2be9692b5cc43cbe4cd3
      https://github.com/llvm/llvm-project/commit/8b34986072d744009a4a2be9692b5cc43cbe4cd3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads-simple.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with potential segmented loads, recognized as strided


  Commit: c13436e516ed51bcc6f39b7b5c93d987e5fd7884
      https://github.com/llvm/llvm-project/commit/c13436e516ed51bcc6f39b7b5c93d987e5fd7884
  Author: Kevin McAfee <kmcafee at nvidia.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    A llvm/test/CodeGen/NVPTX/convert-fp-i8.ll

  Log Message:
  -----------
  [SDAG][NVPTX] Add TLI hook to get preferred FP->INT opcode (#132470)

Extract the logic for choosing FP_TO_UINT vs FP_TO_SINT opcodes into a
TLI hook. This hook can be overridden by targets that prefer not to use
the default behavior of replacing FP_TO_UINT with FP_TO_SINT when both
are custom.
Implement an override for NVPTX to only change opcode when
FP_TO_UINT is not legal and FP_TO_SINT is legal.


  Commit: a6853cd9af40eb330b9aec9762093be077e02f6c
      https://github.com/llvm/llvm-project/commit/a6853cd9af40eb330b9aec9762093be077e02f6c
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    M llvm/test/CodeGen/NVPTX/atomics.ll

  Log Message:
  -----------
  [NVPTX] Auto-Upgrade llvm.nvvm.atomic.load.{inc,dec}.32 (#134111)

These intrinsics can be upgrade to an atomicrmw instruction.


  Commit: 1a1698b5dde28debc8331ca933a226e79164949a
      https://github.com/llvm/llvm-project/commit/1a1698b5dde28debc8331ca933a226e79164949a
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/test/CIR/CodeGen/basic.c

  Log Message:
  -----------
  [CIR] Handle NullStmt (#134889)

The handling for NullStmt was going to an error saying the statement
handling wasn't implemented. It doesn't need any implementation. It is
sufficient for emitSimpleStmt to just return success for that statement
class. This change does that.


  Commit: 76d722732d7b417438f7aee8c36d79bf4feb2e97
      https://github.com/llvm/llvm-project/commit/76d722732d7b417438f7aee8c36d79bf4feb2e97
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h

  Log Message:
  -----------
  [lldb][Minidump] Fix MAX_WRITE_CHUNK_SIZE type

MinidumpFileBuilder calls std::min(MAX_WRITE_CHUNK_SIZE,
func_returning_uint64_t) and on Darwin this errors out with
unsigned long long & unsigned long not being the same type.


  Commit: cfa6a5940e2dd29e88885028d77f8f357f3e773c
      https://github.com/llvm/llvm-project/commit/cfa6a5940e2dd29e88885028d77f8f357f3e773c
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll

  Log Message:
  -----------
  [ctxprof] Don't lower instrumentation for `noreturn` functions (#134932)

`noreturn` functions are doubtfully interesting for performance optimization / profiling.


  Commit: 1d0f8355b1cb31c150c5b338562894dca1389863
      https://github.com/llvm/llvm-project/commit/1d0f8355b1cb31c150c5b338562894dca1389863
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/include/flang/Support/Fortran.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Support/Fortran.cpp
    M flang/test/Semantics/cuf10.cuf

  Log Message:
  -----------
  [flang][cuda] Relax compatibility rules when host,device procedure is involved (#134926)

Relax too restrictive rule for host, device procedure.


  Commit: b712068af26643d5fcbfd148b2084554b4e61650
      https://github.com/llvm/llvm-project/commit/b712068af26643d5fcbfd148b2084554b4e61650
  Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [nfc][Msan] Split PPC VarArg Helper into PPC32 and PPC64 (#134860)

As discussed in https://github.com/llvm/llvm-project/pull/131827, copied
ppc32 helper from ppc64. No functional changes have been made.


  Commit: 1365b5b1ad5d09a738dbe97b5a72902186e24d80
      https://github.com/llvm/llvm-project/commit/1365b5b1ad5d09a738dbe97b5a72902186e24d80
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c

  Log Message:
  -----------
   [clang][DependencyScanning] Track dependencies from prebuilt modules to determine IsInStableDir (#132237)

When a module is being scanned, it can depend on modules that have
already been built from a pch dependency. When this happens, the pcm
files are reused for the module dependencies. When this is the case,
check if input files recorded from the PCMs come from the provided
stable directories transitively since the scanner will not have access
to the full set of file dependencies from prebuilt modules.


  Commit: 9c38b2e5133bf4ffc3a349436e8884f91ff03b11
      https://github.com/llvm/llvm-project/commit/9c38b2e5133bf4ffc3a349436e8884f91ff03b11
  Author: Georgios Pinitas <georgios.pinitas at arm.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tosa] Fold PadOp to tensor operations (#132700)


  Commit: 0428252db3841ddb96be1996cd2f3119d91b7b98
      https://github.com/llvm/llvm-project/commit/0428252db3841ddb96be1996cd2f3119d91b7b98
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
    M compiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
    M compiler-rt/test/hwasan/TestCases/tag-mismatch-border-address.c

  Log Message:
  -----------
  Fix some page size assumptions in the HWASan tests.



Reviewers: fmayer, vitalybuka

Reviewed By: fmayer, vitalybuka

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


  Commit: 93096bf830e58a5a5fcb5cc12f08e8277b2725ab
      https://github.com/llvm/llvm-project/commit/93096bf830e58a5a5fcb5cc12f08e8277b2725ab
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  gn build: Add hwasan_preinit.cpp to hwasan static library to match CMake.



Reviewers: aeubanks

Reviewed By: aeubanks

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


  Commit: d3a9d471f75f0b9b58e89d0662dae05c18660bba
      https://github.com/llvm/llvm-project/commit/d3a9d471f75f0b9b58e89d0662dae05c18660bba
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  gn build: Replace ${hwasan_name}-preinit with hwasan-preinit.

The driver only ever looks for the latter.

Reviewers: aeubanks

Reviewed By: aeubanks

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


  Commit: bd2df7b0763e07d09f3a2bcb7096871101c14454
      https://github.com/llvm/llvm-project/commit/bd2df7b0763e07d09f3a2bcb7096871101c14454
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  gn build: Enable check-hwasan on aarch64 Linux.



Reviewers: aeubanks, vitalybuka

Reviewed By: vitalybuka

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


  Commit: 36cb81cced6cb9ab8a68a4313963d4ccf7669e76
      https://github.com/llvm/llvm-project/commit/36cb81cced6cb9ab8a68a4313963d4ccf7669e76
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
    M compiler-rt/test/sanitizer_common/android_commands/android_run.py

  Log Message:
  -----------
  Change python to python3 in some shebangs.



Reviewers: vitalybuka

Reviewed By: vitalybuka

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


  Commit: ab95005a05232030a16c2da7a8de867c2ded5f88
      https://github.com/llvm/llvm-project/commit/ab95005a05232030a16c2da7a8de867c2ded5f88
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__config
    M libcxx/include/__iterator/aliasing_iterator.h
    M libcxx/include/__type_traits/is_char_like_type.h
    M libcxx/include/__type_traits/is_trivial.h
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/type_traits
    M libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
    M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
    M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/stddef_h.compile.pass.cpp
    M libcxx/test/std/language.support/support.types/byte.pass.cpp
    M libcxx/test/std/language.support/support.types/max_align_t.compile.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
    M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
    M libcxx/test/std/strings/string.view/char.bad.verify.cpp
    M libcxx/test/std/time/time.zone/time.zone.zonedtraits/types.compile.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp
    A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.deprecated.verify.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
    M libcxx/test/support/nasty_string.h
    M libcxxabi/src/demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [libc++] P3247R2: Deprecate `is_trivial(_v)` (#130573)

Requirements on character-like types are updated unconditionally,
because `basic_string` does requires the default-constructibility. It
might be possible to make `basic_string_view` support classes with
non-public trivial default constructor, but this doesn't seem sensible.

libcxxabi's `ItaniumDemangle.h` is also updated to avoid deprecated
features.


  Commit: ad01e0ac66441b28f9dc8acebd0dea5ea94a0f20
      https://github.com/llvm/llvm-project/commit/ad01e0ac66441b28f9dc8acebd0dea5ea94a0f20
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    A llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
    A llvm/test/MC/RISCV/xqcilo-pseudos-valid.s

  Log Message:
  -----------
  [RISCV][Xqcilo] Load/Store Pseudos (#134931)

This adds `qc.e.l<type> <reg>, <symbol>` and `qc.e.s<type> <reg>,
<symbol>, <reg>` pseudos for the corresponding Xqcilo instructions.

These emit as an AUIPC + (Standard) Load/Store pair, because this
sequence is shorter and can be relaxed back into the equivalent Xqcilo
load/store instruction in the right circumstances.


  Commit: 4c90d977dbdcfed3c25e85472b61cc17eef915c0
      https://github.com/llvm/llvm-project/commit/4c90d977dbdcfed3c25e85472b61cc17eef915c0
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
    M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfFlattening.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Analysis/ProfileSummaryInfo.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    M llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
    R llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll

  Log Message:
  -----------
  [ctxprof] Use the flattened contextual profile pre-thinlink (#134723)

Flatten the profile pre-thinlink so that ThinLTO has something to work with for the parts of the binary that aren't covered by contextual profiles. Post-thinlink, the flattener is re-run and will actually change profile info, but just for the modules containing contextual trees ("specialized modules"). For the rest, the flattener just yanks out the instrumentation.


  Commit: 442050ce8f10abaef8d7ff1e7dd28aa321d97e86
      https://github.com/llvm/llvm-project/commit/442050ce8f10abaef8d7ff1e7dd28aa321d97e86
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    A llvm/test/Analysis/CtxProfAnalysis/flatten-insert-icp-mdprof.ll

  Log Message:
  -----------
  [ctxprof] Flatten indirect call info in pre-thinlink compilation (#134766)

Same idea as in #134723 - flatten indirect call info in `"VP"` `MD_prof` metadata for the thinlinker, for cases that aren't covered by a contextual profile. If we don't ICP an indirect call target in the specialized module, the call will fall to the copy of that target outside the specialized module. If the graph under that target also has some indirect calls, in the absence of this pass, we'd have a steeper performance regression - because none of those would have a chance to be ICPed.


  Commit: 34d586fdd548a34911caa068b557c4c0442f4d1d
      https://github.com/llvm/llvm-project/commit/34d586fdd548a34911caa068b557c4c0442f4d1d
  Author: Chao Chen <chao.chen at intel.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.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
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/ops.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Extend SGMapAttr and Add ConvertLayoutOp (#132425)

This PR improves the SGMapAttr to enable workgroup-level programming, representing the first step in expanding the XeGPU dialect from subgroup to workgroup level, and renames it to LayoutAttr


  Commit: ccf22848da9f050e00f23c5d4bc412ab19e81645
      https://github.com/llvm/llvm-project/commit/ccf22848da9f050e00f23c5d4bc412ab19e81645
  Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/test/CIR/CodeGen/if-consteval.cpp
    A clang/test/CIR/CodeGen/if.cpp
    A clang/test/CIR/Lowering/if.cir
    A clang/test/CIR/Transforms/if.cir

  Log Message:
  -----------
  [CIR] Add if statement support (#134333)

This patch adds support for if statements in the CIR dialect
Additionally, multiple RUN lines were introduced to improve codegen test
coverage


  Commit: 9a762bb4e17969e69e4d1ce383fd0ccd41fb8e2e
      https://github.com/llvm/llvm-project/commit/9a762bb4e17969e69e4d1ce383fd0ccd41fb8e2e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Reuse existing tablegen classes for Zilsd/Zclsd. NFC (#134946)

We don't need pair specific classes. We just need to pass the pair
RegisterOperand to the existing classes we use for the base ISA and Zca.
For Zclsd, we need to changes the classes to take DAGOperand instead of
RegisterClass so we can pass a RegisterOperand.


  Commit: 8ebc98c3b0905a8587d81350782f67576cc3737c
      https://github.com/llvm/llvm-project/commit/8ebc98c3b0905a8587d81350782f67576cc3737c
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/Intrinsics/ieee_flag.f90

  Log Message:
  -----------
  [flang] Update IEEE_SUPPORT_FLAG implementation (#134937)

Optional argument X in an IEEE_SUPPORT_FLAG(FLAG, X) call may be an
array.


  Commit: deef64904f4afe612c900f6674c3480e121a7487
      https://github.com/llvm/llvm-project/commit/deef64904f4afe612c900f6674c3480e121a7487
  Author: brandb97 <77328395+brandb97 at users.noreply.github.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_fake_stack.cpp
    A compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
    M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c

  Log Message:
  -----------
  Poison unused tail of FakeFrame (#133689)

Fix [issue#133640](https://github.com/llvm/llvm-project/issues/133640)


  Commit: cf7d34a54dbfa32f0fd8fa569654e8ea012abd72
      https://github.com/llvm/llvm-project/commit/cf7d34a54dbfa32f0fd8fa569654e8ea012abd72
  Author: lntue <lntue at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    R libc/src/__support/FPUtil/aarch64/sqrt.h
    A libc/src/__support/FPUtil/arm/sqrt.h
    M libc/src/__support/FPUtil/riscv/sqrt.h
    M libc/src/__support/FPUtil/sqrt.h
    M libc/src/__support/FPUtil/x86_64/sqrt.h
    M libc/src/__support/macros/properties/cpu_features.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Extend fputil::sqrt to use floating point instructions for arm32. (#134499)


  Commit: 333f2c334174ee2c3b70f6db01970b339459bfa6
      https://github.com/llvm/llvm-project/commit/333f2c334174ee2c3b70f6db01970b339459bfa6
  Author: Dirk Pranke <dpranke at gmail.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/utils/gn/.gn
    M llvm/utils/gn/build/toolchain/BUILD.gn
    M llvm/utils/gn/secondary/BUILD.gn

  Log Message:
  -----------
  [gn] Use exec_script_allowlist in //llvm/utils/gn/.gn (#134172)

This requires gn_version >= 2207. Run llvm/utils/gn/get.py to
update your GN binary if you hit the assert added in this commit.


  Commit: 02b377d8f7252b1acf6ea4fad55a101b6bc3fcf7
      https://github.com/llvm/llvm-project/commit/02b377d8f7252b1acf6ea4fad55a101b6bc3fcf7
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llc.rst
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/test/CodeGen/RISCV/compress-opt-select.ll
    M llvm/test/CodeGen/RISCV/hwasan-check-memaccess.ll
    A llvm/test/tools/llc/instprinter-options.ll
    M llvm/test/tools/llvm-mc/disassembler-options.test
    M llvm/tools/llc/llc.cpp
    M llvm/tools/llvm-mc/llvm-mc.cpp

  Log Message:
  -----------
  [llc] Add -M for InstPrinter options

For many targets, llvm-objdump and llvm-mc
(https://reviews.llvm.org/D103004) support -M no-aliases (e.g.
`RISCVInstPrinter::applyTargetSpecificCLOption`).

This patch implements -M for llc.

While here, rename "DisassemblerOptions" in llvm-mc to the more
appropriate "InstPrinterOptions". For llvm-mc --assemble, there is no
disassembler involved.

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


  Commit: 438ade1dfc61a12e8187096f82ced493d8e5c8fa
      https://github.com/llvm/llvm-project/commit/438ade1dfc61a12e8187096f82ced493d8e5c8fa
  Author: lntue <lntue at google.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M libc/src/__support/FPUtil/riscv/sqrt.h

  Log Message:
  -----------
  [libc] Fix wrong #ifdef for riscv's sqrt. (#134964)


  Commit: a1f1bbf0534f57990c13a0bf0e6645da011f1d9d
      https://github.com/llvm/llvm-project/commit/a1f1bbf0534f57990c13a0bf0e6645da011f1d9d
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/add-before-shl.ll
    M llvm/test/CodeGen/RISCV/kcfi.ll
    M llvm/test/CodeGen/RISCV/patchable-function-entry.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-vector-tuple.ll
    M llvm/test/MC/RISCV/rv32p-valid.s
    M llvm/test/MC/RISCV/rv64p-valid.s
    M llvm/test/MC/RISCV/xqciac-valid.s
    M llvm/test/MC/RISCV/xqcibi-valid.s
    M llvm/test/MC/RISCV/xqcibm-valid.s
    M llvm/test/MC/RISCV/xqcicli-valid.s
    M llvm/test/MC/RISCV/xqcicm-valid.s
    M llvm/test/MC/RISCV/xqciint-csrs-valid.s
    M llvm/test/MC/RISCV/xqciint-valid.s
    M llvm/test/MC/RISCV/xqciio-aliases-valid.s
    M llvm/test/MC/RISCV/xqciio-valid.s
    M llvm/test/MC/RISCV/xqcilb-valid.s
    M llvm/test/MC/RISCV/xqcili-li.s
    M llvm/test/MC/RISCV/xqcili-valid.s
    M llvm/test/MC/RISCV/xqcilia-valid.s
    M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
    M llvm/test/MC/RISCV/xqcilo-valid.s
    M llvm/test/MC/RISCV/xqcisim-valid.s
    M llvm/test/MC/RISCV/xqcisync-valid.s
    M llvm/test/MC/RISCV/xrivosvisni-valid.s
    M llvm/test/MC/RISCV/xrivosvizip-valid.s

  Log Message:
  -----------
  [RISCV,test] Replace -riscv-no-aliases with -M no-aliases

now that llc supports `-M no-aliases` (along with llvm-mc and llvm-objdump)
(#121078).

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


  Commit: 50428fb5e90b8318148abdf67eefe99bf8fd310b
      https://github.com/llvm/llvm-project/commit/50428fb5e90b8318148abdf67eefe99bf8fd310b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/include/llvm/MC/MCWasmStreamer.h
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp
    A llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCExpr.h
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp

  Log Message:
  -----------
  [WebAssembly] Add WebAssembly::Specifier

Move wasm-specific members outside of MCSymbolRefExpr::VariantKind (a
legacy interface I am eliminating). Most changes are mechanic and
similar to what I've done for many ELF targets (e.g. X86 #132149)

Notes:

* `fixSymbolsInTLSFixups` is replaced with `setTLS` in
  `WebAssemblyWasmObjectWriter::getRelocType`, similar to what I've done
  for many ELF targets.
* `SymA->setUsedInGOT()` in `recordRelocation` is moved to
  `getRelocType`.

While here, rename "Modifier' to "Specifier":

> "Relocation modifier", though concise, suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation. I landed on "relocation specifier" as the winner. It's clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.

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


  Commit: 1c09dd54d9be9470729130008bf82ee61a8bee63
      https://github.com/llvm/llvm-project/commit/1c09dd54d9be9470729130008bf82ee61a8bee63
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-bit-shift.ll
    A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-rotate.ll
    A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-shift.ll
    A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-rotate.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit test for vector byte rotate & vector shift (lasx only) (#134839)


  Commit: e6b55cd73bdbc36d4ce1b122b0e46dc2e6968950
      https://github.com/llvm/llvm-project/commit/e6b55cd73bdbc36d4ce1b122b0e46dc2e6968950
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCExpr.h

  Log Message:
  -----------
  MCExpr: Remove unused VK_GOT/VK_GOTPCREL


  Commit: 43bb6bac2fde3a1847f39174ece5b848eced7dcf
      https://github.com/llvm/llvm-project/commit/43bb6bac2fde3a1847f39174ece5b848eced7dcf
  Author: Liao Chunyu <chunyu at iscas.ac.cn>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [clang] Fix GCC -Wparentheses warning. NFC.

Without this gcc warned like:
clang/lib/Sema/SemaExprCXX.cpp:4656:74: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
 4655 |              From->isNullPointerConstant(Context,
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4656 |                                          Expr::NPC_ValueDependentIsNull) &&
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
 4657 |                  "Expr must be null pointer constant!");
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  Commit: bada5eb00940954eb6852de4098a80f3faf585a0
      https://github.com/llvm/llvm-project/commit/bada5eb00940954eb6852de4098a80f3faf585a0
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Object/TapiUniversal.h
    M llvm/lib/Object/TapiUniversal.cpp
    M llvm/test/tools/llvm-nm/tapi-files.test

  Log Message:
  -----------
  [llvm-nm] Fix how inlined dylibs are reported from tbd files (#134498)

An Inlined library is a dylib that is reexported from an umbrella or
top-level library. When this is encoded in tbd files, ensure we are
reading the symbol table from the inlined library when
`--add-inlinedinfo` is used as opposed to the top-level lib.

resolves: rdar://147767733


  Commit: c5e07fb86122669794808d6e857c88048f3a4926
      https://github.com/llvm/llvm-project/commit/c5e07fb86122669794808d6e857c88048f3a4926
  Author: lntue <lntue at google.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    A libc/src/__support/FPUtil/aarch64/sqrt.h
    M libc/src/__support/FPUtil/arm/sqrt.h
    M libc/src/__support/FPUtil/sqrt.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Use correct instruction for arm32 sqrt inline asm. (#134968)

https://godbolt.org/z/3jT7jdrs9


  Commit: 50e218ad9cef3e59f8d8ba8c9c7b57ce9c213c52
      https://github.com/llvm/llvm-project/commit/50e218ad9cef3e59f8d8ba8c9c7b57ce9c213c52
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py

  Log Message:
  -----------
  Revert "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)"

This reverts commit 232525f06942adb3b9977632e38dcd5f08c0642d.

This change is causing test crashes while running
TestCompletion.py on Darwin systems, most of the CI runs
have failed since it has been merged in.


  Commit: 559540dc2738af0ab3f0b48eb4993095b8a8c627
      https://github.com/llvm/llvm-project/commit/559540dc2738af0ab3f0b48eb4993095b8a8c627
  Author: Lakshay Kumar <lakshayk at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
    M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp

  Log Message:
  -----------
  [llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported instructions (#132346)

[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported
instructions.
Skipping AUT and LDGM opcode variants which currently throws "illegal
instruction".
- Checking opcodes specifically for LDGM and AUT opcode instruction
variants.
- Gracefully exiting with " : Unsupported opcode:
isPointerAuth/isUncheckedAccess"
- Added corresponding test cases to check exit message.


  Commit: 5c27511cb6ece1798e4503bcf8169359472871be
      https://github.com/llvm/llvm-project/commit/5c27511cb6ece1798e4503bcf8169359472871be
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrFormats.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
    A llvm/test/MC/RISCV/rv32zilsd-pseudos.s

  Log Message:
  -----------
  [RISCV] Support Load/Store Global assembler pseudos for Zilsd. (#134950)

This adds support for 'ld \<rd\> \<symbol\>' and 'sd \<rd\>, \<symbol\>,
\<rt\>' to match what we do for RV32.

I've changed the interface to emitAuipcInstPair to use MCRegister
instead of MCOperand since we need to convert a GPRPair to GPR for
TmpReg for the load case.


  Commit: fbc6241d3af45d74ac8e8d3728a57435aab1d5ec
      https://github.com/llvm/llvm-project/commit/fbc6241d3af45d74ac8e8d3728a57435aab1d5ec
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Core/Mangled.h
    M lldb/include/lldb/Core/RichManglingContext.h
    M lldb/include/lldb/Target/Language.h
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/RichManglingContext.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/Language/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/unittests/Core/CMakeLists.txt
    M lldb/unittests/Core/RichManglingContextTest.cpp
    M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp

  Log Message:
  -----------
  [LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#132274)

This patch addresses the issue #129543.
After this patch the size of lldb-server is reduced by 9MB.

Co-authored-by: @bulbazord Alex Langford


  Commit: d28b4d89166fb705577a2d3a329006f0c0e0aacc
      https://github.com/llvm/llvm-project/commit/d28b4d89166fb705577a2d3a329006f0c0e0aacc
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV] Lower BUILD_VECTOR with i64 type to VID on RV32 if possible (#132339)

The element type i64 of the BUILD_VECTOR is not legal on RV32. It
doesn't catch the VID pattern after being legalized for i64.
So try to customized lower it to VID during type legalization.


  Commit: 154d360bf9ae87e9ec8af411bded022d1595ff4e
      https://github.com/llvm/llvm-project/commit/154d360bf9ae87e9ec8af411bded022d1595ff4e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Avoid unnecessary MCOperand copies. NFC


  Commit: 9b8f5340ddbae0587a46d3b5882fe40c135c6fd4
      https://github.com/llvm/llvm-project/commit/9b8f5340ddbae0587a46d3b5882fe40c135c6fd4
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  Improve readability of <Target>GenCompressionInstEmitter. NFC (#134834)

Use indent() instead of manually indenting the code in the
CompressInstEmitter.cpp. Also modify the current indentation in a few
places.


  Commit: 1d2f5ead05e85057b8d0c6198203b392e9f855f8
      https://github.com/llvm/llvm-project/commit/1d2f5ead05e85057b8d0c6198203b392e9f855f8
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqcili-invalid.s
    A llvm/test/MC/RISCV/xqcili-relocations.s

  Log Message:
  -----------
  [RISCV] Add symbol parsing support for Xqcili load large immediate instructions (#134581)

This patch adds support for parsing symbols in the Xqcili load large
immediate instructions. The 32 bit `qc.li` instructions uses the
`R_RISCV_QC_ABS20_U` relocation while the 48 bit `qc.e.li` instruction
uses the `R_RISCV_QC_E_32` relocation and the `InstFormatQC_EAI`
instruction format.

Vendor relocation support will be added in a later patch.


  Commit: e6e0f5f17aa3c995709fc7623a0abbb5a32e4af5
      https://github.com/llvm/llvm-project/commit/e6e0f5f17aa3c995709fc7623a0abbb5a32e4af5
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64zbb.ll

  Log Message:
  -----------
  [RISCV][test] Add tests for subtraction if above threshold


  Commit: e348173bef7182c7cc609d0f000452d3acf4b65c
      https://github.com/llvm/llvm-project/commit/e348173bef7182c7cc609d0f000452d3acf4b65c
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
    M lldb/source/Symbol/UnwindPlan.cpp

  Log Message:
  -----------
  Reapply "[lldb] Remove UnwindPlan::Row shared_ptrs" (#134821)

This reverts commit
https://github.com/llvm/llvm-project/commit/48864a52ef547ac0477271127b510dd9e9798219,
reapplying https://github.com/llvm/llvm-project/commit/d7cea2b18717f0cc31b7da4a03f772d89ee201db.
It also fixes the dangling
pointers caused by the previous version by creating copies of the Rows
in x86AssemblyInspectionEngine.


  Commit: 523e249a6aed29fd2c36000c87838eface7324b4
      https://github.com/llvm/llvm-project/commit/523e249a6aed29fd2c36000c87838eface7324b4
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-all.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-none.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-all.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-none.ll

  Log Message:
  -----------
  [AMDGPU] Lower LDS in functions without sanitize_address in amdgpu-sw-lower-lds. (#131147)

Background:
"amdgpu-sw-lower-lds" pass lowers LDS accesses based on
"sanitize_address" attribute being tagged to kernel or non-kernels.
"amdgpu-sw-lower-lds" pass ideally should either lower all LDS accesses
or should not lower any based on if asan is enabled.

Issue:
But there has been cases when instrumented and non instrumented bitcodes
are linked and this is leading to few LDS being lowered correctly while
others are not. This typically leads to below error in the subsequent
pass.
"Module cannot mix absolute and non-absolute LDS GVs"

Fix:
This patch fixes this issue, by checking if any kernels in module are
tagged with "sanitize_address" attribute and then lowers all the LDS
accesses in all other kernels and non-kernels even though they do not
have "sanitize_address" attribute.


  Commit: a54ad591135c07c3399a79c88ac14f5a4a2b0d12
      https://github.com/llvm/llvm-project/commit/a54ad591135c07c3399a79c88ac14f5a4a2b0d12
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    R llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
    M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp

  Log Message:
  -----------
  Revert "[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupporte… (#134971)

…d instructions (#132346)"

This reverts commit 559540dc2738af0ab3f0b48eb4993095b8a8c627 as it has
cause build failures in llvm-clang-x86_64-gcc-ubuntu


  Commit: c46be969f0b5f79788945da83dd4305617cff427
      https://github.com/llvm/llvm-project/commit/c46be969f0b5f79788945da83dd4305617cff427
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCSymbol.h

  Log Message:
  -----------
  [MC] Optimize isInSection

Remove one call of getFragment. The `SetUsed` bit isn't need here.


  Commit: f46d6412eb4ffa338df8d7b560a8e9f144d1d2a3
      https://github.com/llvm/llvm-project/commit/f46d6412eb4ffa338df8d7b560a8e9f144d1d2a3
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 96f95c9d89d8


  Commit: f04bfbc4162247c0074fdd87068053e4264dbefa
      https://github.com/llvm/llvm-project/commit/f04bfbc4162247c0074fdd87068053e4264dbefa
  Author: Steffen Larsen <steffen.larsen at intel.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_ternary_bitwise_function/bitwise-function.ll

  Log Message:
  -----------
  [SPIRV] Support for SPV_INTEL_ternary_bitwise_function (#134866)

Adds support for the SPV_INTEL_ternary_bitwise_function extension,
adding;
* the OpBitwiseFunctionINTEL SPIR-V instruction, a ternary bitwise
function where the operation performed is determined by a look-up table
index,
 * and the corresponding TernaryBitwiseFunctionINTEL capability.

See
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html.

Signed-off-by: Larsen, Steffen <steffen.larsen at intel.com>


  Commit: 8877b913ae88c6ae43e859316489fe0469293131
      https://github.com/llvm/llvm-project/commit/8877b913ae88c6ae43e859316489fe0469293131
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp

  Log Message:
  -----------
  [LLDB][MIPS] Fix signal SIGBUS number mismatch error on mips target (#132688)

Now, because we do not support mips debugging, if we compile LLVM on
mips target, would report error `static assertion failed:Value mismatch
for signal number SIGBUS`, so add this condition to avoid error.


  Commit: 20d1888cbe2908ddb3ca0640cc2a3d199ffff499
      https://github.com/llvm/llvm-project/commit/20d1888cbe2908ddb3ca0640cc2a3d199ffff499
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td

  Log Message:
  -----------
  [mlir][tosa] Update the description of `rescale` and `variable` ops (#134815)

Updates the description to align with the specification. Also includes
some small cleanup to `sigmoid`, to avoid confusion.

Signed-off-by: Luke Hutton <luke.hutton at arm.com>


  Commit: ea7dd70b5326706141be2a768f2fd47ae71ee6a8
      https://github.com/llvm/llvm-project/commit/ea7dd70b5326706141be2a768f2fd47ae71ee6a8
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/FuncUnwinders.h
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/source/Symbol/CompactUnwindInfo.cpp
    M lldb/source/Symbol/DWARFCallFrameInfo.cpp
    M lldb/source/Symbol/FuncUnwinders.cpp
    M lldb/source/Symbol/UnwindPlan.cpp

  Log Message:
  -----------
  [lldb] Remove unused UnwindPlan functions (#134630)

`GetLSDAAddress` and `GetPersonalityRoutinePtrAddress` are unused and
they create a bit of a problem for discontinuous functions, because the
unwind plan for these consists of multiple eh_frame descriptors and (at
least in theory) each of them could have a different value for these
entities.

We could say we only support functions for which these are always the
same, or create some sort of a Address2LSDA lookup map, but I think it's
better to leave this question to someone who actually needs this.


  Commit: 08e080ee98832c2aec6f379b04f486bea18730cc
      https://github.com/llvm/llvm-project/commit/08e080ee98832c2aec6f379b04f486bea18730cc
  Author: Stefan Schmidt <thrimbor at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    A llvm/test/CodeGen/X86/pr134607.ll

  Log Message:
  -----------
  [X86][SSE] Don't emit SSE2 load instructions in SSE1-only mode (#134547)

This fixes a regression I traced back to
https://github.com/llvm/llvm-project/commit/8b43c1be23119c1024bed0a8ce392bc73727e2e2
/ https://github.com/llvm/llvm-project/pull/79000

The regression caused an SSE2 instruction, `movsd`, to be emitted as a
replacement for an SSE instruction, `movaps` despite the target
potentially not supporting this instruction, such as when building with
clang using `-march=pentium3`.

Fixes #134607


  Commit: 712c21336fa891f5b32254dd51b024178d61befb
      https://github.com/llvm/llvm-project/commit/712c21336fa891f5b32254dd51b024178d61befb
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
    A llvm/test/Transforms/LoopUnroll/AArch64/unrolling-multi-exit.ll

  Log Message:
  -----------
  [AArch64] Enable unrolling for small multi-exit loops (#131998)

It can be highly beneficial to unroll small, two-block search loops
that look for a value in an array. An example of this would be
something that uses std::find to find a value in libc++. Older
versions of std::find in the libstdc++ headers are manually unrolled
in the source code, but this might change in newer releases where
the compiler is expected to either vectorise or unroll itself.


  Commit: 53fa92dcad49466412a139eef223710bf5891213
      https://github.com/llvm/llvm-project/commit/53fa92dcad49466412a139eef223710bf5891213
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang/test/Integration/OpenMP/atomic-capture-complex.f90
    M llvm/include/llvm/Frontend/Atomic/Atomic.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/Atomic/Atomic.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [mlir][llvm][OpenMP] Hoist __atomic_load alloca (#132888)

Current implementation of `__atomic_compare_exchange` uses an alloca for
`__atomic_load`, leading to issues like
https://github.com/llvm/llvm-project/issues/120724. This PR hoists this
alloca to `AllocaIP`.


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


  Commit: 74f69c49fed894ba26b6174783e4c650d50344c5
      https://github.com/llvm/llvm-project/commit/74f69c49fed894ba26b6174783e4c650d50344c5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV v16f32/v16i32 nodes if the upper elements are not demanded (#134890)

Missed in #133923 - even without AVX512VL, we can replace VPERMV v16f32/v16i32 nodes with the AVX2 v8f32/v8i32 equivalents.


  Commit: 949bf518fcc04285f40aa96a1c123bf0141fafd4
      https://github.com/llvm/llvm-project/commit/949bf518fcc04285f40aa96a1c123bf0141fafd4
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M libclc/clc/lib/clspv/integer/clc_mul_hi.cl
    M libclc/generic/include/clc/misc/shuffle.h
    M libclc/generic/include/clc/misc/shuffle2.h
    M libclc/generic/lib/misc/shuffle.cl
    M libclc/generic/lib/misc/shuffle2.cl

  Log Message:
  -----------
  [libclc][NFC] Fix up inconsistent copyright headers

Some files were accidentally given two copyright headers. Another was
missing one. This commit also converts that file's dos line endings to
unix ones and reformats a comment.


  Commit: 2f6b06b2645810d72110cbfc1869c2d3b029dd2c
      https://github.com/llvm/llvm-project/commit/2f6b06b2645810d72110cbfc1869c2d3b029dd2c
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/PostRAHazardRecognizer.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/break-smem-soft-clauses.mir
    M llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
    M llvm/test/CodeGen/AMDGPU/hazard-flat-instruction-valu-check.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port PostRAHazardRecognizer to NPM (#130066)


  Commit: c80080ff7e105eb42d486ed473fa9c82fb518b0a
      https://github.com/llvm/llvm-project/commit/c80080ff7e105eb42d486ed473fa9c82fb518b0a
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    A llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll

  Log Message:
  -----------
  [AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128. (#134068)

When compiling with -msve-vector-bits=128 or vscale_range(1, 1) and when
the offsets allow it, we can pair SVE LDR/STR instructions into Neon
LDP/STP.

For example, given:
```cpp
#include <arm_sve.h>

void foo(double const *ldp, double *stp) {
  svbool_t pg = svptrue_b64();
  svfloat64_t ld1 = svld1_f64(pg, ldp);
  svfloat64_t ld2 = svld1_f64(pg, ldp+svcntd());
  svst1_f64(pg, stp, ld1);
  svst1_f64(pg, stp+svcntd(), ld2);
}
```

When compiled with `-msve-vector-bits=128`, we currently generate:
```gas
foo:
        ldr     z0, [x0]
        ldr     z1, [x0, #1, mul vl]
        str     z0, [x1]
        str     z1, [x1, #1, mul vl]
        ret
```

With this patch, we instead generate:
```gas
foo:
        ldp     q0, q1, [x0]
        stp     q0, q1, [x1]
        ret
```

This is an alternative, more targetted approach to #127500.


  Commit: 0de48de36ee3583f1b7da3d388307266839f2347
      https://github.com/llvm/llvm-project/commit/0de48de36ee3583f1b7da3d388307266839f2347
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Improve loop wrapper op verifiers (#134833)

This patch revisits op verifiers for `LoopWrapperInterface` operations
to improve consistency across operations and to properly cover some
previously misreported cases.

Checks that should be done for these kinds of operations are documented
in the interface description.


  Commit: 78c86b38b04bdabc76f631263ab0f4faf8698af6
      https://github.com/llvm/llvm-project/commit/78c86b38b04bdabc76f631263ab0f4faf8698af6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Avoid implicit integer conversion (#134983)

See discussion in https://github.com/llvm/llvm-project/pull/134672


  Commit: a6edaeb824f138a364f4818c4261eb27153a12ac
      https://github.com/llvm/llvm-project/commit/a6edaeb824f138a364f4818c4261eb27153a12ac
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [DebugInfo][TailCallElim] Use ret DILocation for return value selects (#134825)

In TailRecursionElimination we may insert a select before the return to
choose the return value if necessary; this select is effectively part of
the return statement, and so should use its DILocation.

Found using https://github.com/llvm/llvm-project/pull/107279.


  Commit: 2896bbe1488b628a27cdf893fc8bcc5febe128db
      https://github.com/llvm/llvm-project/commit/2896bbe1488b628a27cdf893fc8bcc5febe128db
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [X86] getFauxShuffleMask - use std::iota for insert_subvector shuffle mask population. NFC.


  Commit: 747214e59be67ec1088de2f9db5d46607bb59565
      https://github.com/llvm/llvm-project/commit/747214e59be67ec1088de2f9db5d46607bb59565
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [X86] getFauxShuffleMask - OR(BITCAST(SHUFFLE()),BITCAST(SHUFFLE())) patterns should return bitcasted source values (#134993)

Noticed while investigating #133947 regressions - if we peek through
bitcasts we can lose track of oneuse/combined nodes in shuffle combining

Currently the same codegen as combineX86ShufflesRecursively still peeks
through the bitcasts itself, but we will soon handle this consistently
as another part of #133947


  Commit: bc09c7405547fe56a896386b152b667878d2d8c2
      https://github.com/llvm/llvm-project/commit/bc09c7405547fe56a896386b152b667878d2d8c2
  Author: alex-t <alex-t at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
    M llvm/test/Transforms/FixIrreducible/basic.ll

  Log Message:
  -----------
  [AMDGPU] Fix for ControlFlowUtils reconnectPHIs. (#132954)

Description: reconnectPHIs must consider self-loops to avoid PHI income
pair that does not exists anymore.


  Commit: 258aa65197126fda5b3566734cd7d980343e332d
      https://github.com/llvm/llvm-project/commit/258aa65197126fda5b3566734cd7d980343e332d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  ValueTracking: Do not look at users of constants for ephemeral values (#134618)


  Commit: a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754
      https://github.com/llvm/llvm-project/commit/a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Core/Mangled.h
    M lldb/include/lldb/Core/RichManglingContext.h
    M lldb/include/lldb/Target/Language.h
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/RichManglingContext.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/Language/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/unittests/Core/CMakeLists.txt
    M lldb/unittests/Core/RichManglingContextTest.cpp
    M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp

  Log Message:
  -----------
  Revert "[LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies" (#134995)

Reverts llvm/llvm-project#132274

Broke a test on LLDB Widows on Arm:
https://lab.llvm.org/buildbot/#/builders/141/builds/7726
```
FAIL: test_dwarf (lldbsuite.test.lldbtest.TestExternCSymbols.test_dwarf)
<...>
    self.assertTrue(self.res.Succeeded(), msg + output)

AssertionError: False is not true : Command 'expression -- foo()' did not return successfully

Error output:

error: Couldn't look up symbols:

  int foo(void)

Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
```


  Commit: aff139777ed315ea4d06c8543b2110c3dd989907
      https://github.com/llvm/llvm-project/commit/aff139777ed315ea4d06c8543b2110c3dd989907
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    R llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll

  Log Message:
  -----------
  Revert "[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128." (#134997)

Reverts llvm/llvm-project#134068

Caused a stage 2 build failure:
https://lab.llvm.org/buildbot/#/builders/41/builds/6016

```
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o 
/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/include -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/include -mcpu=neoverse-512tvb -mllvm -scalable-vectorization=preferred -mllvm -treat-scalable-fixed-error-as-warning=false -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror=global-constructors -O3 -DNDEBUG -std=c++17 -UNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -c /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp
Opcode has unknown scale!
UNREACHABLE executed at ../llvm/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:4530!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/include -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/include -mcpu=neoverse-512tvb -mllvm -scalable-vectorization=preferred -mllvm -treat-scalable-fixed-error-as-warning=false -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror=global-constructors -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -c /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp'.
4.	Running pass 'AArch64 load / store optimization pass' on function '@"_ZNSt17_Function_handlerIFN4llvm8ExpectedISt8functionIFNS1_ISt10unique_ptrINS0_16CachedFileStreamESt14default_deleteIS4_EEEEjRKNS0_5TwineEEEEEjNS0_9StringRefESB_EZNS0_10localCacheESB_SB_SB_S2_IFvjSB_S3_INS0_12MemoryBufferES5_ISH_EEEEE3$_0E9_M_invokeERKSt9_Any_dataOjOSF_SB_"'
 #0 0x0000b6eae9b67bf0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x81c7bf0)
 #1 0x0000b6eae9b65aec llvm::sys::RunSignalHandlers() (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x81c5aec)
 #2 0x0000b6eae9acd5f4 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x0000f16c1aff28f8 (linux-vdso.so.1+0x8f8)
 #4 0x0000f16c1aacf1f0 __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #5 0x0000f16c1aa8a67c gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #6 0x0000f16c1aa77130 abort ./stdlib/abort.c:81:7
 #7 0x0000b6eae9ad6628 (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x8136628)
 #8 0x0000b6eae72e95a8 (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x59495a8)
 #9 0x0000b6eae74ca9a8 (anonymous namespace)::AArch64LoadStoreOpt::findMatchingInsn(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, (anonymous namespace)::LdStPairFlags&, unsigned int, bool) AArch64LoadStoreOptimizer.cpp:0:0
#10 0x0000b6eae74c85a8 (anonymous namespace)::AArch64LoadStoreOpt::tryToPairLdStInst(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>&) AArch64LoadStoreOptimizer.cpp:0:0
#11 0x0000b6eae74c624c (anonymous namespace)::AArch64LoadStoreOpt::optimizeBlock(llvm::MachineBasicBlock&, bool) AArch64LoadStoreOptimizer.cpp:0:0
#12 0x0000b6eae74c429c (anonymous namespace)::AArch64LoadStoreOpt::runOnMachineFunction(llvm::MachineFunction&) AArch64LoadStoreOptimizer.cpp:0:0
```


  Commit: e42f8609858f3e6ba004032a4750f0bcd5d466be
      https://github.com/llvm/llvm-project/commit/e42f8609858f3e6ba004032a4750f0bcd5d466be
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/cse.fir
    M flang/test/Fir/invalid.fir

  Log Message:
  -----------
  [flang][nfc] Support volatility in Fir ops (#134858)

Part two of merging #132486. Support volatility in fir ops.

* Introduce a new operation fir.volatile_cast, whose only purpose is to
add or take away the volatility of an SSA value's type. The types must
be otherwise identical, and any other type conversions must be handled
by fir.convert. fir.convert will give an error if the volatility of the
inputs does not match, such that all changes to volatility must be
handled explicitly through fir.volatile_cast.
* Add memory effects to ops that read from or write to memory. The
precedent for this comes from the LLVM dialect (feb7beaf70) where
llvm.load/store ops with the volatile attribute report read/write
effects to a generic memory resource. This change is similar in spirit
but different in two ways: the volatility of an operation is determined
by the type of its memref, not an attribute on the op, and the memory
effects of a load- or store-like operation on a volatile reference type
are reported against a particular memory resource,
`VolatileMemoryResource`. This is so MLIR optimizations are able to
reorder operations that are not volatile around operations that are,
which we believe more precisely models LLVM's volatile memory semantics.
@vzakhari suggested this in #132486 citing LangRef. See
https://llvm.org/docs/LangRef.html#volatile-memory-accesses

Changes needed to generate IR with volatile types are not included in
this change, so it should be non-functional, containing only the changes
to Fir ops and op utilities that will be needed once we enable lowering
to generate volatile types.


  Commit: 750da48b4aa52f317a4165cc6cf18acf5dd2a0a5
      https://github.com/llvm/llvm-project/commit/750da48b4aa52f317a4165cc6cf18acf5dd2a0a5
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    R libcxx/include/__cxx03/__algorithm/clamp.h
    M libcxx/include/__cxx03/__algorithm/count.h
    M libcxx/include/__cxx03/__algorithm/equal.h
    M libcxx/include/__cxx03/__algorithm/equal_range.h
    M libcxx/include/__cxx03/__algorithm/find.h
    M libcxx/include/__cxx03/__algorithm/find_end.h
    R libcxx/include/__cxx03/__algorithm/fold.h
    M libcxx/include/__cxx03/__algorithm/for_each.h
    R libcxx/include/__cxx03/__algorithm/for_each_n.h
    R libcxx/include/__cxx03/__algorithm/in_found_result.h
    R libcxx/include/__cxx03/__algorithm/in_fun_result.h
    R libcxx/include/__cxx03/__algorithm/in_in_out_result.h
    R libcxx/include/__cxx03/__algorithm/in_in_result.h
    R libcxx/include/__cxx03/__algorithm/in_out_out_result.h
    R libcxx/include/__cxx03/__algorithm/in_out_result.h
    M libcxx/include/__cxx03/__algorithm/includes.h
    M libcxx/include/__cxx03/__algorithm/is_permutation.h
    M libcxx/include/__cxx03/__algorithm/iterator_operations.h
    R libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
    M libcxx/include/__cxx03/__algorithm/lower_bound.h
    M libcxx/include/__cxx03/__algorithm/make_projected.h
    M libcxx/include/__cxx03/__algorithm/max.h
    M libcxx/include/__cxx03/__algorithm/min.h
    M libcxx/include/__cxx03/__algorithm/min_element.h
    R libcxx/include/__cxx03/__algorithm/min_max_result.h
    M libcxx/include/__cxx03/__algorithm/minmax.h
    M libcxx/include/__cxx03/__algorithm/minmax_element.h
    M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
    R libcxx/include/__cxx03/__algorithm/pstl.h
    R libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
    R libcxx/include/__cxx03/__algorithm/ranges_all_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_any_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
    R libcxx/include/__cxx03/__algorithm/ranges_clamp.h
    R libcxx/include/__cxx03/__algorithm/ranges_contains.h
    R libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_count.h
    R libcxx/include/__cxx03/__algorithm/ranges_count_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
    R libcxx/include/__cxx03/__algorithm/ranges_equal.h
    R libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
    R libcxx/include/__cxx03/__algorithm/ranges_fill.h
    R libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_find.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_end.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_last.h
    R libcxx/include/__cxx03/__algorithm/ranges_for_each.h
    R libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_generate.h
    R libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_includes.h
    R libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
    R libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
    R libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
    R libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
    R libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_max.h
    R libcxx/include/__cxx03/__algorithm/ranges_max_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_merge.h
    R libcxx/include/__cxx03/__algorithm/ranges_min.h
    R libcxx/include/__cxx03/__algorithm/ranges_min_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_minmax.h
    R libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
    R libcxx/include/__cxx03/__algorithm/ranges_move.h
    R libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
    R libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
    R libcxx/include/__cxx03/__algorithm/ranges_none_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
    R libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_partition.h
    R libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
    R libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
    R libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_reverse.h
    R libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_rotate.h
    R libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_sample.h
    R libcxx/include/__cxx03/__algorithm/ranges_search.h
    R libcxx/include/__cxx03/__algorithm/ranges_search_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_union.h
    R libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
    R libcxx/include/__cxx03/__algorithm/ranges_sort.h
    R libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
    R libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
    R libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
    R libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
    R libcxx/include/__cxx03/__algorithm/ranges_transform.h
    R libcxx/include/__cxx03/__algorithm/ranges_unique.h
    R libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
    R libcxx/include/__cxx03/__algorithm/sample.h
    M libcxx/include/__cxx03/__algorithm/search.h
    M libcxx/include/__cxx03/__algorithm/search_n.h
    M libcxx/include/__cxx03/__algorithm/set_difference.h
    M libcxx/include/__cxx03/__algorithm/set_intersection.h
    R libcxx/include/__cxx03/__algorithm/shift_left.h
    R libcxx/include/__cxx03/__algorithm/shift_right.h
    M libcxx/include/__cxx03/__algorithm/simd_utils.h
    M libcxx/include/__cxx03/__algorithm/sort.h
    M libcxx/include/__cxx03/__algorithm/unwrap_range.h
    M libcxx/include/__cxx03/__algorithm/upper_bound.h
    R libcxx/include/__cxx03/__atomic/atomic_ref.h
    R libcxx/include/__cxx03/__bit/bit_cast.h
    R libcxx/include/__cxx03/__bit/bit_ceil.h
    R libcxx/include/__cxx03/__bit/bit_floor.h
    R libcxx/include/__cxx03/__bit/bit_log2.h
    R libcxx/include/__cxx03/__bit/bit_width.h
    R libcxx/include/__cxx03/__bit/byteswap.h
    M libcxx/include/__cxx03/__bit/countl.h
    M libcxx/include/__cxx03/__bit/countr.h
    R libcxx/include/__cxx03/__bit/endian.h
    R libcxx/include/__cxx03/__bit/has_single_bit.h
    M libcxx/include/__cxx03/__bit/invert_if.h
    M libcxx/include/__cxx03/__bit/popcount.h
    M libcxx/include/__cxx03/__bit/rotate.h
    M libcxx/include/__cxx03/__bit_reference
    R libcxx/include/__cxx03/__charconv/chars_format.h
    R libcxx/include/__cxx03/__charconv/from_chars_integral.h
    R libcxx/include/__cxx03/__charconv/from_chars_result.h
    R libcxx/include/__cxx03/__charconv/tables.h
    R libcxx/include/__cxx03/__charconv/to_chars.h
    R libcxx/include/__cxx03/__charconv/to_chars_base_10.h
    R libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
    R libcxx/include/__cxx03/__charconv/to_chars_integral.h
    R libcxx/include/__cxx03/__charconv/to_chars_result.h
    R libcxx/include/__cxx03/__charconv/traits.h
    R libcxx/include/__cxx03/__chrono/calendar.h
    R libcxx/include/__cxx03/__chrono/concepts.h
    R libcxx/include/__cxx03/__chrono/convert_to_tm.h
    R libcxx/include/__cxx03/__chrono/day.h
    M libcxx/include/__cxx03/__chrono/duration.h
    R libcxx/include/__cxx03/__chrono/exception.h
    R libcxx/include/__cxx03/__chrono/file_clock.h
    R libcxx/include/__cxx03/__chrono/formatter.h
    R libcxx/include/__cxx03/__chrono/hh_mm_ss.h
    R libcxx/include/__cxx03/__chrono/leap_second.h
    R libcxx/include/__cxx03/__chrono/literals.h
    R libcxx/include/__cxx03/__chrono/local_info.h
    R libcxx/include/__cxx03/__chrono/month.h
    R libcxx/include/__cxx03/__chrono/month_weekday.h
    R libcxx/include/__cxx03/__chrono/monthday.h
    R libcxx/include/__cxx03/__chrono/ostream.h
    R libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
    R libcxx/include/__cxx03/__chrono/statically_widen.h
    R libcxx/include/__cxx03/__chrono/sys_info.h
    M libcxx/include/__cxx03/__chrono/time_point.h
    R libcxx/include/__cxx03/__chrono/time_zone.h
    R libcxx/include/__cxx03/__chrono/time_zone_link.h
    R libcxx/include/__cxx03/__chrono/tzdb.h
    R libcxx/include/__cxx03/__chrono/tzdb_list.h
    R libcxx/include/__cxx03/__chrono/weekday.h
    R libcxx/include/__cxx03/__chrono/year.h
    R libcxx/include/__cxx03/__chrono/year_month.h
    R libcxx/include/__cxx03/__chrono/year_month_day.h
    R libcxx/include/__cxx03/__chrono/year_month_weekday.h
    R libcxx/include/__cxx03/__chrono/zoned_time.h
    R libcxx/include/__cxx03/__compare/common_comparison_category.h
    R libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
    R libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
    R libcxx/include/__cxx03/__compare/compare_three_way.h
    R libcxx/include/__cxx03/__compare/compare_three_way_result.h
    R libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
    R libcxx/include/__cxx03/__compare/is_eq.h
    R libcxx/include/__cxx03/__compare/ordering.h
    R libcxx/include/__cxx03/__compare/partial_order.h
    R libcxx/include/__cxx03/__compare/strong_order.h
    R libcxx/include/__cxx03/__compare/synth_three_way.h
    R libcxx/include/__cxx03/__compare/three_way_comparable.h
    R libcxx/include/__cxx03/__compare/weak_order.h
    R libcxx/include/__cxx03/__concepts/arithmetic.h
    R libcxx/include/__cxx03/__concepts/assignable.h
    R libcxx/include/__cxx03/__concepts/boolean_testable.h
    R libcxx/include/__cxx03/__concepts/class_or_enum.h
    R libcxx/include/__cxx03/__concepts/common_reference_with.h
    R libcxx/include/__cxx03/__concepts/common_with.h
    R libcxx/include/__cxx03/__concepts/constructible.h
    R libcxx/include/__cxx03/__concepts/convertible_to.h
    R libcxx/include/__cxx03/__concepts/copyable.h
    R libcxx/include/__cxx03/__concepts/derived_from.h
    R libcxx/include/__cxx03/__concepts/destructible.h
    R libcxx/include/__cxx03/__concepts/different_from.h
    R libcxx/include/__cxx03/__concepts/equality_comparable.h
    R libcxx/include/__cxx03/__concepts/invocable.h
    R libcxx/include/__cxx03/__concepts/movable.h
    R libcxx/include/__cxx03/__concepts/predicate.h
    R libcxx/include/__cxx03/__concepts/regular.h
    R libcxx/include/__cxx03/__concepts/relation.h
    R libcxx/include/__cxx03/__concepts/same_as.h
    R libcxx/include/__cxx03/__concepts/semiregular.h
    R libcxx/include/__cxx03/__concepts/swappable.h
    R libcxx/include/__cxx03/__concepts/totally_ordered.h
    R libcxx/include/__cxx03/__coroutine/coroutine_handle.h
    R libcxx/include/__cxx03/__coroutine/coroutine_traits.h
    R libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
    R libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
    R libcxx/include/__cxx03/__expected/bad_expected_access.h
    R libcxx/include/__cxx03/__expected/expected.h
    R libcxx/include/__cxx03/__expected/unexpect.h
    R libcxx/include/__cxx03/__expected/unexpected.h
    R libcxx/include/__cxx03/__filesystem/copy_options.h
    R libcxx/include/__cxx03/__filesystem/directory_entry.h
    R libcxx/include/__cxx03/__filesystem/directory_iterator.h
    R libcxx/include/__cxx03/__filesystem/directory_options.h
    R libcxx/include/__cxx03/__filesystem/file_status.h
    R libcxx/include/__cxx03/__filesystem/file_time_type.h
    R libcxx/include/__cxx03/__filesystem/file_type.h
    R libcxx/include/__cxx03/__filesystem/filesystem_error.h
    R libcxx/include/__cxx03/__filesystem/operations.h
    R libcxx/include/__cxx03/__filesystem/path.h
    R libcxx/include/__cxx03/__filesystem/path_iterator.h
    R libcxx/include/__cxx03/__filesystem/perm_options.h
    R libcxx/include/__cxx03/__filesystem/perms.h
    R libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
    R libcxx/include/__cxx03/__filesystem/space_info.h
    R libcxx/include/__cxx03/__filesystem/u8path.h
    R libcxx/include/__cxx03/__format/buffer.h
    R libcxx/include/__cxx03/__format/concepts.h
    R libcxx/include/__cxx03/__format/container_adaptor.h
    R libcxx/include/__cxx03/__format/enable_insertable.h
    R libcxx/include/__cxx03/__format/escaped_output_table.h
    R libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
    R libcxx/include/__cxx03/__format/format_arg.h
    R libcxx/include/__cxx03/__format/format_arg_store.h
    R libcxx/include/__cxx03/__format/format_args.h
    R libcxx/include/__cxx03/__format/format_context.h
    R libcxx/include/__cxx03/__format/format_error.h
    R libcxx/include/__cxx03/__format/format_functions.h
    R libcxx/include/__cxx03/__format/format_parse_context.h
    R libcxx/include/__cxx03/__format/format_string.h
    R libcxx/include/__cxx03/__format/format_to_n_result.h
    R libcxx/include/__cxx03/__format/formatter.h
    R libcxx/include/__cxx03/__format/formatter_bool.h
    R libcxx/include/__cxx03/__format/formatter_char.h
    R libcxx/include/__cxx03/__format/formatter_floating_point.h
    R libcxx/include/__cxx03/__format/formatter_integer.h
    R libcxx/include/__cxx03/__format/formatter_integral.h
    R libcxx/include/__cxx03/__format/formatter_output.h
    R libcxx/include/__cxx03/__format/formatter_pointer.h
    R libcxx/include/__cxx03/__format/formatter_string.h
    R libcxx/include/__cxx03/__format/formatter_tuple.h
    R libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
    R libcxx/include/__cxx03/__format/parser_std_format_spec.h
    R libcxx/include/__cxx03/__format/range_default_formatter.h
    R libcxx/include/__cxx03/__format/range_formatter.h
    R libcxx/include/__cxx03/__format/unicode.h
    R libcxx/include/__cxx03/__format/width_estimation_table.h
    R libcxx/include/__cxx03/__format/write_escaped.h
    M libcxx/include/__cxx03/__functional/bind.h
    R libcxx/include/__cxx03/__functional/bind_back.h
    R libcxx/include/__cxx03/__functional/bind_front.h
    R libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
    R libcxx/include/__cxx03/__functional/compose.h
    R libcxx/include/__cxx03/__functional/default_searcher.h
    R libcxx/include/__cxx03/__functional/function.h
    R libcxx/include/__cxx03/__functional/invoke.h
    R libcxx/include/__cxx03/__functional/is_transparent.h
    M libcxx/include/__cxx03/__functional/mem_fn.h
    R libcxx/include/__cxx03/__functional/not_fn.h
    R libcxx/include/__cxx03/__functional/perfect_forward.h
    R libcxx/include/__cxx03/__functional/ranges_operations.h
    M libcxx/include/__cxx03/__functional/reference_wrapper.h
    M libcxx/include/__cxx03/__functional/weak_result_type.h
    R libcxx/include/__cxx03/__fwd/format.h
    R libcxx/include/__cxx03/__fwd/mdspan.h
    R libcxx/include/__cxx03/__fwd/memory_resource.h
    R libcxx/include/__cxx03/__fwd/span.h
    M libcxx/include/__cxx03/__fwd/string.h
    R libcxx/include/__cxx03/__fwd/subrange.h
    M libcxx/include/__cxx03/__hash_table
    M libcxx/include/__cxx03/__iterator/advance.h
    M libcxx/include/__cxx03/__iterator/bounded_iter.h
    R libcxx/include/__cxx03/__iterator/common_iterator.h
    R libcxx/include/__cxx03/__iterator/concepts.h
    R libcxx/include/__cxx03/__iterator/counted_iterator.h
    R libcxx/include/__cxx03/__iterator/data.h
    R libcxx/include/__cxx03/__iterator/default_sentinel.h
    M libcxx/include/__cxx03/__iterator/distance.h
    R libcxx/include/__cxx03/__iterator/empty.h
    R libcxx/include/__cxx03/__iterator/incrementable_traits.h
    R libcxx/include/__cxx03/__iterator/indirectly_comparable.h
    M libcxx/include/__cxx03/__iterator/insert_iterator.h
    M libcxx/include/__cxx03/__iterator/istream_iterator.h
    M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
    R libcxx/include/__cxx03/__iterator/iter_move.h
    R libcxx/include/__cxx03/__iterator/iter_swap.h
    M libcxx/include/__cxx03/__iterator/iterator_traits.h
    R libcxx/include/__cxx03/__iterator/iterator_with_data.h
    R libcxx/include/__cxx03/__iterator/mergeable.h
    M libcxx/include/__cxx03/__iterator/move_iterator.h
    R libcxx/include/__cxx03/__iterator/move_sentinel.h
    M libcxx/include/__cxx03/__iterator/next.h
    R libcxx/include/__cxx03/__iterator/permutable.h
    M libcxx/include/__cxx03/__iterator/prev.h
    R libcxx/include/__cxx03/__iterator/projected.h
    R libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
    R libcxx/include/__cxx03/__iterator/readable_traits.h
    R libcxx/include/__cxx03/__iterator/reverse_access.h
    M libcxx/include/__cxx03/__iterator/reverse_iterator.h
    R libcxx/include/__cxx03/__iterator/size.h
    R libcxx/include/__cxx03/__iterator/sortable.h
    R libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
    M libcxx/include/__cxx03/__iterator/wrap_iter.h
    R libcxx/include/__cxx03/__math/special_functions.h
    R libcxx/include/__cxx03/__mdspan/default_accessor.h
    R libcxx/include/__cxx03/__mdspan/extents.h
    R libcxx/include/__cxx03/__mdspan/layout_left.h
    R libcxx/include/__cxx03/__mdspan/layout_right.h
    R libcxx/include/__cxx03/__mdspan/layout_stride.h
    R libcxx/include/__cxx03/__mdspan/mdspan.h
    R libcxx/include/__cxx03/__memory/concepts.h
    R libcxx/include/__cxx03/__memory/inout_ptr.h
    R libcxx/include/__cxx03/__memory/out_ptr.h
    R libcxx/include/__cxx03/__memory/ranges_construct_at.h
    R libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__cxx03/__memory/shared_ptr.h
    M libcxx/include/__cxx03/__memory/unique_ptr.h
    R libcxx/include/__cxx03/__memory/uses_allocator_construction.h
    R libcxx/include/__cxx03/__memory_resource/memory_resource.h
    R libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
    R libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
    R libcxx/include/__cxx03/__memory_resource/pool_options.h
    R libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
    R libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
    M libcxx/include/__cxx03/__mutex/once_flag.h
    R libcxx/include/__cxx03/__node_handle
    R libcxx/include/__cxx03/__numeric/exclusive_scan.h
    R libcxx/include/__cxx03/__numeric/gcd_lcm.h
    R libcxx/include/__cxx03/__numeric/inclusive_scan.h
    R libcxx/include/__cxx03/__numeric/midpoint.h
    R libcxx/include/__cxx03/__numeric/pstl.h
    R libcxx/include/__cxx03/__numeric/reduce.h
    R libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
    R libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
    R libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
    R libcxx/include/__cxx03/__numeric/transform_reduce.h
    R libcxx/include/__cxx03/__ostream/print.h
    R libcxx/include/__cxx03/__pstl/backend.h
    R libcxx/include/__cxx03/__pstl/backend_fwd.h
    R libcxx/include/__cxx03/__pstl/backends/default.h
    R libcxx/include/__cxx03/__pstl/backends/libdispatch.h
    R libcxx/include/__cxx03/__pstl/backends/serial.h
    R libcxx/include/__cxx03/__pstl/backends/std_thread.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
    R libcxx/include/__cxx03/__pstl/dispatch.h
    R libcxx/include/__cxx03/__pstl/handle_exception.h
    M libcxx/include/__cxx03/__random/generate_canonical.h
    M libcxx/include/__cxx03/__random/seed_seq.h
    R libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
    R libcxx/include/__cxx03/__ranges/access.h
    R libcxx/include/__cxx03/__ranges/all.h
    R libcxx/include/__cxx03/__ranges/as_rvalue_view.h
    R libcxx/include/__cxx03/__ranges/chunk_by_view.h
    R libcxx/include/__cxx03/__ranges/common_view.h
    R libcxx/include/__cxx03/__ranges/concepts.h
    R libcxx/include/__cxx03/__ranges/container_compatible_range.h
    R libcxx/include/__cxx03/__ranges/counted.h
    R libcxx/include/__cxx03/__ranges/dangling.h
    R libcxx/include/__cxx03/__ranges/data.h
    R libcxx/include/__cxx03/__ranges/drop_view.h
    R libcxx/include/__cxx03/__ranges/drop_while_view.h
    R libcxx/include/__cxx03/__ranges/elements_view.h
    R libcxx/include/__cxx03/__ranges/empty.h
    R libcxx/include/__cxx03/__ranges/empty_view.h
    R libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
    R libcxx/include/__cxx03/__ranges/enable_view.h
    R libcxx/include/__cxx03/__ranges/filter_view.h
    R libcxx/include/__cxx03/__ranges/from_range.h
    R libcxx/include/__cxx03/__ranges/iota_view.h
    R libcxx/include/__cxx03/__ranges/istream_view.h
    R libcxx/include/__cxx03/__ranges/join_view.h
    R libcxx/include/__cxx03/__ranges/lazy_split_view.h
    R libcxx/include/__cxx03/__ranges/movable_box.h
    R libcxx/include/__cxx03/__ranges/non_propagating_cache.h
    R libcxx/include/__cxx03/__ranges/owning_view.h
    R libcxx/include/__cxx03/__ranges/range_adaptor.h
    R libcxx/include/__cxx03/__ranges/rbegin.h
    R libcxx/include/__cxx03/__ranges/ref_view.h
    R libcxx/include/__cxx03/__ranges/rend.h
    R libcxx/include/__cxx03/__ranges/repeat_view.h
    R libcxx/include/__cxx03/__ranges/reverse_view.h
    R libcxx/include/__cxx03/__ranges/single_view.h
    R libcxx/include/__cxx03/__ranges/size.h
    R libcxx/include/__cxx03/__ranges/split_view.h
    R libcxx/include/__cxx03/__ranges/subrange.h
    R libcxx/include/__cxx03/__ranges/take_view.h
    R libcxx/include/__cxx03/__ranges/take_while_view.h
    R libcxx/include/__cxx03/__ranges/to.h
    R libcxx/include/__cxx03/__ranges/transform_view.h
    R libcxx/include/__cxx03/__ranges/view_interface.h
    R libcxx/include/__cxx03/__ranges/views.h
    R libcxx/include/__cxx03/__ranges/zip_view.h
    R libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
    R libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
    R libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
    R libcxx/include/__cxx03/__stop_token/stop_callback.h
    R libcxx/include/__cxx03/__stop_token/stop_source.h
    R libcxx/include/__cxx03/__stop_token/stop_state.h
    R libcxx/include/__cxx03/__stop_token/stop_token.h
    M libcxx/include/__cxx03/__string/char_traits.h
    M libcxx/include/__cxx03/__system_error/error_category.h
    M libcxx/include/__cxx03/__system_error/error_code.h
    M libcxx/include/__cxx03/__system_error/error_condition.h
    R libcxx/include/__cxx03/__thread/formatter.h
    M libcxx/include/__cxx03/__thread/id.h
    R libcxx/include/__cxx03/__thread/jthread.h
    M libcxx/include/__cxx03/__thread/thread.h
    M libcxx/include/__cxx03/__tree
    R libcxx/include/__cxx03/__tuple/ignore.h
    R libcxx/include/__cxx03/__type_traits/common_reference.h
    R libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
    R libcxx/include/__cxx03/__type_traits/is_aggregate.h
    R libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
    M libcxx/include/__cxx03/__type_traits/result_of.h
    R libcxx/include/__cxx03/__utility/as_const.h
    R libcxx/include/__cxx03/__utility/cmp.h
    M libcxx/include/__cxx03/__utility/exception_guard.h
    R libcxx/include/__cxx03/__utility/exchange.h
    R libcxx/include/__cxx03/__utility/forward_like.h
    R libcxx/include/__cxx03/__utility/in_place.h
    M libcxx/include/__cxx03/__utility/pair.h
    R libcxx/include/__cxx03/__utility/to_underlying.h
    M libcxx/include/__cxx03/algorithm
    R libcxx/include/__cxx03/any
    M libcxx/include/__cxx03/array
    M libcxx/include/__cxx03/atomic
    R libcxx/include/__cxx03/barrier
    R libcxx/include/__cxx03/bit
    M libcxx/include/__cxx03/bitset
    R libcxx/include/__cxx03/charconv
    M libcxx/include/__cxx03/chrono
    M libcxx/include/__cxx03/cmath
    M libcxx/include/__cxx03/codecvt
    R libcxx/include/__cxx03/compare
    R libcxx/include/__cxx03/concepts
    M libcxx/include/__cxx03/condition_variable
    R libcxx/include/__cxx03/coroutine
    M libcxx/include/__cxx03/deque
    R libcxx/include/__cxx03/execution
    R libcxx/include/__cxx03/expected
    R libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
    R libcxx/include/__cxx03/experimental/__simd/declaration.h
    R libcxx/include/__cxx03/experimental/__simd/reference.h
    R libcxx/include/__cxx03/experimental/__simd/scalar.h
    R libcxx/include/__cxx03/experimental/__simd/simd.h
    R libcxx/include/__cxx03/experimental/__simd/simd_mask.h
    R libcxx/include/__cxx03/experimental/__simd/traits.h
    R libcxx/include/__cxx03/experimental/__simd/utility.h
    R libcxx/include/__cxx03/experimental/__simd/vec_ext.h
    R libcxx/include/__cxx03/experimental/iterator
    R libcxx/include/__cxx03/experimental/memory
    R libcxx/include/__cxx03/experimental/propagate_const
    R libcxx/include/__cxx03/experimental/simd
    R libcxx/include/__cxx03/experimental/type_traits
    M libcxx/include/__cxx03/experimental/utility
    M libcxx/include/__cxx03/ext/hash_map
    M libcxx/include/__cxx03/ext/hash_set
    R libcxx/include/__cxx03/filesystem
    R libcxx/include/__cxx03/format
    M libcxx/include/__cxx03/forward_list
    M libcxx/include/__cxx03/fstream
    M libcxx/include/__cxx03/functional
    R libcxx/include/__cxx03/initializer_list
    M libcxx/include/__cxx03/ios
    M libcxx/include/__cxx03/istream
    M libcxx/include/__cxx03/iterator
    R libcxx/include/__cxx03/latch
    M libcxx/include/__cxx03/list
    M libcxx/include/__cxx03/locale
    M libcxx/include/__cxx03/map
    R libcxx/include/__cxx03/mdspan
    M libcxx/include/__cxx03/memory
    R libcxx/include/__cxx03/memory_resource
    M libcxx/include/__cxx03/mutex
    R libcxx/include/__cxx03/numbers
    M libcxx/include/__cxx03/numeric
    R libcxx/include/__cxx03/optional
    M libcxx/include/__cxx03/ostream
    R libcxx/include/__cxx03/print
    M libcxx/include/__cxx03/queue
    M libcxx/include/__cxx03/random
    R libcxx/include/__cxx03/ranges
    M libcxx/include/__cxx03/regex
    R libcxx/include/__cxx03/scoped_allocator
    R libcxx/include/__cxx03/semaphore
    M libcxx/include/__cxx03/set
    R libcxx/include/__cxx03/shared_mutex
    R libcxx/include/__cxx03/source_location
    R libcxx/include/__cxx03/span
    M libcxx/include/__cxx03/stack
    R libcxx/include/__cxx03/stop_token
    M libcxx/include/__cxx03/string
    M libcxx/include/__cxx03/string_view
    R libcxx/include/__cxx03/syncstream
    M libcxx/include/__cxx03/system_error
    M libcxx/include/__cxx03/thread
    R libcxx/include/__cxx03/tuple
    M libcxx/include/__cxx03/type_traits
    M libcxx/include/__cxx03/typeindex
    M libcxx/include/__cxx03/unordered_map
    M libcxx/include/__cxx03/unordered_set
    M libcxx/include/__cxx03/utility
    M libcxx/include/__cxx03/valarray
    R libcxx/include/__cxx03/variant
    M libcxx/include/__cxx03/vector
    M libcxx/include/any
    M libcxx/include/barrier
    M libcxx/include/bit
    M libcxx/include/charconv
    M libcxx/include/compare
    M libcxx/include/concepts
    M libcxx/include/coroutine
    M libcxx/include/execution
    M libcxx/include/expected
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/filesystem
    M libcxx/include/format
    M libcxx/include/initializer_list
    M libcxx/include/latch
    M libcxx/include/mdspan
    M libcxx/include/memory_resource
    M libcxx/include/numbers
    M libcxx/include/optional
    M libcxx/include/print
    M libcxx/include/ranges
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/shared_mutex
    M libcxx/include/source_location
    M libcxx/include/span
    M libcxx/include/stop_token
    M libcxx/include/syncstream
    M libcxx/include/tuple
    M libcxx/include/variant

  Log Message:
  -----------
  [libc++][C++03] Remove headers which don't provide anything (#134044)

This patch removes all of the frozen headers which don't provide
anything. Basically any header that's C++11-or-later is removed from the
frozen headers.

This is part of
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.


  Commit: 6e7c40b83de8290d081bcd72b1c57e30aeb28989
      https://github.com/llvm/llvm-project/commit/6e7c40b83de8290d081bcd72b1c57e30aeb28989
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    A clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
    A clang/test/CIR/CodeGenOpenACC/parallel.c
    A clang/test/CIR/CodeGenOpenACC/serial.c

  Log Message:
  -----------
  [OpenACC][CIR] Initial patch to do OpenACC->IR lowering (#134936)

This patch adds some lowering code for Compute Constructs, plus the
infrastructure to someday do clauses. Doing this requires adding the
dialect to the CIRGenerator.

This patch does not however implement/correctly initialize lowering from
OpenACC-Dialect to anything lower however.


  Commit: d54c28b9c1396fa92d9347ac1135da7907121cb8
      https://github.com/llvm/llvm-project/commit/d54c28b9c1396fa92d9347ac1135da7907121cb8
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip

  Log Message:
  -----------
  [HIP] use offload wrapper for non-device-only non-rdc (#132869)

Currently HIP still uses offload bundler for non-rdc mode for the new
offload driver.

This patch switches to use offload wrapper for non-device-only non-rdc
mode when new offload driver is enabled.

This makes the rdc and non-rdc compilation more consistent and speeds up
compilation since the offload wrapper supports parallel compilation for
different GPU arch's.

It is implemented by adding a linker wrapper action for each assemble
action of input file. Linker wrapper action differentiates this special
type of work vs normal linker wrapper work by the fle type. This type of
work results in object instead of image. The linker wrapper adds "-r"
for it and only includes the object file as input, not the host
libraries.

For device-only non-RDC mode, the new driver keeps the original
behavior.


  Commit: 4f64da14953a998d3f6571d924116e160560c647
      https://github.com/llvm/llvm-project/commit/4f64da14953a998d3f6571d924116e160560c647
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [gn build] Port 750da48b4aa5

The .h removals was done by the sync script. I manually cleaned up
the remaining removals based on the output of

    git show 750da48b4aa52f libcxx/include/CMakeLists.txt | rg '^- ' | rg -v '\.'


  Commit: e24c9e7a0c61ed49e79433d405cb5157483ce691
      https://github.com/llvm/llvm-project/commit/e24c9e7a0c61ed49e79433d405cb5157483ce691
  Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [IR] improve hashing quality for ValueInfo (#132917)

The current hashing quality for `ValueInfo` is poor because it uses
pointers as the hash value, which can negatively impact performance in
various places that use a `DenseSet`/`Map` of `ValueInfo`. In one
observed case, `ModuleSummaryIndex::propagateAttributes()` was taking
about 25 minutes to complete on a ThinLTO application. Profiling
revealed that the majority of this time was spent operating on the
`MarkedNonReadWriteOnly` set.

With the improved hashing, the execution time for `propagateAttributes`
is dramatically reduced to less than 10 seconds.


  Commit: d99cdd7fba3cf48e2e2ca976b1747ee7b2e89625
      https://github.com/llvm/llvm-project/commit/d99cdd7fba3cf48e2e2ca976b1747ee7b2e89625
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h

  Log Message:
  -----------
  MachineRegisterInfo: Remove trailing whitespace


  Commit: e3f5a1bfc58b5c8db8ff8ac8390e790c7a396d4a
      https://github.com/llvm/llvm-project/commit/e3f5a1bfc58b5c8db8ff8ac8390e790c7a396d4a
  Author: Vy Nguyen <vyng at google.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Core/Telemetry.h

  Log Message:
  -----------
  [LLDB][NFC]Also includes the error in log msg. (#134922)

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: 54cdc758571731e2b8e6369cc84bbc27f1c1db59
      https://github.com/llvm/llvm-project/commit/54cdc758571731e2b8e6369cc84bbc27f1c1db59
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/ROCm.h
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/hip-sanitize-options.hip

  Log Message:
  -----------
  clang/AMDGPU: Stop looking for hip.bc in device libs (#134801)

This has been an empty library since January 2023


  Commit: ad9f6d3ceef676093add49ed7e530171fd9b72d6
      https://github.com/llvm/llvm-project/commit/ad9f6d3ceef676093add49ed7e530171fd9b72d6
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M offload/test/offloading/gpupgo/pgo1.c
    M offload/test/offloading/gpupgo/pgo2.c

  Log Message:
  -----------
  [PGO][Offload] Use %profdata in PGO tests (#135015)

So that the wrong llvm-profdata is not picked up from PATH.


  Commit: fb73086dd2d359459888068e2b088032fc242111
      https://github.com/llvm/llvm-project/commit/fb73086dd2d359459888068e2b088032fc242111
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/cse.fir
    M flang/test/Fir/invalid.fir

  Log Message:
  -----------
  Revert "[flang][nfc] Support volatility in Fir ops" (#135034)

Reverts llvm/llvm-project#134858

Fails to build when shared libraries are enabled:
https://lab.llvm.org/buildbot/#/builders/80/builds/12361
```
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libFIRDialect.so.21.0git -o lib/libFIRDialect.so.21.0git tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRAttr.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FirAliasTagOpInterface.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FortranVariableInterface.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/Inliner.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:"  lib/libCUFAttrs.so.21.0git  lib/libFIRDialectSupport.so.21.0git  lib/libLLVMAsmPrinter.so.21.0git  lib/libMLIRBuiltinToLLVMIRTranslation.so.21.0git  lib/libMLIROpenMPToLLVM.so.21.0git  lib/libMLIRLLVMToLLVMIRTranslation.so.21.0git  lib/libMLIRFuncToLLVM.so.21.0git  lib/libMLIRArithToLLVM.so.21.0git  lib/libMLIRArithAttrToLLVMConversion.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRControlFlowToLLVM.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefToLLVM.so.21.0git  lib/libMLIRLLVMCommonConversion.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIROpenMPDialect.so.21.0git  lib/libMLIROpenACCMPCommon.so.21.0git  lib/libMLIRTargetLLVMIRExport.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRLLVMIRTransforms.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRUBDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRSubsetOpInterface.so.21.0git  lib/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libLLVMFrontendOpenMP.so.21.0git  lib/libLLVMTransformUtils.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMRemarks.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libLLVMTargetParser.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib && :
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::CharBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir12CharBoxValue4dumpEv[_ZNK3fir12CharBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::CharBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::PolymorphicValue::dump() const':
FIROps.cpp:(.text._ZNK3fir16PolymorphicValue4dumpEv[_ZNK3fir16PolymorphicValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::PolymorphicValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ArrayBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir13ArrayBoxValue4dumpEv[_ZNK3fir13ArrayBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ArrayBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::CharArrayBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir17CharArrayBoxValue4dumpEv[_ZNK3fir17CharArrayBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::CharArrayBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ProcBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir12ProcBoxValue4dumpEv[_ZNK3fir12ProcBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ProcBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::BoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir8BoxValue4dumpEv[_ZNK3fir8BoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::BoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::MutableBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir15MutableBoxValue4dumpEv[_ZNK3fir15MutableBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::MutableBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ExtendedValue::dump() const':
FIROps.cpp:(.text._ZNK3fir13ExtendedValue4dumpEv[_ZNK3fir13ExtendedValue4dumpEv]+0x18): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ExtendedValue const&)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```


  Commit: 076318bd78f5ed338350841075316a75d89ecd9b
      https://github.com/llvm/llvm-project/commit/076318bd78f5ed338350841075316a75d89ecd9b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/reordered-loads.ll

  Log Message:
  -----------
  [SLP]Use proper order when calculating costs for geps/extracts to correctly identify profitability

Need to reorder properly the scalars, when evaluating the costs for the
external uses/geps to prevent differences in the calculating of the
profitability costs, used to choose between gather/compressed loads.

Fixes https://github.com/llvm/llvm-project/pull/132099#issuecomment-2789627454


  Commit: 5083e80c14a5c1f0ab40b5df95771ebbdda1adb2
      https://github.com/llvm/llvm-project/commit/5083e80c14a5c1f0ab40b5df95771ebbdda1adb2
  Author: ivangarcia44 <36650061+ivangarcia44 at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir

  Log Message:
  -----------
  Folding extract_strided_metadata input into reinterpret_cast (#134845)

We can always fold the input of a extract_strided_metadata operator to
the input of a reinterpret_cast operator, because they point to the same
memory. Note that the reinterpret_cast does not use the layout of its
input memref, only its base memory pointer which is the same as the base
pointer returned by the extract_strided_metadata operator and the base
pointer of the extract_strided_metadata memref input.

Operations like expand_shape, collapse_shape, and subview are lowered to
a pair of extract_strided_metadata and reinterpret_cast like this:
      
%base_buffer, %offset, %sizes:2, %strides:2 =
memref.extract_strided_metadata %input_memref :
memref<ID1x...xIDNxBaseType> -> memref<f32>, index, index, index, index,
index

%reinterpret_cast = memref.reinterpret_cast %base_buffer to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] : memref<f32> to
memref<OD1x...xODNxBaseType >

In many cases the input of the extract_strided_metadata input can be
passed directly into the input of the reinterpret_cast operation like
this (see how %base_buffer is replaced by %input_memref in the
reinterpret_cast above and the input type is updated):

%base_buffer, %offset, %sizes:2, %strides:2 =
memref.extract_strided_metadata %input_memref :
memref<ID1x...xIDNxBaseType> -> memref<f32>, index, index, index, index,
index
%reinterpret_cast = memref.reinterpret_cast %input_memref to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] :
memref<ID1x...xIDNxBaseType> to memref<OD1x...xODNxBaseType >

When dealing with static dimensions, the extract_strided_metatdata will
become deadcode and we end up only with a reinterpret_cast:

%reinterpret_cast = memref.reinterpret_cast %input_memref to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] :
memref<ID1x...xIDNxBaseType> to memref<OD1x...xODNxBaseType >

Note that reinterpret_cast only reads the base memory pointer from the
input memref (%input_memref above), which is equivalent to the
%base_buffer returned by the extract_strided_metadata operation. Hence
it is legal always to use the extract_strided_metadata input memref
directly in the reinterpret_cast. Note that since this is a pointer,
this operation is legal even when the base pointer values are modified
between the operation pair.

@matthias-springer 
@joker-eph 
@sahas3
@Hanumanth04
@dixinzhou
@rafaelubalmw

---------

Co-authored-by: Ivan Garcia <igarcia at vdi-ah2ddp-178.dhcp.mathworks.com>


  Commit: b0338c3d6c6d9787232e07ceff56ef161c357602
      https://github.com/llvm/llvm-project/commit/b0338c3d6c6d9787232e07ceff56ef161c357602
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M libclc/clc/include/clc/integer/gentype.inc
    M libclc/clc/include/clc/math/gentype.inc
    A libclc/clc/include/clc/misc/clc_shuffle.h
    A libclc/clc/include/clc/misc/clc_shuffle2.h
    A libclc/clc/include/clc/misc/shuffle2_decl.inc
    A libclc/clc/include/clc/misc/shuffle2_def.inc
    A libclc/clc/include/clc/misc/shuffle_decl.inc
    A libclc/clc/include/clc/misc/shuffle_def.inc
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/misc/clc_shuffle.cl
    A libclc/clc/lib/generic/misc/clc_shuffle2.cl
    M libclc/generic/include/clc/misc/shuffle.h
    M libclc/generic/lib/misc/shuffle.cl
    M libclc/generic/lib/misc/shuffle2.cl

  Log Message:
  -----------
  [libclc] Move shuffle/shuffle2 to the CLC library (#135000)

This commit moves the shuffle and shuffle2 builtins to the CLC library.
In so doing it makes the headers simpler and re-usable for other builtin
layers to hook into the CLC functions, if they wish.

An additional gentype utility has been made available, which provides a
consistent vector-size-or-1 macro for use.

The existing __CLC_VECSIZE is defined but empty which is useful in
certain applications, such as in concatenation with a type to make a
correctly sized scalar or vector type. However, this isn't usable in the
same preprocessor lines when wanting to check for specific vector sizes,
as e.g., '__CLC_VECSIZE == 2' resolves to '== 2' which is invalid. In
local testing this is also useful for the geometric builtins which are
only available for scalar types and vector types of 2, 3, or 4 elements.

No codegen changes are observed, except the internal shuffle/shuffle2
utility functions are no longer made publicly available.


  Commit: b010554d2d1fbe19091b2b3996e0477b70fcd84b
      https://github.com/llvm/llvm-project/commit/b010554d2d1fbe19091b2b3996e0477b70fcd84b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [IR] Reduce use of getCalledFunction in Verifier. NFCI. (#134978)

This is mostly just a simplification. getCalledFunction is a best-effort
thing so the verifier should not be relying on it in most cases, except
for intrinsic calls where we are guaranteed that the called function is
known, but most of those cases can be handled with
CallBase::getIntrinsicID instead.

---------

Co-authored-by: Tim Gymnich <tim at gymni.ch>


  Commit: 68ee56d15020b4fa7f3c5443b4be6504481957d4
      https://github.com/llvm/llvm-project/commit/68ee56d15020b4fa7f3c5443b4be6504481957d4
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/Basic/Targets/SPIR.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [clang][OpenMP][SPIR-V] Fix addrspace of global constants (#134399)

SPIR-V has strict address space rules, constant globals cannot be in the
default address space.

The OMPIRBuilder change was required for lit tests to pass, we were
missing an addrspacecast.

---------

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: 9344b2196cbc36cdc577314bbb2b889606ba6820
      https://github.com/llvm/llvm-project/commit/9344b2196cbc36cdc577314bbb2b889606ba6820
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    A llvm/test/Transforms/Inline/X86/inline-landing-pad.ll

  Log Message:
  -----------
  [DebugInfo][Inlining] Propagate inlined `resume` source loc to new br (#134826)

As part of inlining an invoke instruction, we may replace an inlined
resume instruction with a simple branch to the landing pad block. When
this happens, we should also propagate the resume's DILocation to this
branch, which this patch enables.

Found using https://github.com/llvm/llvm-project/pull/107279.


  Commit: a00a61d59bf1c1f142c8e08b74a0f26991122f7a
      https://github.com/llvm/llvm-project/commit/a00a61d59bf1c1f142c8e08b74a0f26991122f7a
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    M mlir/test/mlir-tblgen/attr-or-type-format.mlir

  Log Message:
  -----------
  [mlir][IR] Improve error message when parsing incorrect type (#134984)

Improve error messages when parsing an incorrect type.

Before:
```
invalid kind of type specified
```

After:
```
invalid kind of type specified: expected builtin.tensor, but found 'tensor<*xi32>'
```

This error message is produced when a certain operand/result type is
expected according to an op's TableGen definition, but a different type
is parsed. Type constraints (which may have nice error messages) are
checked after parsing a type. If an incorrect type is parsed, we never
get to the point of printing type constraint error messages. This may
discourage users from specifying C++ classes with type constraints.
(Explicitly specifying C++ classes is beneficial because the
auto-generated C++ code will have richer type information; explicit
casts are unnecessary, etc.) See #134981 for an example where specifying
additional type information with type constraints (e.g.,
`LLVM_AnyVector`) lead to worse error messages.

Note: In order to generate a better error message, the parser must
retrieve a type's name from the C++ class. TableGen-generated type
classes always have a `name` field, but hand-written C++ type classes
may not. The `HasStaticName` template was copied from
`DialectImplementation.h` (`HasStaticDialectName`).


  Commit: 5039bf4e26f07f9082e42374a342b3f52236e3fc
      https://github.com/llvm/llvm-project/commit/5039bf4e26f07f9082e42374a342b3f52236e3fc
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    A llvm/test/Transforms/Inline/X86/inline-simplified-branch-dbg-loc.ll

  Log Message:
  -----------
  [DebugInfo][Inline] Propagate source locs when simplifying cond branches (#134827)

During inlining, we may opportunistically simplify conditional branches
(incl. switches) to unconditional branches if, after inlining, their
destination is fixed. While we do this, we should propagate any
DILocation attached to the original branch to the simplified branch,
which this patch enables.

Found using https://github.com/llvm/llvm-project/pull/107279.


  Commit: 94f6f0334d13d6090c7c31387e50358d5b244313
      https://github.com/llvm/llvm-project/commit/94f6f0334d13d6090c7c31387e50358d5b244313
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/eq-of-parts.ll
    M llvm/test/Transforms/InstCombine/onehot_merge.ll

  Log Message:
  -----------
  [InstCombine] handle trunc to i1 in foldLogOpOfMaskedICmps. (#128861)

proof: https://alive2.llvm.org/ce/z/pu8WmX

fixes #128778


  Commit: c4667c5aa6edbf03bc56c104e52da9b6ef1eb3a1
      https://github.com/llvm/llvm-project/commit/c4667c5aa6edbf03bc56c104e52da9b6ef1eb3a1
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    A llvm/test/Transforms/Reassociate/debugloc-factoring-add.ll

  Log Message:
  -----------
  [DebugInfo][Reassociate] Propagate source locs when factoring add->mul (#134829)

As part of reassociating add instructions, we may factorize some of the
adds and produce a mul instruction; this patch propagates the source
location of the reassociated tree of instructions to the new mul.

Found using https://github.com/llvm/llvm-project/pull/107279.


  Commit: b6f4ec72f90dc31b0d8665ed59ce34844858dd5a
      https://github.com/llvm/llvm-project/commit/b6f4ec72f90dc31b0d8665ed59ce34844858dd5a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/Delta.cpp

  Log Message:
  -----------
  llvm-reduce: Add scope braces (#135025)


  Commit: 1e9f46c1b34cce7df4f2b4c392ccb0a540d7a6a6
      https://github.com/llvm/llvm-project/commit/1e9f46c1b34cce7df4f2b4c392ccb0a540d7a6a6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp

  Log Message:
  -----------
  llvm-reduce: Fix taking wrong error before exit (#135020)


  Commit: 840b366d47115ecf2f7034721c13576e6f14cd82
      https://github.com/llvm/llvm-project/commit/840b366d47115ecf2f7034721c13576e6f14cd82
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h

  Log Message:
  -----------
  CodeGen: Remove redundant arguments to defusechain_instr_iterator (#135023)

ByOperand must be false, this is implied by the iterator type.
The instr_iterator cases are a separate implementation from the single
operand defusechain_iterator.

Additionally ByInstr and ByBundle are mutually exclusive.


  Commit: 2a7f12e37b450e24869c0e82b39a4894d69b8d3e
      https://github.com/llvm/llvm-project/commit/2a7f12e37b450e24869c0e82b39a4894d69b8d3e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h

  Log Message:
  -----------
  CodeGen: Trim redundant template argument from defusechain_iterator (#135024)

Only one of ByOperand, ByInstr, or ByBundle should be true. Replace
ByBundle with !ByInstr, and assert that both are not used.


  Commit: 751c3f51eb65b493bf2fc2c6b2788f89e16a1fbe
      https://github.com/llvm/llvm-project/commit/751c3f51eb65b493bf2fc2c6b2788f89e16a1fbe
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir

  Log Message:
  -----------
  [mlir][tosa] Update TileOp infer shape (#134732)

update to use getConstShapeValues in TileOp's shape inference

Signed-off-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Tai Ly <tai.ly at arm.com>


  Commit: 543e5f5842fe576bb8752f04345b2cc995e5bb50
      https://github.com/llvm/llvm-project/commit/543e5f5842fe576bb8752f04345b2cc995e5bb50
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/SemaCXX/align_value.cpp
    M clang/test/SemaCXX/alloc-align-attr.cpp
    M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp

  Log Message:
  -----------
  Fix crash with align_value diagnostic reporting (#135013)

We were passing the address of a local variable to a call to Diag()
which then tried to use the object after its lifetime ended, resulting
in crashes. We no longer pass the temporary object any longer.

Fixes #26612


  Commit: c0480738cb3f4b2db47b77f5b18f9819cb995373
      https://github.com/llvm/llvm-project/commit/c0480738cb3f4b2db47b77f5b18f9819cb995373
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/pointer-overflow.c

  Log Message:
  -----------
  [Clang][CodeGen] Respect -fwrapv-pointer when emitting struct GEPs (#134269)

This patch turns off inbounds/nuw flags for member accesses when
`-fwrapv-pointer` is set.

Closes https://github.com/llvm/llvm-project/issues/132449.

It is required by https://github.com/llvm/llvm-project/pull/130734.


  Commit: f0131c327ea1432ff45f385aac28fe5d57005244
      https://github.com/llvm/llvm-project/commit/f0131c327ea1432ff45f385aac28fe5d57005244
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/Delta.cpp

  Log Message:
  -----------
  llvm-reduce: Avoid reallocating per chunk iteration (#135029)


  Commit: 0eb560a4dee05a55781f44c60c8164aef3bcf04c
      https://github.com/llvm/llvm-project/commit/0eb560a4dee05a55781f44c60c8164aef3bcf04c
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
    A llvm/test/Transforms/Coroutines/coro-early-twice.ll

  Log Message:
  -----------
  [Coroutines] Don't assert if coro-early runs more than once (#134854)

The pass may run more than once during ThinLTO for example (see bug).
Maybe that means those pass pipelines aren't optimal, but the pass
should be resilient against that.

Fixes #134054


  Commit: 40f9bb9e250d5762ee9cedabc7b7704c4cccddde
      https://github.com/llvm/llvm-project/commit/40f9bb9e250d5762ee9cedabc7b7704c4cccddde
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll
    M llvm/test/Assembler/DIDefaultTemplateParam.ll
    M llvm/test/Assembler/metadata-use-uselistorder.ll
    M llvm/test/Bitcode/dbg-record-roundtrip.ll
    R llvm/test/CodeGen/AArch64/fast-isel-branch-uncond-debug.ll
    M llvm/test/tools/llvm-reduce/debug-metadata-verifier.ll
    R llvm/test/tools/llvm-reduce/remove-args-dbg-intrinsics.ll
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/tools/llvm-reduce/llvm-reduce.cpp
    M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
    M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Eliminate another debug-info variation flag (#133917)

The "preserve input debug-info format" flag allowed some tooling to opt
into not seeing the new debug records yet, and to not autoupgrade. This
was good at the time, but un-necessary now that we'll be ditching
intrinsics shortly.

It also hides errors now: verify-uselistorder was hardcoding this flag
to on, and as a result it hasn't seen debug records before. Thus, we
missed a uselistorder variation: constant-expressions such as GEPs can
be contained within debug records and completely isolated from the value
hierachy, see the metadata-use-uselistorder.ll test. These Values didn't
get ordered, but were legitimate uses of constants like "i64 0", and we
now run into difficulty handling that. The patch to AsmWriter seeks
Values to order even through debug-info now.

Finally there are a few intrinsics-tests relying on this flag that we
can just delete, such as one in llvm-reduce and another few in the
LocalTest unit tests. For the fast-isel test, it was added in
https://reviews.llvm.org/D67703 explicitly for checking the size of
blocks without debug-info and in 1525abb9c94 the codepath it tests moved
towards being sunsetted. It'll be totally redundant once RemoveDIs is on
permanently.

Note that there's now no explicit test for the textual-IR autoupgrade
path. I submit that we can rely on the thousands of .ll files where
we've only been bothered to update the outputs, not the inputs, to debug
records.


  Commit: 1aed6ad906f54d6d3fd94b7f46aaeb4cc7e516ec
      https://github.com/llvm/llvm-project/commit/1aed6ad906f54d6d3fd94b7f46aaeb4cc7e516ec
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Enable multiple variables for target teams reductions (#134903)

This patch enables multiple reductions to be used in a reduction clause
inside target regions for GPU offloading.

---------

Co-authored-by: Sergio Afonso <safonsof at amd.com>


  Commit: f76d9da6d8a005d019c63775b2205c5a8cb3da67
      https://github.com/llvm/llvm-project/commit/f76d9da6d8a005d019c63775b2205c5a8cb3da67
  Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [MSan] Update type for MsanMetadataPtrForLoadN and MsanMetadataPtrForStoreN (#135040)

Changed last parameter type for `MsanMetadataPtrForLoadN` and
`MsanMetadataPtrForStoreN` from `i64` to `IntptrTy` to keep it
consistent with call in `getShadowOriginPtrKernelNoVec`

Co-authored-by: Kamil Kashapov <kashapov at ispras.ru>


  Commit: c8d49e9dd2e7e4c64a0a70bf05b0e6c83b04841a
      https://github.com/llvm/llvm-project/commit/c8d49e9dd2e7e4c64a0a70bf05b0e6c83b04841a
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm

  Log Message:
  -----------
  [alpha.webkit.RetainPtrCtorAdoptChecker] Recognize mutableCopy from literal as +1 (#132350)

This PR adds the support for recognizing the return value of copy /
mutableCopy as +1. isAllocInit and isOwned now traverses
PseudoObjectExpr to its last semantic expression.


  Commit: 6d4d017fd250b77e832bec37644f3446d0be6d6c
      https://github.com/llvm/llvm-project/commit/6d4d017fd250b77e832bec37644f3446d0be6d6c
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/StripSymbols.h
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/IPO/StripSymbols.cpp
    A llvm/test/Transforms/StripSymbols/strip-cg-profile.ll
    M llvm/tools/llvm-extract/llvm-extract.cpp

  Log Message:
  -----------
  [llvm-extract] Delete dead `CG Profile` edges (#134940)

When `llvm-extract`-ing a function, and the `CG Profile` flag is present in the original module, we end up with lots of `!{null, null, i64 1234}` entries for call edges that have disappeared as result of the removed functions.

This patch fixes that by adding a pass to `llvm-extract` that finds `CG Profile` edges with one or both operands `null` and removes them. This results in a cleaner output.


  Commit: fa273e1158edb109e1c392a0d8e18b711d0e008e
      https://github.com/llvm/llvm-project/commit/fa273e1158edb109e1c392a0d8e18b711d0e008e
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    A clang/test/CIR/CodeGenOpenACC/data.c
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/serial.c

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'data' construct lowering (#135038)

This patch does the lowering of the OpenACC 'data' construct, which
requires getting the `default` clause (as `data` requires at least 1 of
a list of clauses, and this is the easiest one). The lowering of the
clauses appears to happen in 1 of 2 ways: a- as an operand. or b- as an
attribute.

This patch adds infrastructure to lower as an attribute, as that is how
'data' works.

In addition to that, it changes the OpenACCClauseVisitor a bit, which
previously just required that each of the derived classes have all of
the clauses covered. This patch modifies it so that the visitor directly
calls the derived class from its visitor function, which leaves the
base-class ones the ability to defer to a generic function. This was
previously like this because I had some use cases that I didn't end up
using, and the 'generic' function here seems much more useful.


  Commit: f4d87c42a6021e49fd972f5f5d863d35b267d17f
      https://github.com/llvm/llvm-project/commit/f4d87c42a6021e49fd972f5f5d863d35b267d17f
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/descriptor.h
    M flang-rt/include/flang-rt/runtime/reduction-templates.h
    M flang-rt/lib/cuda/allocatable.cpp
    M flang-rt/lib/runtime/allocatable.cpp
    M flang-rt/lib/runtime/array-constructor.cpp
    M flang-rt/lib/runtime/assign.cpp
    M flang-rt/lib/runtime/character.cpp
    M flang-rt/lib/runtime/copy.cpp
    M flang-rt/lib/runtime/derived.cpp
    M flang-rt/lib/runtime/descriptor.cpp
    M flang-rt/lib/runtime/extrema.cpp
    M flang-rt/lib/runtime/findloc.cpp
    M flang-rt/lib/runtime/matmul-transpose.cpp
    M flang-rt/lib/runtime/matmul.cpp
    M flang-rt/lib/runtime/misc-intrinsic.cpp
    M flang-rt/lib/runtime/temporary-stack.cpp
    M flang-rt/lib/runtime/tools.cpp
    M flang-rt/lib/runtime/transformational.cpp
    M flang-rt/unittests/Evaluate/reshape.cpp
    M flang-rt/unittests/Runtime/Allocatable.cpp
    M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
    M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang-rt/unittests/Runtime/CUDA/Memory.cpp
    M flang-rt/unittests/Runtime/CharacterTest.cpp
    M flang-rt/unittests/Runtime/CommandTest.cpp
    M flang-rt/unittests/Runtime/TemporaryStack.cpp
    M flang-rt/unittests/Runtime/tools.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Transforms/lower-repack-arrays.fir

  Log Message:
  -----------
  [flang][cuda] Add asyncId to allocate entry point (#134947)


  Commit: e98d1380a0e7282ef23d1f583f0a4e02d608eb1d
      https://github.com/llvm/llvm-project/commit/e98d1380a0e7282ef23d1f583f0a4e02d608eb1d
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp

  Log Message:
  -----------
  [NFC][LLDB] Clean up comments/some code in MinidumpFileBuilder (#134961)

I've recently been working on Minidump File Builder again, and some of
the comments are out of date, and many of the includes are no longer
used. This patch removes unneeded includes and rephrases some comments
to better fit with the current state after the read write chunks pr.


  Commit: 0c2a6f2d62ec66065e88f70e7b863cbcb43b3307
      https://github.com/llvm/llvm-project/commit/0c2a6f2d62ec66065e88f70e7b863cbcb43b3307
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
    M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
    M mlir/include/mlir/Dialect/X86Vector/X86VectorDialect.h
    A mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
    M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
    R mlir/include/mlir/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.h
    M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
    M mlir/lib/Dialect/X86Vector/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Target/LLVMIR/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
    R mlir/lib/Target/LLVMIR/Dialect/X86Vector/CMakeLists.txt
    R mlir/lib/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.cpp
    M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
    M mlir/test/Target/LLVMIR/x86vector.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][x86vector] Simplify intrinsic generation (#133692)

Replaces separate x86vector named intrinsic operations with direct calls
to LLVM intrinsic functions.
    
This rework reduces the number of named ops leaving only high-level MLIR
equivalents of whole intrinsic classes e.g., variants of AVX512 dot on
BF16 inputs. Dialect conversion applies LLVM intrinsic name mangling
further simplifying lowering logic.
    
The separate conversion step translating x86vector intrinsics into LLVM
IR is also eliminated. Instead, this step is now performed by the
existing llvm dialect infrastructure.

RFC:
https://discourse.llvm.org/t/rfc-simplify-x86-intrinsic-generation/85581


  Commit: 9dc6551fa8944668af475e09bcb16dd81ab1bd00
      https://github.com/llvm/llvm-project/commit/9dc6551fa8944668af475e09bcb16dd81ab1bd00
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Extract a check for a SplitVectorize node, NFC



Reviewers: RKSimon, hiraditya

Reviewed By: RKSimon

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


  Commit: 505a7e7d1cd2b77ab67ef82ac4abc9cf94271adb
      https://github.com/llvm/llvm-project/commit/505a7e7d1cd2b77ab67ef82ac4abc9cf94271adb
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    A clang/test/CIR/CodeGenOpenACC/init.c
    A clang/test/CIR/CodeGenOpenACC/shutdown.c

  Log Message:
  -----------
  [OpenACC][CIR] Support for `init` and `shutdown` lowering

These two are very simple.  they don't require any clauses and don't
have an associated statement, so they have very simple output.  This
patch implements them, but none of the associated clauses.


  Commit: 3ef2bb6d0bcfcdcfde72d8aa3354e72c2366e22b
      https://github.com/llvm/llvm-project/commit/3ef2bb6d0bcfcdcfde72d8aa3354e72c2366e22b
  Author: metkarpoonam <poonammetkar at microsoft.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/dst.hlsl

  Log Message:
  -----------
  [HLSL] Implement the dst HLSL Function  (#133828)

fixes: https://github.com/llvm/llvm-project/issues/99108
Implement dst algorithm in the hlsl_intrinsics.h and added test cases
for HLSL codegen and sema


- [x] implement dst algorithm in the hlsl_intrinsics.h

- [x] Add HLSL codegen tests to clang/test/CodeGenHLSL/builtins/dst.hlsl

- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/dst-errors.hlsl


  Commit: ef1088f70356b18dd9af066ed6cea0c8b8d7800a
      https://github.com/llvm/llvm-project/commit/ef1088f70356b18dd9af066ed6cea0c8b8d7800a
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.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/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/CodeGen/AArch64/vector-insert-dag-combines.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/pr119158.ll

  Log Message:
  -----------
  Revert "[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR." (#135060)

Reverts llvm/llvm-project#125883

This PR causes crashes in RISC-V codegen around f16/f64 poison values:
https://github.com/llvm/llvm-project/pull/125883#issuecomment-2787048206


  Commit: 2c31403f4f301214cb87e929c4d032bd2f4617f4
      https://github.com/llvm/llvm-project/commit/2c31403f4f301214cb87e929c4d032bd2f4617f4
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm

  Log Message:
  -----------
  [alpha.webkit.UnretainedLambdaCapturesChecker] Add the support for protectedSelf (#132518)

This PR adds the support for treating capturing of "self" as safe if the
lambda simultaneously captures "protectedSelf", which is a RetainPtr of
"self".

This PR also fixes a bug that the checker wasn't generating a warning
when "self" is implicitly captured. Note when "self" is implicitly
captured, we use the lambda's getBeginLoc as a fallback source location.


  Commit: 2ab2276ee079478b7ba9dd42c62b796d3dab1759
      https://github.com/llvm/llvm-project/commit/2ab2276ee079478b7ba9dd42c62b796d3dab1759
  Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/lit.hlsl

  Log Message:
  -----------
  [HLSL] Implement the `lit` intrinsic (#134171)

Closes #99135.

Tasks completed:
- Wrote implementation in `hlsl_intrinsics.h`/`hlsl_intrinsic_helpers.h`
- Added codegen tests to `clang/test/CodeGenHLSL/builtins/lit.hlsl`


  Commit: 989bc69ceb47e27f402d14166eb2e2ea53e00c84
      https://github.com/llvm/llvm-project/commit/989bc69ceb47e27f402d14166eb2e2ea53e00c84
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp

  Log Message:
  -----------
  llvm-reduce: Trim includes in ReduceInstructions (#135022)


  Commit: b92f4d4c3315e4632a2e6fc425583e07d57234ca
      https://github.com/llvm/llvm-project/commit/b92f4d4c3315e4632a2e6fc425583e07d57234ca
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [bazel][mlir] Add missing dep for X86Vector (#135069)

Follow up fix to https://github.com/llvm/llvm-project/pull/133692


  Commit: be133ff4c44060e18a9c8a5e55c32d242007c8d1
      https://github.com/llvm/llvm-project/commit/be133ff4c44060e18a9c8a5e55c32d242007c8d1
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/token-sequence.cpp
    M flang/test/Preprocessing/kind-suffix.F90

  Log Message:
  -----------
  [flang] Fix preprocessor regression (#134405)

For numeric kind suffixes like 1_foo, the preprocessor should be able to
perform macro replacement for macros named either "_foo" or "foo".

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


  Commit: 0ae9bb96d5af47a2426596dbd0c35e3ff0cdddcc
      https://github.com/llvm/llvm-project/commit/0ae9bb96d5af47a2426596dbd0c35e3ff0cdddcc
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/test/Parser/OpenMP/compiler-directive-continuation.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix regression in !$ continuation (#134756)

A recent patch that obviated the need to use -fopenmp when using the
compiler to preprocess in -E mode broke a case of Fortran line
continuation when using OpenMP conditional compilation lines (!$) when
*not* in -E mode. Fix.


  Commit: e0950ebb9ce3ce02bd9a439f55fb2cbf81fa3eaf
      https://github.com/llvm/llvm-project/commit/e0950ebb9ce3ce02bd9a439f55fb2cbf81fa3eaf
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/edit-output.cpp
    M flang-rt/lib/runtime/io-stmt.cpp

  Log Message:
  -----------
  [flang][runtime] Tweak width-free I/G formatted I&O (#135047)

For Fujitsu test case 0561/0561_0168.f90, adjust both input and output
sides of the extension I (and G) edit descriptors with no width (as
distinct from I0/G0). On input, be sure to halt on a separator character
rather than complaining about an invalid character; on output, be sure
to emit a leading space.


  Commit: a0d449016b9fda248df78a9e0a8634fa03d33eb2
      https://github.com/llvm/llvm-project/commit/a0d449016b9fda248df78a9e0a8634fa03d33eb2
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/docs/Dialects/LLVM.md
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir

  Log Message:
  -----------
  [mlir][LLVM] Delete `getVectorElementType` (#134981)

The LLVM dialect no longer has its own vector types. It uses
`mlir::VectorType` everywhere. Remove `LLVM::getVectorElementType` and
use `cast<VectorType>(ty).getElementType()` instead. This commit
addresses a
[comment](https://github.com/llvm/llvm-project/pull/133286#discussion_r2022192500)
on the PR that deleted the LLVM vector types.

Also improve vector type constraints by specifying the
`mlir::VectorType` C++ class, so that explicit casts to `VectorType` can
be avoided in some places.


  Commit: 7b4b43bd15cc66b6d9300db4c444954664cf04af
      https://github.com/llvm/llvm-project/commit/7b4b43bd15cc66b6d9300db4c444954664cf04af
  Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/kernel-ppcle.ll
    M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppc.ll
    M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppcle.ll

  Log Message:
  -----------
  [MSan] Separated PPC32 va_arg helper from PPC64 (#131827)

With more understanding of PowerPC32 ABI we've rewritten the
`VarArgPowerPC32Helper`.
New implementation fills shadow for both `reg_save_area` and
`overflow_arg_area`.
It does not copy shadow for floating-point arguments, as they are stored
in a separate space.
This implementation does not fully support passing arguments `byVal`.
This will be fixed in future PRs.
Tests were also updated via `llvm/utils/update_test_checks.py`.


  Commit: 8f23d4296cb3bf612653aabb9c35395d197f704a
      https://github.com/llvm/llvm-project/commit/8f23d4296cb3bf612653aabb9c35395d197f704a
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/cse.fir
    M flang/test/Fir/invalid.fir

  Log Message:
  -----------
  Reland "[flang][nfc] Support volatility in Fir ops" (#135039)

#134858 had an extraneous include which caused the shared library builds
to break.


  Commit: 46de0caed89fa379a2f7f5506c669ef21be8ef8c
      https://github.com/llvm/llvm-project/commit/46de0caed89fa379a2f7f5506c669ef21be8ef8c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/metadata.ll

  Log Message:
  -----------
  [LV] Add more tests for preserving metadata on vector instructions.

This patch extends test coverage for preserving existing metadata on
vector instructions, including many uncovered cases, like metadata on
calls, selects, FP ops and truncates.


  Commit: 5709506de0e8cdeaf291952302f80b81eb03206a
      https://github.com/llvm/llvm-project/commit/5709506de0e8cdeaf291952302f80b81eb03206a
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M offload/cmake/Modules/LibomptargetGetDependencies.cmake

  Log Message:
  -----------
  [offload] Fix finding amdgpu/nvptx-arch to generate tests (#135072)

PR #134713, which landed as 79cb6f05da37, causes this on my test
systems:

```
-- Building AMDGPU plugin for dlopened libhsa
-- Not generating AMDGPU tests, no supported devices detected. Use 'LIBOMPTARGET_FORCE_AMDGPU_TESTS' to override.
-- Building CUDA plugin for dlopened libcuda
-- Not generating NVIDIA tests, no supported devices detected. Use 'LIBOMPTARGET_FORCE_NVIDIA_TESTS' to override.
```

The problem is it cannot locate amdgpu-arch and nvptx-arch. This patch
enables it to.

I suspect there is more cleanup to do here. amdgpu-arch and nvptx-arch
do not appear to exist as cmake targets anymore, but there is still
cmake code here that looks for those targets.


  Commit: fe2eefc4718f57e1753f7bd51c158fc03d70b34f
      https://github.com/llvm/llvm-project/commit/fe2eefc4718f57e1753f7bd51c158fc03d70b34f
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/Lex/PPExpressions.cpp
    A clang/test/Index/single-file-parse-undefined-function-like-macro.c

  Log Message:
  -----------
  [clang][index] Handle undefined function-like macros in single file parse mode (#135054)

The single file parse mode is supposed to enter both branches of an
`#if` directive whenever the condition contains undefined identifiers.
This patch adds support for undefined function-like macros, where we
would previously emit an error that doesn't make sense from end-user
perspective.

(I discovered this while working on a very similar feature that parses
single module only and doesn't enter either `#if` branch when the
condition contains undefined identifiers.)


  Commit: 639ebbfeb9b09e36158714a8e12f9138e18de0d9
      https://github.com/llvm/llvm-project/commit/639ebbfeb9b09e36158714a8e12f9138e18de0d9
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/ProfileData/PGOCtxProfWriter.cpp

  Log Message:
  -----------
  [ctxprof][nfc] Remove redundant include in PGOCtxProfWriter.cpp (#135077)


  Commit: 12b1ed213ec55750e8fd59dfa44f6872186ed709
      https://github.com/llvm/llvm-project/commit/12b1ed213ec55750e8fd59dfa44f6872186ed709
  Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [Clang] Add non static data member initializer for BindingDecl member Decomp (#134969)

Static analysis flagged BindingDecl Decomp member as not being
initialized during construction or by any other member function.

Fix is add a default initializer for it like the other member Binding.


  Commit: 0fd81e5f4614dc28cd1557a3d5a6a9d2c271d497
      https://github.com/llvm/llvm-project/commit/0fd81e5f4614dc28cd1557a3d5a6a9d2c271d497
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [VectorUtils] Add helper to get list of metadata to propagate (NFC). (#135003)

Split off the logic to filter out metadata that should not be propagated
to a helper that populates a list with metadata kinds that should be
preserved.

The current version just uses is_contained on an array to check if a
metadata kind is supported. Given that most instructions will only have
a small number of metadata kinds to start with, this shouldn't be worse
than iterating over all kinds once and querying the instruction for
individual metadata kinds, which involves quite a bit of indirection.

I plan ot use this utility in a follow-up patch in other places as well.

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


  Commit: 7cbf78ec74ea899ac508da0067962ab91c39930f
      https://github.com/llvm/llvm-project/commit/7cbf78ec74ea899ac508da0067962ab91c39930f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Remove no-op addMetadata for VPWidenGEP/VPWidenIntOrFPInd (NFC).

GEPs and truncates should not have any metadata that can be propgated at
the moment, so addMetadata is a no-op. Remove the calls.

This patch also adds assertions to the recipes' constructors, to ensure
no metadata is accidentially dropped.


  Commit: 785d69e317f249d96ca10010c96a92c51fa4d199
      https://github.com/llvm/llvm-project/commit/785d69e317f249d96ca10010c96a92c51fa4d199
  Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/str_to_float_comparison_test.cpp

  Log Message:
  -----------
  [libc][test] make `str_to_float_comparison_test` independent of C++ headers. (#133978)

This is an attempt to move away from C++ headers to be able to run the
test without `libcxx`.
closes #129838

cc @lntue @RossComputerGuy


  Commit: 6a45fce90937f1c8671e609c4218818ce4491329
      https://github.com/llvm/llvm-project/commit/6a45fce90937f1c8671e609c4218818ce4491329
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang/test/Integration/debug-local-var-2.f90
    M llvm/lib/IR/BasicBlock.cpp

  Log Message:
  -----------
  [DebugInfo] Soft-disable the production of debug intrinsics (#133933)

This patch switches the --experimental-debuginfo-iterators flag to be
stored to an otherwise unused cl-opt. This is a deliberate attempt to
break downstream tests that are relying on the use of debug intrinsics,
because they're imminently going away! If this commit breaks your tests,
please just revert the commit upstream, and then make contact with us
here:

https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578

So that we can work out whether there's any further transition work
needed to support the move away from using debug intrinsics.


  Commit: a9ab8a019e53c91ae67c59fa900ee8b35bf7a4a0
      https://github.com/llvm/llvm-project/commit/a9ab8a019e53c91ae67c59fa900ee8b35bf7a4a0
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/add-sub-128bit.ll
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
    M llvm/test/CodeGen/NVPTX/compare-int.ll
    M llvm/test/CodeGen/NVPTX/elect.ll
    M llvm/test/CodeGen/NVPTX/extractelement.ll
    M llvm/test/CodeGen/NVPTX/f16-instructions.ll
    M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
    M llvm/test/CodeGen/NVPTX/i128.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/sext-setcc.ll
    M llvm/test/CodeGen/NVPTX/tid-range.ll
    M llvm/test/CodeGen/NVPTX/vector-compare.ll

  Log Message:
  -----------
  [NVPTX] Cleanup ISel for selp.* (#135065)

This change uses the untyped variant of `selp.` in all integer cases to
simplify the ISel TableGen logic. It is not expected to have any impact
on the final SASS.


  Commit: e10f67a8270c7745b8a9306a9910b06cfc8d2c55
      https://github.com/llvm/llvm-project/commit/e10f67a8270c7745b8a9306a9910b06cfc8d2c55
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/CMakeLists.txt
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    A clang-tools-extra/clang-doc/support/CMakeLists.txt
    A clang-tools-extra/clang-doc/support/File.cpp
    A clang-tools-extra/clang-doc/support/File.h

  Log Message:
  -----------
  [clang-doc][NFC] refactor out file helpers (#134298)

Split from https://github.com/llvm/llvm-project/pull/133161

refactor the code to extract file helpers used in HTML generators for
use in other generators for clang-doc


  Commit: f75dce43ea0a98c0ade916cf3ffcc7548f569821
      https://github.com/llvm/llvm-project/commit/f75dce43ea0a98c0ade916cf3ffcc7548f569821
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp

  Log Message:
  -----------
  [CIR][NFC] Fix an unused variable warning (#135046)

This fixes a warning where a variable assigned in a 'if' statement
wasn't referenced again.


  Commit: af9c04fa689029c80451ec2c497509c7bd28534f
      https://github.com/llvm/llvm-project/commit/af9c04fa689029c80451ec2c497509c7bd28534f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M libcxx/.clang-format
    M libcxx/docs/DesignDocs/VisibilityMacros.rst
    M libcxx/include/__chrono/duration.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/parser_std_format_spec.h
    M libcxx/include/__chrono/time_point.h
    M libcxx/include/__compare/common_comparison_category.h
    M libcxx/include/__compare/compare_three_way.h
    M libcxx/include/__compare/compare_three_way_result.h
    M libcxx/include/__config
    M libcxx/include/__coroutine/coroutine_handle.h
    M libcxx/include/__coroutine/noop_coroutine_handle.h
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/container_adaptor.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/format_parse_context.h
    M libcxx/include/__format/format_string.h
    M libcxx/include/__format/format_to_n_result.h
    M libcxx/include/__format/formatter.h
    M libcxx/include/__format/formatter_bool.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integer.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_pointer.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__format/formatter_tuple.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/range_default_formatter.h
    M libcxx/include/__format/range_formatter.h
    M libcxx/include/__functional/binary_function.h
    M libcxx/include/__functional/binary_negate.h
    M libcxx/include/__functional/binder1st.h
    M libcxx/include/__functional/binder2nd.h
    M libcxx/include/__functional/boyer_moore_searcher.h
    M libcxx/include/__functional/default_searcher.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/mem_fun_ref.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/pointer_to_binary_function.h
    M libcxx/include/__functional/pointer_to_unary_function.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__functional/unary_function.h
    M libcxx/include/__functional/unary_negate.h
    M libcxx/include/__fwd/array.h
    M libcxx/include/__fwd/complex.h
    M libcxx/include/__fwd/deque.h
    M libcxx/include/__fwd/format.h
    M libcxx/include/__fwd/fstream.h
    M libcxx/include/__fwd/functional.h
    M libcxx/include/__fwd/ios.h
    M libcxx/include/__fwd/istream.h
    M libcxx/include/__fwd/map.h
    M libcxx/include/__fwd/memory.h
    M libcxx/include/__fwd/memory_resource.h
    M libcxx/include/__fwd/ostream.h
    M libcxx/include/__fwd/pair.h
    M libcxx/include/__fwd/queue.h
    M libcxx/include/__fwd/set.h
    M libcxx/include/__fwd/sstream.h
    M libcxx/include/__fwd/stack.h
    M libcxx/include/__fwd/streambuf.h
    M libcxx/include/__fwd/string.h
    M libcxx/include/__fwd/string_view.h
    M libcxx/include/__fwd/subrange.h
    M libcxx/include/__fwd/tuple.h
    M libcxx/include/__fwd/variant.h
    M libcxx/include/__fwd/vector.h
    M libcxx/include/__hash_table
    M libcxx/include/__ios/fpos.h
    M libcxx/include/__iterator/back_insert_iterator.h
    M libcxx/include/__iterator/front_insert_iterator.h
    M libcxx/include/__iterator/insert_iterator.h
    M libcxx/include/__iterator/istream_iterator.h
    M libcxx/include/__iterator/istreambuf_iterator.h
    M libcxx/include/__iterator/iterator.h
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__iterator/move_iterator.h
    M libcxx/include/__iterator/move_sentinel.h
    M libcxx/include/__iterator/ostream_iterator.h
    M libcxx/include/__iterator/ostreambuf_iterator.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__locale
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/auto_ptr.h
    M libcxx/include/__memory/inout_ptr.h
    M libcxx/include/__memory/out_ptr.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/raw_storage_iterator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory/uses_allocator.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__mutex/once_flag.h
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/include/__node_handle
    M libcxx/include/__ostream/basic_ostream.h
    M libcxx/include/__random/bernoulli_distribution.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/cauchy_distribution.h
    M libcxx/include/__random/chi_squared_distribution.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/fisher_f_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/geometric_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/lognormal_distribution.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__random/weibull_distribution.h
    M libcxx/include/__ranges/non_propagating_cache.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__system_error/error_code.h
    M libcxx/include/__system_error/error_condition.h
    M libcxx/include/__thread/formatter.h
    M libcxx/include/__thread/id.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__tree
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__tuple/tuple_element.h
    M libcxx/include/__tuple/tuple_size.h
    M libcxx/include/__type_traits/add_cv_quals.h
    M libcxx/include/__type_traits/aligned_storage.h
    M libcxx/include/__type_traits/alignment_of.h
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/__type_traits/conditional.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/dependent_type.h
    M libcxx/include/__type_traits/enable_if.h
    M libcxx/include/__type_traits/extent.h
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/include/__type_traits/has_virtual_destructor.h
    M libcxx/include/__type_traits/integral_constant.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_abstract.h
    M libcxx/include/__type_traits/is_aggregate.h
    M libcxx/include/__type_traits/is_arithmetic.h
    M libcxx/include/__type_traits/is_array.h
    M libcxx/include/__type_traits/is_assignable.h
    M libcxx/include/__type_traits/is_base_of.h
    M libcxx/include/__type_traits/is_bounded_array.h
    M libcxx/include/__type_traits/is_class.h
    M libcxx/include/__type_traits/is_compound.h
    M libcxx/include/__type_traits/is_const.h
    M libcxx/include/__type_traits/is_constructible.h
    M libcxx/include/__type_traits/is_convertible.h
    M libcxx/include/__type_traits/is_destructible.h
    M libcxx/include/__type_traits/is_empty.h
    M libcxx/include/__type_traits/is_enum.h
    M libcxx/include/__type_traits/is_final.h
    M libcxx/include/__type_traits/is_floating_point.h
    M libcxx/include/__type_traits/is_function.h
    M libcxx/include/__type_traits/is_fundamental.h
    M libcxx/include/__type_traits/is_implicit_lifetime.h
    M libcxx/include/__type_traits/is_integral.h
    M libcxx/include/__type_traits/is_literal_type.h
    M libcxx/include/__type_traits/is_member_pointer.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_nothrow_destructible.h
    M libcxx/include/__type_traits/is_null_pointer.h
    M libcxx/include/__type_traits/is_object.h
    M libcxx/include/__type_traits/is_pod.h
    M libcxx/include/__type_traits/is_pointer.h
    M libcxx/include/__type_traits/is_polymorphic.h
    M libcxx/include/__type_traits/is_reference.h
    M libcxx/include/__type_traits/is_same.h
    M libcxx/include/__type_traits/is_scalar.h
    M libcxx/include/__type_traits/is_signed.h
    M libcxx/include/__type_traits/is_standard_layout.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/is_trivial.h
    M libcxx/include/__type_traits/is_trivially_assignable.h
    M libcxx/include/__type_traits/is_trivially_constructible.h
    M libcxx/include/__type_traits/is_trivially_copyable.h
    M libcxx/include/__type_traits/is_trivially_destructible.h
    M libcxx/include/__type_traits/is_unbounded_array.h
    M libcxx/include/__type_traits/is_union.h
    M libcxx/include/__type_traits/is_unsigned.h
    M libcxx/include/__type_traits/is_void.h
    M libcxx/include/__type_traits/is_volatile.h
    M libcxx/include/__type_traits/rank.h
    M libcxx/include/__type_traits/reference_constructs_from_temporary.h
    M libcxx/include/__type_traits/reference_converts_from_temporary.h
    M libcxx/include/__type_traits/remove_all_extents.h
    M libcxx/include/__type_traits/remove_const.h
    M libcxx/include/__type_traits/remove_extent.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/remove_volatile.h
    M libcxx/include/__type_traits/result_of.h
    M libcxx/include/__utility/in_place.h
    M libcxx/include/__utility/integer_sequence.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/__utility/piecewise_construct.h
    M libcxx/include/__variant/monostate.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/__vector/vector_bool_formatter.h
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/bitset
    M libcxx/include/codecvt
    M libcxx/include/complex
    M libcxx/include/deque
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/__hash
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/istream
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/mutex
    M libcxx/include/optional
    M libcxx/include/queue
    M libcxx/include/ratio
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/set
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/streambuf
    M libcxx/include/syncstream
    M libcxx/include/tuple
    M libcxx/include/typeindex
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/valarray
    M libcxx/include/variant

  Log Message:
  -----------
  [libc++] Remove _LIBCPP_TEMPLATE_VIS (#134885)

The need for `_LIBCPP_TEMPLATE_VIS` has been removed in #133233.


  Commit: d47401e376d458fb9bb4f4f9be0e07c0fdd7a52c
      https://github.com/llvm/llvm-project/commit/d47401e376d458fb9bb4f4f9be0e07c0fdd7a52c
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/AST/ast-print-openacc-init-construct.cpp
    M clang/test/AST/ast-print-openacc-loop-construct.cpp
    M clang/test/AST/ast-print-openacc-routine-construct.cpp
    M clang/test/AST/ast-print-openacc-set-construct.cpp
    M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
    M clang/test/AST/ast-print-openacc-update-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/data-construct-device_type-clause.c
    A clang/test/SemaOpenACC/device_type_valid_values.c
    M clang/test/SemaOpenACC/init-construct-ast.cpp
    M clang/test/SemaOpenACC/init-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/routine-construct-ast.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/test/SemaOpenACC/set-construct-ast.cpp
    M clang/test/SemaOpenACC/set-construct.cpp
    M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
    M clang/test/SemaOpenACC/shutdown-construct.cpp
    M clang/test/SemaOpenACC/update-construct-ast.cpp
    M clang/test/SemaOpenACC/update-construct.cpp

  Log Message:
  -----------
  [OpenACC] Start enforcing 'device_type' clause values

Researching in prep of doing the implementation for lowering, I found
that the source of the valid identifiers list from flang is in the
frontend.  This patch adds the same list to the frontend, but does it as
a sema diagnostic, so we still parse it as an identifier/identifier-like
thing, but then diagnose it as invalid later.


  Commit: 688c3ffb057a87b86c6c1e77040418adf511efbb
      https://github.com/llvm/llvm-project/commit/688c3ffb057a87b86c6c1e77040418adf511efbb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/masked_gather_scatter.ll

  Log Message:
  -----------
  [X86] masked_gather_scatter.ll - add bass gather from struct tests for #130920

Show current codegen for base reference


  Commit: 58b91d10a4c9dcd71ea0bcf6ff702a46dad147cb
      https://github.com/llvm/llvm-project/commit/58b91d10a4c9dcd71ea0bcf6ff702a46dad147cb
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h

  Log Message:
  -----------
  [CIR][NFC] Upstream LValueBaseInfo handling (#134928)

Previous implementations that used the cir::LValue class omitted hanling
of the LValueBaseInfo class, which tracks information about the basis
for the LValue's alignment. As more code was upstreamed from the
incubator, we were accumulating technical debt by adding more places
where this wasn't handled correctly. This change puts the interfaces in
place to track this information.

The information being tracked isn't used yet, so no functional change is
intended. The tracking is being added now because it will become more
difficult to add it as more features are implemented.


  Commit: 90c001ac9e1d92a1a95d191d1640ab5337a937e5
      https://github.com/llvm/llvm-project/commit/90c001ac9e1d92a1a95d191d1640ab5337a937e5
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [libc][bazel] Use Bazel aspects to implement libc_release_library. (#134948)

Instead of creating hundreds of implicit "filegroup" targets to keep
track of sources and textual headers required to build each libc
function or helper library, use Bazel aspects (see
https://bazel.build/versions/8.0.0/extending/aspects), which enable
transparent collection of transitive sources / textual headers while
walking the dependency DAG, and minimizes the Starlark overhead.

Co-authored-by: Jordan Rupprecht <rupprecht at google.com>


  Commit: 2f7e685e3d8813ca584cc2f278ac3cd57b43772d
      https://github.com/llvm/llvm-project/commit/2f7e685e3d8813ca584cc2f278ac3cd57b43772d
  Author: Nachi G <nacgarg at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/lib/IR/Verifier.cpp
    M mlir/test/IR/invalid-ops.mlir

  Log Message:
  -----------
  [MLIR] Ensure deterministic parallel verification (#134963)

`failableParallelForEach` will non-deterministically early terminate
upon failure, leading to inconsistent and potentially missing
diagnostics.

This PR uses `parallelForEach` to ensure all operations are verified and
all diagnostics are handled, while tracking the failure state
separately.

Other potential fixes include:
- Making `failableParallelForEach` have deterministic early-exit
behavior (or have an option for it)
- I didn't want to change more than what was required (and potentially
incur perf hits for unrelated code), but if this is a better fix I'm
happy to submit a patch.
- I think all diagnostics that can be detected from verification
failures should be reported, so I don't even think this would be correct
behavior anyway

- Adding an option for `failableParallelForEach` to still execute on
every element on the range while still returning `LogicalResult`


  Commit: 154507cf403e1859b9a81fa76af406e8489daa4b
      https://github.com/llvm/llvm-project/commit/154507cf403e1859b9a81fa76af406e8489daa4b
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/test/SemaTemplate/dependent-names.cpp

  Log Message:
  -----------
  [clang] fix NestedNameSpecifier dependency calculation (#135067)

A NestedNameSpecifier of TypeSpec kind can be non-dependent even if its
prefix is dependent, when for example the prefix is an injected class
type but the type itself is a simple alias to a non-dependent type.

This issue was a bit hard to observe because if it is an alias to a
class type, then we (for some unknown reason) ignored that the NNS was
dependent in the first place, which wouldn't happen with an enum type.

This could have been a workaround for previous dependency bugs, and is
not relevant anymore for any of the test cases in the tree, so this
patch also removes that.

The other kinds of dependencies are still relevant. If the prefix
contains an unexpanded pack, then this NNS is still unexpanded, and
likewise for errors.

This fixes a regression reported here:
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2787909829
which was introduced by https://github.com/llvm/llvm-project/pull/133610

There are no release notes since the regression was never released.


  Commit: 433a63e117ebf22365ef1f3f595a49cbe9f0c88e
      https://github.com/llvm/llvm-project/commit/433a63e117ebf22365ef1f3f595a49cbe9f0c88e
  Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  Fix ambiguous reversed operator error in sanitizer_mac.h (#135068)

Fixes error: ISO C++20 considers use of overloaded operator '==' (with
operand types 'MacosVersion' and 'MacosVersion') to be ambiguous despite
there being a unique best viable function
[-Werror,-Wambiguous-reversed-operator].

This converts the comparison operator from a non-symmetric operator
(const VersionBase<VersionType>& (as "this") and const VersionType &).
into a symmetric operator


  Commit: 4d06d22da048f2c025df7b58ec1d7f96d0840bf9
      https://github.com/llvm/llvm-project/commit/4d06d22da048f2c025df7b58ec1d7f96d0840bf9
  Author: Pranav Kant <prka at google.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Fix after #133692 (#135098)

Avoid failures like these:
https://buildkite.com/llvm-project/upstream-bazel/builds/131707#01961bb5-2a7b-4dea-a387-cdfd8bb4db48


  Commit: 8145659c39996b6b33c2fa922593d35068bcbf61
      https://github.com/llvm/llvm-project/commit/8145659c39996b6b33c2fa922593d35068bcbf61
  Author: mssefat <42645939+mssefat at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir

  Log Message:
  -----------
  [nfc][AMDGPU] Autogenerated assertions applied to fold-imm-copy.mir (#135071)

Autogenerated assertions are applied to fold-imm-copy.mir


  Commit: 9b50167ed9d28589d70f36e302850d29ca249b9e
      https://github.com/llvm/llvm-project/commit/9b50167ed9d28589d70f36e302850d29ca249b9e
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/test/python/ir/value.py

  Log Message:
  -----------
  [mlir][python] add use_name_loc_as_prefix to value.get_name() (#135052)

Add `use_name_loc_as_prefix` to `value.get_name()`.


  Commit: c359f7625f4d5bacbd88c9c9d26943b7a7e45a3e
      https://github.com/llvm/llvm-project/commit/c359f7625f4d5bacbd88c9c9d26943b7a7e45a3e
  Author: Bangtian Liu <liubangtian at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M mlir/include/mlir-c/Dialect/Linalg.h
    M mlir/lib/Bindings/Python/DialectLinalg.cpp
    M mlir/lib/CAPI/Dialect/Linalg.cpp
    A mlir/test/python/dialects/linalg/utils.py

  Log Message:
  -----------
  [mlir][CAPI][python] expose the python bindings for linalg::isaContractionOpInterface and linalg::inferContractionDims (#134935)

This PR is mainly about exposing the python bindings for`
linalg::isaContractionOpInterface` and` linalg::inferContractionDims`.

---------

Signed-off-by: Bangtian Liu <liubangtian at gmail.com>


  Commit: 6a63abce7b54076015b52d6b99c51eb04d2763f6
      https://github.com/llvm/llvm-project/commit/6a63abce7b54076015b52d6b99c51eb04d2763f6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Use GPRMemZeroOffset instead of GPRMem in RISCVInstrInfoVPseudos.td. NFC

The distinction between GPRMem and GPRMemZeroOffset only matters
for parsing which doesn't apply to pseudos.


  Commit: 56b792322aaaa82883d56a322a94448de519f789
      https://github.com/llvm/llvm-project/commit/56b792322aaaa82883d56a322a94448de519f789
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M flang-rt/lib/cuda/allocator.cpp

  Log Message:
  -----------
  [flang][cuda] Use the aysncId in device allocation (#135099)

Use `cudaMallocAsync` in the `CUFAllocDevice` allocator when asyncId is
provided.

More work is needed to be able to call `cudaFreeAsync` since the
allocated address and stream needs to be tracked.


  Commit: 75cbb1f0fa734efb79c1a1233f1aba377dfad9e1
      https://github.com/llvm/llvm-project/commit/75cbb1f0fa734efb79c1a1233f1aba377dfad9e1
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp

  Log Message:
  -----------
  [clang-format][NFC] Add FormatToken::is(tok::ObjCKeywordKind) (#134973)

This allows simplification of code that checks if a token is an
Objective-C keyword.

Also, delete the following in
UnwrappedLineParser::parseStructuralElement():
- an else-after-break in the tok::at case
- the copypasted code in the tok::objc_autoreleasepool case


  Commit: 2795abb2f8c71a6f00371b49d49829efe2814b0d
      https://github.com/llvm/llvm-project/commit/2795abb2f8c71a6f00371b49d49829efe2814b0d
  Author: Alan Li <me at alanli.org>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    A llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-shuffle.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/shufflevector.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll

  Log Message:
  -----------
  [GISel][AMDGPU] Expand ShuffleVector (#124527)

This patch dismantles G_SHUFFLE_VECTOR before lowering. The original
lowering would emit extract vector element ops. We found that by using
unmerged values the build vector op combine could find ways to fold.

Only enabled on AMDGPU.

This resolves #123631


  Commit: f34483838937b1a01ee11ee22bdd6e13c81e9fff
      https://github.com/llvm/llvm-project/commit/f34483838937b1a01ee11ee22bdd6e13c81e9fff
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Keep the space between `not` and a unary operator (#135035)

Also keep the space between `not` and `::`.

Based on the
[documentation](https://releases.llvm.org/20.1.0/tools/clang/docs/ClangFormatStyleOptions.html#spaceafterlogicalnot),
it can be argued that SpaceAfterLogicalNot doesn't cover the alternative
operator `not`.

Closes #125465


  Commit: 78b21ddba7bc43b1e59d97ccad51133858a9ce91
      https://github.com/llvm/llvm-project/commit/78b21ddba7bc43b1e59d97ccad51133858a9ce91
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
    M llvm/test/tools/llvm-symbolizer/sym-verbose.test
    M offload/test/sanitizer/kernel_crash_many.c
    M offload/test/sanitizer/kernel_trap.c
    M offload/test/sanitizer/kernel_trap.cpp
    M offload/test/sanitizer/kernel_trap_many.c

  Log Message:
  -----------
  Revert "Reland "Symbolize line zero as if no source info is available (#124846)" (#133798)"

This reverts commit 348374028970c956f2e49ab7553b495d7408ccd9 because #128619 doesn't handle the case when we have an empty frame from `getInliningInfoForAddress` because line num is 0 which makes it non-differentiable from missing debug info. So, we end up using the base filename from symtab again. Reverting for now until that issus is solved.


  Commit: b88eef95e72ed54580c3f65c49cc8b768a764938
      https://github.com/llvm/llvm-project/commit/b88eef95e72ed54580c3f65c49cc8b768a764938
  Author: Michael Berg <93234525+mcberg2021 at users.noreply.github.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    A llvm/test/Transforms/DeadStoreElimination/dead-vp.store.ll

  Log Message:
  -----------
  [DSE] Add predicated vector length store support for masked store elimination (#134175)

In isMaskedStoreOverwrite we process two stores that fully overwrite one
another, here we add support for predicated vector length stores so that
DSE will eliminate this variant of masked stores.

This is the follow up installment mentioned in:
https://reviews.llvm.org/D132700


  Commit: 747d4a952bf7ed4adec72ddf3c9038aeff4fe8ee
      https://github.com/llvm/llvm-project/commit/747d4a952bf7ed4adec72ddf3c9038aeff4fe8ee
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision.ll

  Log Message:
  -----------
  [DirectX] Implement UseNativeLowPrecision shader flag analysis (#134288)

Fixes #112267 

Implement the shader flag analysis to set the UseNativeLowPrecision DXIL
module flag.

The flag is only able to be set when the command-line flag
`-enable-16bit-types` is passed to clang-dxc, or equivalently
`-fnative-half-type` is passed to clang.
When the command-line flag is passed, a module metadata flag called
"dx.nativelowprec" is set to 1.
The DXILShaderFlags shader flags analysis checks that the module
metadata flag "dx.nativelowprec" is set to 1 and the DXIL Version is 1.2
or greater before setting the UseNativeLowPrecision DXIL module flag.


  Commit: 02fde3a6518b1085946b891e2a1b3550f7497888
      https://github.com/llvm/llvm-project/commit/02fde3a6518b1085946b891e2a1b3550f7497888
  Author: Pranav Kant <prka at google.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Fix for #134298 (#135114)


  Commit: 98feb05825a179c56f965d936b948a95d2a6b888
      https://github.com/llvm/llvm-project/commit/98feb05825a179c56f965d936b948a95d2a6b888
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/test/CodeGenCXX/mangle-template.cpp

  Log Message:
  -----------
  [clang] fix unresolved dependent template specialization mangling (#135111)

This fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/133610 which was reported here
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2787332042

When mangling a dependent template specialization appearing within an
unresolved prefix, translate the dtst back to a dependent template name
including the prefix, and mangle following the nested unresolved-type
production.

There are no release notes, since this regression was never released.


  Commit: d1badf5635c5876a8c0b9558fe149ef0e293b865
      https://github.com/llvm/llvm-project/commit/d1badf5635c5876a8c0b9558fe149ef0e293b865
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    A clang/test/CodeGen/cfi-check-fail-nomerge.c
    A clang/test/CodeGen/cfi-check-fail2-nomerge.c
    A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp

  Log Message:
  -----------
  [cfi][NFCI] Precommit tests to show nomerge functionality (#135104)

https://github.com/llvm/llvm-project/pull/120464 (and earlier CLs) added -fsanitize-merge functionality, which is intended to work for all "sanitizers". It is nearly correct for CFI.

This patch precommits some tests for CFI, to track the progress of future -fsanitize-merge fixes for CFI.


  Commit: 2b8cc651dca0c000ee18ec79bd5de4826156c9d6
      https://github.com/llvm/llvm-project/commit/2b8cc651dca0c000ee18ec79bd5de4826156c9d6
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp

  Log Message:
  -----------
  :createMCStreamer: delete InstPrinter on error


  Commit: 0283bb3afcc5dc521f6b2e7d541a830a9546ed80
      https://github.com/llvm/llvm-project/commit/0283bb3afcc5dc521f6b2e7d541a830a9546ed80
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGen/attr-counted-by.c
    A clang/test/CodeGen/ubsan-attr.cpp

  Log Message:
  -----------
  [Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers (#130990)

This patch adds `memory(argmem: read, inaccessiblemem: readwrite)
mustprogress` to **recoverable** ubsan handlers in order to unblock some
memory/loop optimizations. It provides an average of 3% performance
improvement on llvm-test-suite (except for 49 test failures due to ubsan
diagnostics).

Closes https://github.com/llvm/llvm-project/issues/130093.


  Commit: 7f7f3d91a2d5c354a5e7b7c6f7d8d71ec6ad1f4d
      https://github.com/llvm/llvm-project/commit/7f7f3d91a2d5c354a5e7b7c6f7d8d71ec6ad1f4d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  Revert "Replace bool operator== for VersionType in sanitizer_mac.h" (#135127)

Reverts llvm/llvm-project#135068 because it breaks building compiler-rt
on Darwin.

https://green.lab.llvm.org/job/clang-stage1-RA/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/


  Commit: 2828328611089481d6ebd2e148791d9729117a8a
      https://github.com/llvm/llvm-project/commit/2828328611089481d6ebd2e148791d9729117a8a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/llvm-reduce.cpp

  Log Message:
  -----------
  llvm-reduce: Link to command guide in help like bugpoint does (#134810)


  Commit: 98ea512f720ec954a6f096dbb39534f06affa196
      https://github.com/llvm/llvm-project/commit/98ea512f720ec954a6f096dbb39534f06affa196
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    A clang/test/AST/ByteCode/libcxx/minmax.cpp

  Log Message:
  -----------
  [clang][bytecode] Clear inactive union fields when copying (#134982)

When copying unions, we need to only copy the active field of the source
union, which we were already doing. However, we also need to zero out
the (now) inactive fields, so we don't end up with dangling pointers in
those inactive fields.


  Commit: 5587932e20ff90ba8a28f3c9089e8b12e42b09b5
      https://github.com/llvm/llvm-project/commit/5587932e20ff90ba8a28f3c9089e8b12e42b09b5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/remove-bb-switch-default.ll
    M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp

  Log Message:
  -----------
  llvm-reduce: Use simpleSimplifyCFG in block reduction (#135028)


  Commit: 02f923f8e4329995f2f0c512fa53f5e37e631933
      https://github.com/llvm/llvm-project/commit/02f923f8e4329995f2f0c512fa53f5e37e631933
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
    M clang/unittests/AST/ByteCode/toAPValue.cpp

  Log Message:
  -----------
  [clang][bytecode] Classify function pointers as PT_Ptr (#135026)

The Pointer class already has the capability to be a function pointer,
but we still classifed function pointers as PT_FnPtr/FunctionPointer.
This means when converting from a Pointer to a FunctionPointer, we lost
the information of what the original Pointer pointed to.


  Commit: 27ca4837eec1734d23cc628fcaddf03b94afc845
      https://github.com/llvm/llvm-project/commit/27ca4837eec1734d23cc628fcaddf03b94afc845
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/include/llvm/ADT/EquivalenceClasses.h
    M llvm/unittests/ADT/EquivalenceClassesTest.cpp

  Log Message:
  -----------
  [EquivalenceClasses] Introduce erase member function (#134660)

Introduce 'erase(const ElemTy &V)' member function to allow the deletion
of a certain value from EquivClasses. This is essential for certain
scenarios that require modifying the contents of EquivClasses.

---------

Co-authored-by: Florian Hahn <flo at fhahn.com>


  Commit: 843fb7be380c0907b3b222cd5e429a4d38c97b54
      https://github.com/llvm/llvm-project/commit/843fb7be380c0907b3b222cd5e429a4d38c97b54
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/operands-to-args.ll
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  llvm-reduce: Fix overly conservative operands-to-args user restriction (#133854)

I assume this was a leftover from typed pointers. It's easier to replace
the non-callee uses, they are just replacable pointer values.


  Commit: 2257f5143148210fa968205730543f49427d0cc6
      https://github.com/llvm/llvm-project/commit/2257f5143148210fa968205730543f49427d0cc6
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGen/attr-counted-by.c
    R clang/test/CodeGen/ubsan-attr.cpp

  Log Message:
  -----------
  Revert "[Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers" (#135130)

Reverts llvm/llvm-project#130990

Breaks buildbot https://lab.llvm.org/buildbot/#/builders/186/builds/8072


  Commit: f819f46284f2a79790038e1f6649172789734ae8
      https://github.com/llvm/llvm-project/commit/f819f46284f2a79790038e1f6649172789734ae8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/distance.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/CodeGenHLSL/builtins/reflect.hlsl
    M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
    M clang/test/Headers/__clang_hip_cmath.hip
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/include/llvm/IR/Attributes.h
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Transforms/Inline/access-attributes-prop.ll

  Log Message:
  -----------
  Reapply "Inline: Propagate callsite nofpclass attribute" (#135018)

This reverts commit 3f38cd07d820248fd2043efb1341fabaac2d84a6.

Fix case where inner callsite has nofpclass but callsite does not.


  Commit: 3fd0d22d74027c00bd2365ea1691dc530bb9709a
      https://github.com/llvm/llvm-project/commit/3fd0d22d74027c00bd2365ea1691dc530bb9709a
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCParser/MCAsmParser.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/arm64-diags.s
    M llvm/test/MC/MachO/AArch64/darwin-ARM64-reloc.s

  Log Message:
  -----------
  AArch64AsmParser: Restore Lsym at page-offset support

https://github.com/llvm/llvm-project/pull/134202 removed support for
`sym at page-offset` in instruction operands. This change is generally
reasonable since subtracting an offset from a symbol typically doesn’t
make sense for Mach-O due to its .subsections_via_symbols mechanism, which treats
them as separate atoms.

However, BoringSSL relies on a temporary symbol with a negative offset,
which can be meaningful when the symbol and the referenced location are
within the same atom.
```
../../third_party/boringssl/src/gen/bcm/p256-armv8-asm-apple.S:1160:25: error: unexpected token in argument list
 adrp x23,Lone_mont at PAGE-64
```

It's worth noting that expressions involving @ can be complex and
brittle in MCParser, and much of the Mach-O @ offsets remains
under-tested.

* Allow default argument for parsePrimaryExpr. The argument, used by the niche llvm-ml,
  should not require other targets to adapt.


  Commit: 807cc3791fabd47bd24d57a8e4ab7df9117b3ede
      https://github.com/llvm/llvm-project/commit/807cc3791fabd47bd24d57a8e4ab7df9117b3ede
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64zbb.ll

  Log Message:
  -----------
  [DAGCombiner] Fold subtraction if above threshold to `umin` (#134235)

Folds patterns such as:

    unsigned foo(unsigned x, unsigned y) {
      return x >= y ? x - y : x;
    }

Before, on RISC-V:

    sltu    a2, a0, a1
    addi    a2, a2, -1
    and     a1, a1, a2
    subw    a0, a0, a1

Or, with Zicond:

    sltu    a2, a0, a1
    czero.nez a1, a1, a2
    subw    a0, a0, a1

After, with Zbb:

    subw    a1, a0, a1
    minu    a0, a0, a1

Only applies to unsigned comparisons.
If `x >= y` then `x - y` is less than or equal `x`.
Otherwise, `x - y` wraps and is greater than `x`.


  Commit: 7818e5ab6725c1590ff5c4a483a76f08b8697cb7
      https://github.com/llvm/llvm-project/commit/7818e5ab6725c1590ff5c4a483a76f08b8697cb7
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-bit-shift.ll
    M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-shift.ll
    M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
    M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-bit-shift.ll
    M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-shift.ll

  Log Message:
  -----------
  [LoongArch] lower vector shuffle to shift if possible (#132866)


  Commit: b122956390a6877536927c2b073a0b99f8b9704f
      https://github.com/llvm/llvm-project/commit/b122956390a6877536927c2b073a0b99f8b9704f
  Author: Hua Tian <akiratian at tencent.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals-1.mir

  Log Message:
  -----------
  [llvm][CodeGen] update live intervals for ModuloScheduleExpanderMVE (#132677)

ModuloScheduleExpanderMVE and ModuloScheduleExpander are used sequentially in 
certain use cases. It is necessary to update live intervals for ModuloScheduleExpanderMVE; 
otherwise, crashes may occur.


  Commit: adfc577895811b5df3935be3b26aec52929afebd
      https://github.com/llvm/llvm-project/commit/adfc577895811b5df3935be3b26aec52929afebd
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-memcpy-align-metadata.mlir

  Log Message:
  -----------
  [OpenMP][CodeExtractor]Add align metadata to load instructions (#131131)

Moving code to another function can lead to missed optimization
opportunities, because function passes operate on smaller chunks of
code, and they cannot figure out all details.

One example of missed optimization opportunities after code extraction
is information about pointer alignment. The instruction combine pass
adds information about pointer alignment to LLVM intrinsic memcpy calls
if it can deduce it from the code or if align metadata is added. If this
information is not present, then further optimization passes can
generate inefficient code.

If we add align metadata to extracted pointers, then the instruction
combine pass can add the align attribute to the LLVM intrinsic memcpy
call and unblock further optimization.

Scope of changes:
1. Analyze MLIR map operations. Add information about the alignment of
objects that are passed by reference to OpenMP GPU kernels.
2. Propagate alignment information to the outlined by `CodeExtractor`
helper functions.


  Commit: 923da2b843c7ddf9c7d39ba9629ad7945a96ea5c
      https://github.com/llvm/llvm-project/commit/923da2b843c7ddf9c7d39ba9629ad7945a96ea5c
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Add 'cl' to enable OpenCL kernel file formatting (#134529)

There are many .cl files in llvm repo. It would be great that
clang-format can support it.


  Commit: 85742f764270c701d2245615c590702c5110b030
      https://github.com/llvm/llvm-project/commit/85742f764270c701d2245615c590702c5110b030
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/docs/Dialects/LLVM.md
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp
    M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp

  Log Message:
  -----------
  [mlir][LLVM] Delete `getFixedVectorType` and `getScalableVectorType` (#135051)

The LLVM dialect no longer has its own vector types. It uses
`mlir::VectorType` everywhere. Remove
`LLVM::getFixedVectorType/getScalableVectorType` and use
`VectorType::get` instead. This commit addresses a
[comment](https://github.com/llvm/llvm-project/pull/133286#discussion_r2022192500)
on the PR that deleted the LLVM vector types.


  Commit: f030f6f3c5ad44dca5c9f66c24e168a716fa1ece
      https://github.com/llvm/llvm-project/commit/f030f6f3c5ad44dca5c9f66c24e168a716fa1ece
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M lldb/source/Core/FormatEntity.cpp

  Log Message:
  -----------
  [lldb][FormatEntity][NFCI] Refactor FunctionNameWithArgs into helper functions and use LLVM style (#135031)

I've always found this hard to read. Some upcoming changes make similar
computations, so I thought it's a good time to factor out this logic
into re-usable helpers and clean it up using LLVM's preferred
early-return style.


  Commit: 344a491dad1ec117ea0f97eb09c56fe5edb51fe6
      https://github.com/llvm/llvm-project/commit/344a491dad1ec117ea0f97eb09c56fe5edb51fe6
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  [CodeGen] Simplify expandRoundInexactToOdd (#134988)

FP_ROUND and FP_EXTEND the input value before FABSing it. This avoids
some bit twiddling to copy the sign bit from the input to the result. It
does introduce one extra FABS, but that is folded into another
instruction for free on AMDGPU, which is the only target currently
affected by this change.


  Commit: a625bc60e2987502d2dd1b3372fa1b9cf3b2f2cf
      https://github.com/llvm/llvm-project/commit/a625bc60e2987502d2dd1b3372fa1b9cf3b2f2cf
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/cbuffer.hlsl
    A clang/test/AST/HLSL/private.hlsl
    M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
    M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
    A clang/test/CodeGenHLSL/out-of-line-static.hlsl
    A clang/test/CodeGenHLSL/static-variable.hlsl
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp

  Log Message:
  -----------
  [HLSL][SPIR-V] Add hlsl_private address space for SPIR-V (#133464)

This is an alternative to
https://github.com/llvm/llvm-project/pull/122103

In SPIR-V, private global variables have the Private storage class. This
PR adds a new address space which allows frontend to emit variable with
this storage class when targeting this backend.

This is covered in this proposal: llvm/wg-hlsl at 4c9e11a

This PR will cause addrspacecast to show up in several cases, like class
member functions or assignment. Those will have to be handled in the
backend later on, particularly to fixup pointer storage classes in some
functions.

Before this change, global variable were emitted with the 'Function'
storage class, which was wrong.


  Commit: 135a7874dc2af6e2eb439db837eda273bdc54a63
      https://github.com/llvm/llvm-project/commit/135a7874dc2af6e2eb439db837eda273bdc54a63
  Author: Romaric Jodin <rjodin at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M libclc/clspv/lib/math/fma.cl

  Log Message:
  -----------
  libclc: clspv: fma: remove fp16 implementation (#135002)

clspv is already handling generation of fp16. This implementation is
preventing clspv from making the best choice to use an emulation on top
of fp32-fma, or the native fp16-fma, depending on the command-line
arguments.


  Commit: 7d32d72f10445657f598cbdf1bb5f3040373daf5
      https://github.com/llvm/llvm-project/commit/7d32d72f10445657f598cbdf1bb5f3040373daf5
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M libclc/clspv/lib/math/fma.cl

  Log Message:
  -----------
  [libclc][NFC] Remove blank line at end of file


  Commit: 5543d9ded7330b21c1d52cdeafadc4b95a495ccc
      https://github.com/llvm/llvm-project/commit/5543d9ded7330b21c1d52cdeafadc4b95a495ccc
  Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/RegAllocFast.h
    M llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
    M llvm/lib/CodeGen/RegAllocGreedy.cpp

  Log Message:
  -----------
  [RegAlloc][NFC] Use `std::move` to  avoid copy (#134533)


  Commit: 785e7f06ddb1ba36aa679d23436726dcf61f8afb
      https://github.com/llvm/llvm-project/commit/785e7f06ddb1ba36aa679d23436726dcf61f8afb
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/cmake/modules/LLVMConfig.cmake.in

  Log Message:
  -----------
  Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)

The buidbot
[flang-aarch64-libcxx](https://lab.llvm.org/buildbot/#/builders/89) is
currently failing with an ABI issue. The suspected reason is that
LLVMSupport.a is built using libc++, but the unittests are using the
default C++ standard library, libstdc++ in this case. This predefined
`llvm_gtest` target uses the LLVMSupport from `find_package(LLVM)`,
which finds the libc++-built LLVMSupport.

To fix, store the `LLVM_ENABLE_LIBCXX` setting in the LLVMConfig.cmake
such that everything that links to LLVM libraries use the same standard
library. In this case discussed in
https://github.com/llvm/llvm-zorg/pull/387 it was the flang-rt
unittests, but other runtimes with GTest unittests should have the same
issue (e.g. offload), and any external project that uses
`find_package(LLVM)`.


  Commit: d9cfd905248a7ef74826576978348600a372af5f
      https://github.com/llvm/llvm-project/commit/d9cfd905248a7ef74826576978348600a372af5f
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M .ci/generate_test_report_lib.py
    M .ci/generate_test_report_lib_test.py

  Log Message:
  -----------
  [ci] Improve wording in CI test reports

We weren't saying where to click, make it clear you click on a
test name.


  Commit: d34437e9e17be59a5b9da1937fec21886779885b
      https://github.com/llvm/llvm-project/commit/d34437e9e17be59a5b9da1937fec21886779885b
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll

  Log Message:
  -----------
  [RISCV] Recognize a zipeven/zipodd requiring larger SEW (#134923)

This is a follow up to f8ee58a3c, and improves code generation for the
XRivosVizip extension.

If we have a slide pair which could be a zipeven or zipodd if the
shuffle was widened, widen the shuffle and then mask the zipeven or
zipodd.

This is basically working around an order of matching issue; we match
the slide pair variants before trying widening. I considered whether we
should just widen slide pairs without any consideration of the zip
idioms, but the resulting codegen changes look mostly like churn, and
have no clear evidence of profitability.


  Commit: cdb9c6190ff066756ce4eb898eea747c5076ad33
      https://github.com/llvm/llvm-project/commit/cdb9c6190ff066756ce4eb898eea747c5076ad33
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
    M lldb/source/Symbol/DWARFCallFrameInfo.cpp
    M lldb/source/Symbol/UnwindPlan.cpp
    M lldb/unittests/Symbol/UnwindPlanTest.cpp
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
    M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
    M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp

  Log Message:
  -----------
  [lldb] Support negative function offsets in UnwindPlans (#134662)

These are needed for functions whose entry point is not their lowest
address.


  Commit: e3350a62635777ee983d86b6f6c9be4b07f48fc8
      https://github.com/llvm/llvm-project/commit/e3350a62635777ee983d86b6f6c9be4b07f48fc8
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/bitcast-fold-lane-ops.ll

  Log Message:
  -----------
  [AMDGPU] InstCombine llvm.amdgcn.ds.bpermute with uniform arguments (#130133)

Reland #129895 with a fix to avoid trying to combine bpermute of
bitcast.


  Commit: 2fe123a1195e16e065f913ba2bba8582370a8707
      https://github.com/llvm/llvm-project/commit/2fe123a1195e16e065f913ba2bba8582370a8707
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/cmake/modules/LLVMConfig.cmake.in

  Log Message:
  -----------
  Revert "Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)"

This reverts commit 785e7f06ddb1ba36aa679d23436726dcf61f8afb.

It did not solve the problem with flang-aarch64-libcxx and caused
another failure with openmp-offload-amdgpu-runtime-2.


  Commit: 716b02d8c575afde7af1af13df145019659abca2
      https://github.com/llvm/llvm-project/commit/716b02d8c575afde7af1af13df145019659abca2
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    A llvm/test/Transforms/MemCpyOpt/memcpy-tbaa.ll
    M llvm/test/Transforms/MemCpyOpt/stack-move.ll

  Log Message:
  -----------
  [LLVM][MemCpyOpt] Unify alias tags if we optimize allocas (#129537)

Optimization of alloca instructions may lead to invalid alias tags.
Incorrect alias tags can result in incorrect optimization outcomes for
Fortran source code compiled by Flang with flags: `-O3 -mmlir
-local-alloc-tbaa -flto`.

This commit removes alias tags when memcpy optimization replaces two
arrays with one array, thus ensuring correct compilation of Fortran
source code using flags: `-O3 -mmlir -local-alloc-tbaa -flto`.

This commit is also a proposal to fix the reported issue:
https://github.com/llvm/llvm-project/issues/133984

---------

Co-authored-by: Shilei Tian <i at tianshilei.me>


  Commit: 20507a9e95a08069863e9910a688a38370d58952
      https://github.com/llvm/llvm-project/commit/20507a9e95a08069863e9910a688a38370d58952
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/CodeGen/AArch64/selectiondag-order.ll
    M llvm/test/CodeGen/X86/selectiondag-order.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/cast-debuginfo-salvage.ll

  Log Message:
  -----------
  [Verifier][CGP] Allow integer argument to dbg_declare (#134803)

Relaxes the newly added verifier rule to also allow an integer argument
to dbg_declare, which is interpreted as a pointer. Adjust CGP to deal with
it gracefully.

Fixes https://github.com/llvm/llvm-project/issues/134523.
Alternative to https://github.com/llvm/llvm-project/pull/134601.


  Commit: 64b5e8f2b732defc35831d5765175647d763264d
      https://github.com/llvm/llvm-project/commit/64b5e8f2b732defc35831d5765175647d763264d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/masked_gather_scatter.ll

  Log Message:
  -----------
  [X86] masked_gather_scatter.ll - clean up check prefixes

Share X86/X64 common prefixes as much as possible to reduce duplication


  Commit: d02a704ec952f01ab258e8c4cbb3c01c8f768e15
      https://github.com/llvm/llvm-project/commit/d02a704ec952f01ab258e8c4cbb3c01c8f768e15
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/revec-getExtractWithExtendCost.ll

  Log Message:
  -----------
  [SLP][REVEC] Make getExtractWithExtendCost support FixedVectorType as Dst. (#134822)


  Commit: c7745b0babb0151d9fe9cdc4fc180b0b53821e98
      https://github.com/llvm/llvm-project/commit/c7745b0babb0151d9fe9cdc4fc180b0b53821e98
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-st1.ll

  Log Message:
  -----------
  [AArch64][test] Regenerate arm64-st1.ll using update_llc_test_checks.py (NFC) (#134919)

This is a fairly large test file which can be annoying to manually
update. Using --filter-out gets pretty close to the original checks.


  Commit: dcb2ae126de1ce64a9164a3e63f328ae1859ea46
      https://github.com/llvm/llvm-project/commit/dcb2ae126de1ce64a9164a3e63f328ae1859ea46
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
    A llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support/BUILD.gn

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


  Commit: 6d98d45c9c1867d4006f93e04bc1380b36e34f18
      https://github.com/llvm/llvm-project/commit/6d98d45c9c1867d4006f93e04bc1380b36e34f18
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/CMakeLists.txt

  Log Message:
  -----------
  reland [clang-doc][NFC] refactor out file helpers (#135164)

Split from https://github.com/llvm/llvm-project/pull/133161

refactor the code to extract file helpers used in HTML generators for
use in other generators for clang-doc

This patch fixes the error where compiling with
-DLLVM_LINK_LLVM_DYLIB=ON broke the buildbot


  Commit: 71f629fc2a93e41577c09bdd782b2ba524ed5fea
      https://github.com/llvm/llvm-project/commit/71f629fc2a93e41577c09bdd782b2ba524ed5fea
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp

  Log Message:
  -----------
  Initialize member variable; NFC (#135167)

This was found via a Coverity static analysis pass. There's no
indication this was being used incorrectly in practice, but there are
public interfaces which require `BR` to be non-null and valid, and `BR`
was not being initialized by the constructor.

This adds an in-class initializer for `BR` and some asserts, to be safe.


  Commit: 5c8ba28c751bf0e7cb5c3ac9d223acba4cefc739
      https://github.com/llvm/llvm-project/commit/5c8ba28c751bf0e7cb5c3ac9d223acba4cefc739
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/C/C11/n1285.c
    A clang/test/C/C11/n1285_1.c
    M clang/test/CodeGen/xcore-abi.c
    M clang/test/CodeGenObjC/property-array-type.m
    M clang/www/c_status.html

  Log Message:
  -----------
  [C11] Implement WG14 N1285 (temporary lifetimes) (#133472)

This feature largely models the same behavior as in C++11. It is
technically a breaking change between C99 and C11, so the paper is not
being backported to older language modes.

One difference between C++ and C is that things which are rvalues in C
are often lvalues in C++ (such as the result of a ternary operator or a
comma operator).

Fixes #96486


  Commit: 6defc8ee66caef0191015a6943f1694ee7410459
      https://github.com/llvm/llvm-project/commit/6defc8ee66caef0191015a6943f1694ee7410459
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp

  Log Message:
  -----------
  Initialize member variable; NFC

This was found via a Coverity static analysis pass. There's no
indication this was being used incorrectly in practice, but there are
public interfaces which require `BR` to be non-null and valid, and `BR`
was not being initialized by the constructor.

This adds an in-class initializer for `BR` and some asserts, to be safe.


  Commit: 9ff27d5fc2d57a676a0d0a47684409c640f38c7f
      https://github.com/llvm/llvm-project/commit/9ff27d5fc2d57a676a0d0a47684409c640f38c7f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avgfloors-scalar.ll
    M llvm/test/CodeGen/X86/avgflooru-scalar.ll

  Log Message:
  -----------
  [X86] add additional avgfloor 'add(shift(x,1),shift(y,1),and(x,y,1))' patterns

Add mixture of pattern combos to match against the SDPatternMatch::m_Reassociatable* matchers


  Commit: 5a1b4ec6f4b773f191e98183ae4628785729daa1
      https://github.com/llvm/llvm-project/commit/5a1b4ec6f4b773f191e98183ae4628785729daa1
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  Fix broken bots

https://lab.llvm.org/buildbot/#/builders/190/builds/18038

This adds a triple and regenerates the test results.


  Commit: ed858220276dd11f6c2d7a5d3e357c211f9c6190
      https://github.com/llvm/llvm-project/commit/ed858220276dd11f6c2d7a5d3e357c211f9c6190
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJava.cpp

  Log Message:
  -----------
  [clang-format] Handle C++ keywords in other languages better (#132941)

There is some code to make sure that C++ keywords that are identifiers
in the other languages are not treated as keywords.  Right now, the kind
is set to identifier, and the identifier info is cleared.  The latter is
probably so that the code for identifying C++ structures does not
recognize those structures by mistake when formatting a language that
does not have those structures.  But we did not find an instance where
the language can have the sequence of tokens, the code tries to parse
the structure as if it is C++ using the identifier info instead of the
token kind, but without checking for the language setting.  However,
there are places where the code checks whether the identifier info field
is null or not.  They are places where an identifier and a keyword are
treated the same way.  For example, the name of a function in
JavaScript.  This patch removes the lines that clear the identifier
info.  This way, a C++ keyword gets treated in the same way as an
identifier in those places.

JavaScript

New

```JavaScript
async function
union(
    myparamnameiswaytooloooong) {
}
```

Old

```JavaScript
async function
    union(
        myparamnameiswaytooloooong) {
}
```

Java

New

```Java
enum union { ABC, CDE }
```

Old

```Java
enum
union { ABC, CDE }
```

This reverts commit 97dcbdef6089175c45e14fcbcf5c88b10233a79a.


  Commit: f7617f7f909102080f1a0cee46f8ca75ec8d14ff
      https://github.com/llvm/llvm-project/commit/f7617f7f909102080f1a0cee46f8ca75ec8d14ff
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Recognize TableGen paste operator on separate line (#133722)

Formatting this piece of code made the program crash.

```
class TypedVecListRegOperand<RegisterClass Reg, int lanes, string eltsize>
    : RegisterOperand<Reg, "printTypedVectorList<" # lanes # ", '"
                                                   # eltsize # "'>">;
```

The line starting with the `#` was treated as a separate preprocessor
directive line. Then the code dereferenced a null pointer when it tried
to continue parsing the first line that did not end in a semicolon.

Now the 2 problems are fixed.


  Commit: 2b3aa56fd742775c5b05c3053778832aa76c0feb
      https://github.com/llvm/llvm-project/commit/2b3aa56fd742775c5b05c3053778832aa76c0feb
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/gh134265.cpp

  Log Message:
  -----------
  [MS][clang] Error about ambiguous operator delete[] only when required (#135041)

And issue was reported in

https://github.com/llvm/llvm-project/pull/133950#issuecomment-2787510484
. Since we don't always emit vector deleting dtors, only error out about
ambiguous operator delete[] when it will be required for vector deleting
dtor emission.


  Commit: 4244a91be268111dd133fa4863504c4840e5361c
      https://github.com/llvm/llvm-project/commit/4244a91be268111dd133fa4863504c4840e5361c
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp

  Log Message:
  -----------
  [SPIRV][NFC] Refactor pointer creation in GlobalRegistery (#134429)

This PR adds new interfaces to create pointer type, and adds
some requirements to the old interfaces. This is the first step in
https://github.com/llvm/llvm-project/issues/134119.


  Commit: b0428870dae980af84e50dfa3ee6ed2165998678
      https://github.com/llvm/llvm-project/commit/b0428870dae980af84e50dfa3ee6ed2165998678
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.encode.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt

  Log Message:
  -----------
  [AMDGPU] Rename TH_STORE_RT_WB to TH_STORE_WB (#135171)

So it matches the documentation

Fixes: SWDEV-526726


  Commit: 5978bb2936d9a71d8e6891c640a36be760b569d3
      https://github.com/llvm/llvm-project/commit/5978bb2936d9a71d8e6891c640a36be760b569d3
  Author: u4f3 <ricoafoat at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
    M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
    M llvm/test/Transforms/DeadArgElim/musttail-caller.ll
    A llvm/test/Transforms/DeadArgElim/musttail-verifier.ll

  Log Message:
  -----------
  [DeadArgElim] fix verifier failure when changing musttail's function signature (#127366)

This commit is for #107569 and #126817.

Stop changing musttail's caller and callee's function signature when
calling convention is not swifttailcc nor tailcc. Verifier makes sure
musttail's caller and callee shares exactly the same signature, see
commit 9ff2eb1 and #54964.

Otherwise just make sure the return type is the same and then process
musttail like usual calls.

close #107569, #126817


  Commit: f989db5745b88cd72f2af7f67ff96071f5059922
      https://github.com/llvm/llvm-project/commit/f989db5745b88cd72f2af7f67ff96071f5059922
  Author: calebwat <107081575+calebwat at users.noreply.github.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  [NFC] Use cast instead of dyn_cast for Src and Dst vec types in VecCombine folding (#134432)

SrcVecTy and DstVecTy are used without a null check, and originate from
a dyn_cast. This patch adjusts this to use a fixed cast, since it is not
checked for null before use otherwise, but is semantically guaranteed
from previous checks.


  Commit: 15428e0d786939a5c7629a9978947c8a9112ce96
      https://github.com/llvm/llvm-project/commit/15428e0d786939a5c7629a9978947c8a9112ce96
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.waitcnt.out.order.ll
    A llvm/test/CodeGen/AMDGPU/waitcnt-sample-out-order.mir

  Log Message:
  -----------
  [AMDGPU] Add support for point sample accel out of order returns (#127991)

Add target feature for point sample acceleration and enable it for
relevant
targets.

Also add support to insert waitcnts where required when point sample
accel may
have occurred. This has implications for out of order returns, which is
why
extra waitcnts are required.

Add a VMEM_NOSAMPLER bit in the register masks to determine when
waitcnt is required.


  Commit: 4b267bb7c2f1f84e10d3d47d17e0a19de6559de2
      https://github.com/llvm/llvm-project/commit/4b267bb7c2f1f84e10d3d47d17e0a19de6559de2
  Author: Richard Howell <rmaz at users.noreply.github.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M lld/MachO/InputFiles.cpp
    A lld/test/MachO/tapi-rpath.s

  Log Message:
  -----------
  [lld] load rpaths from tbd files (#134925)

TBD files can contain rpaths, add support for setting them in DylibFile
during construction.


  Commit: 85614e160ba569d719452ec80b842a0edc5ab930
      https://github.com/llvm/llvm-project/commit/85614e160ba569d719452ec80b842a0edc5ab930
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/test/CIR/CodeGen/call.cpp
    A clang/test/CIR/IR/call.cir

  Log Message:
  -----------
  [CIR] Upstream initial function call support (#134673)

This patch upstreams initial support for making function calls in CIR.
Function arguments and return values are not included to keep the patch
small for review.

Related to #132487


  Commit: a693f23ef2fc4022383d986a365da325f3d42ade
      https://github.com/llvm/llvm-project/commit/a693f23ef2fc4022383d986a365da325f3d42ade
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/revec-load-compress.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix CompressVectorize does not expand mask when REVEC is enabled. (#135174)


  Commit: 8820f4e52b1b4ae59603b9307ded4ffc0f27c112
      https://github.com/llvm/llvm-project/commit/8820f4e52b1b4ae59603b9307ded4ffc0f27c112
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-vsetcc_fp.ll
    M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll

  Log Message:
  -----------
  [LLVM][CodeGen][AArch64] Regenerate CHECK lines for arm64-vsetcc_fp.ll and fp16-v4-instructions.ll.


  Commit: 2bbe8e825e53f3878c344adc7b5440c1040b097e
      https://github.com/llvm/llvm-project/commit/2bbe8e825e53f3878c344adc7b5440c1040b097e
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/test/Dialect/Tosa/level_check.mlir

  Log Message:
  -----------
  [mlir][tosa] Add more level_check tests for tensor_dim and tensor_size (#135062)

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: b17bd73e620b0040b04e368ebe4d963add4bbaf1
      https://github.com/llvm/llvm-project/commit/b17bd73e620b0040b04e368ebe4d963add4bbaf1
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/test/Dialect/Tosa/invalid.mlir

  Log Message:
  -----------
  [mlir][tosa] Add more negative tests for rank0 tensors, negate, and sub (#135061)

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 396e2ef3b7f43d59074738699b7c748a30e30376
      https://github.com/llvm/llvm-project/commit/396e2ef3b7f43d59074738699b7c748a30e30376
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect identity match for less-defined splat


  Commit: 3097ab0fe88809ca0cba754079766a56ec111df1
      https://github.com/llvm/llvm-project/commit/3097ab0fe88809ca0cba754079766a56ec111df1
  Author: Thomas BIZET <thomas.bizet at foss.st.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    A llvm/test/MC/ARM/directive-arch-armv8.1-m.s
    A llvm/test/MC/ARM/directive-arch-armv8.1m.s

  Log Message:
  -----------
  [ARM][MC] Add support for Armv8.1-M Mainline to '.arch' asm directive (#135184)

Armv8.1-M Mainline architecture is supported by Clang's driver & LLVM's
ARM backend, but MC would report an 'Unknown Arch: armv8.1-m.main' error
when processing '.arch armv8.1-m.main' assembler directives.


  Commit: 378ac572accc6d14ed36136f261951f8607a9169
      https://github.com/llvm/llvm-project/commit/378ac572accc6d14ed36136f261951f8607a9169
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.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/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/CodeGen/AArch64/vector-insert-dag-combines.ll
    A llvm/test/CodeGen/PowerPC/poison-legalization.ll
    A llvm/test/CodeGen/RISCV/poison-legalization.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/pr119158.ll

  Log Message:
  -----------
  Reland "[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR." (#135056)

A new ISD::POISON SDNode is introduced to represent the poison value in
the IR, replacing the previous use of ISD::UNDEF


  Commit: 959b8aaeacfd13717b7e2cf51ecceea27fcac9a8
      https://github.com/llvm/llvm-project/commit/959b8aaeacfd13717b7e2cf51ecceea27fcac9a8
  Author: Alan Li <me at alanli.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp

  Log Message:
  -----------
  [MLIR][NFC] Expose `computeProduct` function. (#135192)

Make it non-static, as its functionality is quite generic.


  Commit: 4ea57b3481c07fd8e19315752dfd0a03e1d7bd12
      https://github.com/llvm/llvm-project/commit/4ea57b3481c07fd8e19315752dfd0a03e1d7bd12
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll

  Log Message:
  -----------
  [SLP]Fix detection of matching splat vector

Need to check, that the mask of the potentially matching splat node is
not less defined than the requested mask to avoid poison propagation and
incorrect code.

Fixes #135113


  Commit: 83f831d46f46e9f68bec9b7a6592f678c8ba61ab
      https://github.com/llvm/llvm-project/commit/83f831d46f46e9f68bec9b7a6592f678c8ba61ab
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp

  Log Message:
  -----------
  Fix-forward -Wcovered-switch-default error in #134429

Remove the default case to avoid buildbot error (https://lab.llvm.org/buildbot/#/builders/66/builds/12382/steps/8/logs/stdio):
```
/home/b/sanitizer-x86_64-linux/build/llvm-project/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp:85:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
   85 |   default:
      |   ^
```

(also https://llvm.org/docs/CodingStandards.html#don-t-use-default-labels-in-fully-covered-switches-over-enumerations)


  Commit: 01a2922f0d35ac7e2062426b5e5dc5349485796a
      https://github.com/llvm/llvm-project/commit/01a2922f0d35ac7e2062426b5e5dc5349485796a
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes.rst
    R libcxx/docs/ReleaseNotes/19.rst

  Log Message:
  -----------
  [libc++][doc] Removes LLVM 19 Release Notes. (#134894)

There will be no more LLVM-19 releases so we will not backport patches
for this release. This makes these Release Notes obsolete.


  Commit: aaaa2a325bd1abb8c87e0171384fd2c42da5e38a
      https://github.com/llvm/llvm-project/commit/aaaa2a325bd1abb8c87e0171384fd2c42da5e38a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-last-inst-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll

  Log Message:
  -----------
  [SLP]Support vectorization of previously vectorized scalars in split nodes

Patch removes the restriction for the revectorization of the previously
vectorized scalars in split nodes, and moves the cost profitability
check to avoid regressions.

Reviewers: hiraditya, RKSimon

Reviewed By: RKSimon

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


  Commit: edf21314c98a4fe05d48f83dfab2b201ed8bfe9c
      https://github.com/llvm/llvm-project/commit/edf21314c98a4fe05d48f83dfab2b201ed8bfe9c
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
    A llvm/test/CodeGen/AArch64/bti-linkage.ll
    M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll

  Log Message:
  -----------
  [AArch64][v8.5A] Omit BTI for non-addr-taken static fns in ELF (#135043)

This follows up commit 7af2b51e761f499, which removed the BTI at the
start of functions with internal linkage (provided they weren't
indirectly called inside the translation unit) for Linux targets.

Now we leave out the BTI for any ELF target, including bare-metal,
because the AAELF64 document in the Arm ABI has been updated to make the
same guarantee as SYSVABI64: if the linker wants to insert an indirect
branch at link time (e.g. as part of a long branch thunk) it's
responsible for making a BTI-equipped landing pad.

That was too difficult to test in the existing codegen test
`patchable-function-entry-bti.ll`, because so much of LLVM's detailed
asm output changes for non-ELF targets. So I've simplified that back to
how it was before 7af2b51e761f499 (except that now it expects no BTI in
the disputed function), and made a new test checking specifically the
difference in BTI between the formats.


  Commit: 3c6c5c764ad4ccd6d5339cebf7ea1b19310b1176
      https://github.com/llvm/llvm-project/commit/3c6c5c764ad4ccd6d5339cebf7ea1b19310b1176
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp

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


  Commit: 0563569978fee1e780a560494c89869074933f58
      https://github.com/llvm/llvm-project/commit/0563569978fee1e780a560494c89869074933f58
  Author: alex-t <alex-t at users.noreply.github.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
    M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/sra.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
    A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll

  Log Message:
  -----------
  [AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#134153)

PHI operands and results must belong to the same register class.
If a PHI node produces an SGPR, but one of its operands is a VGPR, we
insert a VGPR-to-SGPR copy in the operand’s source block. The PHI
operand is then updated to use the destination register of the inserted
copy.

These inserted copies are processed immediately when they are created.
Therefore, we should avoid reprocessing them when handling their parent
block later.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: f2ff298867d7733122e32eead5a8c524b09dfdb1
      https://github.com/llvm/llvm-project/commit/f2ff298867d7733122e32eead5a8c524b09dfdb1
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/TargetRegistry.h
    M llvm/lib/MC/TargetRegistry.cpp

  Log Message:
  -----------
  [MC] Remove deprecated createAsmStreamer/createMCObjectStreamer with 3 trailing bool

They were deprecated around 867faeec054abb4c035673189c1169fef45f54c8
(June 2024)


  Commit: 2f41fa387d6734c637d02cbcf985c7b312b1e23b
      https://github.com/llvm/llvm-project/commit/2f41fa387d6734c637d02cbcf985c7b312b1e23b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libcxx/cmake/caches/AMDGPU.cmake
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Mapping.cpp
    A offload/test/api/amdgpu_code_object.c

  Log Message:
  -----------
  [AMDGPU] Fix code object version not being set to 'none' (#135036)

Summary:
Previously, we removed the special handling for the code object version
global. I erroneously thought that this meant we cold get rid of this
weird `-Xclang` option. However, this also emits an LLVM IR module flag,
which will then cause linking issues.


  Commit: 750d009bb22015be4b8b6278fb24dbda90c7b485
      https://github.com/llvm/llvm-project/commit/750d009bb22015be4b8b6278fb24dbda90c7b485
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/shift-i512.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
    M llvm/test/CodeGen/X86/widen_fdiv.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - add concatenation handling for BITCAST nodes (#133913)

These nodes are effectively free, so we should only concatenate if the
inner nodes will concatenate together.

This also exposed a regression in canonicalizeShuffleWithOp that failed
to realize it could potentially merge shuffles with a CONCAT_VECTORS
node.


  Commit: 18fe0124e7abbaba64db5793503cc86cb52965d8
      https://github.com/llvm/llvm-project/commit/18fe0124e7abbaba64db5793503cc86cb52965d8
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/connection.h
    M flang-rt/include/flang-rt/runtime/io-stmt.h
    M flang-rt/lib/runtime/connection.cpp
    M flang-rt/lib/runtime/edit-input.cpp
    M flang-rt/lib/runtime/io-api.cpp
    M flang-rt/lib/runtime/io-stmt.cpp
    M flang-rt/lib/runtime/unit.cpp
    M flang/include/flang/Common/uint128.h

  Log Message:
  -----------
  [flang][runtime] Formatted input optimizations (#134715)

Make some minor tweaks (inlining, caching) to the formatting input path
to improve integer input in a SPEC code. (None of the I/O library has
been tuned yet for performance, and there are some easy optimizations
for common cases.) Input integer values are now calculated with native
C/C++ 128-bit integers.

A benchmark that only reads about 5M lines of three integer values each
speeds up from over 8 seconds to under 3 in my environment with these
changeds.

If this works out, the code here can be used to optimize the formatted
input paths for real and character data, too.

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


  Commit: cf8c02f71d43b93241eb5d8262a829047afcbfb7
      https://github.com/llvm/llvm-project/commit/cf8c02f71d43b93241eb5d8262a829047afcbfb7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang/lib/Parser/parsing.cpp
    A flang/test/Preprocessing/bug134986.F90

  Log Message:
  -----------
  [flang] Don't insert spaces in -E output after line continuation (#135063)

See test case. When Fortran line continuation has been used, don't
insert spaces in -E formatted output to put things into the right
column, as this can break up a token.

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


  Commit: 61a72890774354aeed188d45aa161ff6bbddc581
      https://github.com/llvm/llvm-project/commit/61a72890774354aeed188d45aa161ff6bbddc581
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/test/Bitcode/calling-conventions.3.2.ll

  Log Message:
  -----------
  [NFC] Remove trailing whitespaces in `llvm/test/Bitcode/calling-conventions.3.2.ll`


  Commit: 464035fc7de52b6fe9b09c9f4c9a19fd5d46fcae
      https://github.com/llvm/llvm-project/commit/464035fc7de52b6fe9b09c9f4c9a19fd5d46fcae
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
    M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/sra.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    R llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
    R llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll

  Log Message:
  -----------
  Revert "[AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#134153)"

This reverts commit 0563569978fee1e780a560494c89869074933f58.

Breaks tests, see comments on https://github.com/llvm/llvm-project/pull/134153


  Commit: 3954d258a5d20c418718bb2f655665e02e6a7475
      https://github.com/llvm/llvm-project/commit/3954d258a5d20c418718bb2f655665e02e6a7475
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/AST.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
    M clang/test/SemaCXX/undefined-partial-specialization.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/SemaTemplate/type_pack_element.cpp
    M clang/unittests/AST/TypePrinterTest.cpp

  Log Message:
  -----------
  [clang] Improved canonicalization for template specialization types (#135119)

This changes the TemplateArgument representation to hold a flag
indicating whether a template argument of expression type is supposed to
be canonical or not.

This gets one step closer to solving
https://github.com/llvm/llvm-project/issues/92292

This still doesn't try to unique as-written TSTs. While this would
increase the amount of memory savings and make code dealing with the AST
more well-behaved, profiling template argument lists is still too
expensive for this to be worthwhile, at least for now. Without this
uniquing, this patch stands neutral in terms of performance impact.

This also fixes the context creation of TSTs, so that they don't in some
cases get incorrectly flagged as sugar over their own canonical form.
This is captured in the test expectation change of some AST dumps.

This fixes some places which were unnecessarily canonicalizing these
TSTs.


  Commit: 39562de51007e9d6a2ce444475a7b78fba9fafcb
      https://github.com/llvm/llvm-project/commit/39562de51007e9d6a2ce444475a7b78fba9fafcb
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/InstSimplify/shr-nop.ll

  Log Message:
  -----------
  [ValueTracking] Handle assume(trunc x to i1) in ComputeKnownBits (#118406)

proof: https://alive2.llvm.org/ce/z/zAspzb


  Commit: a4e6a771a68660de312aeaaceed0c7d41a680912
      https://github.com/llvm/llvm-project/commit/a4e6a771a68660de312aeaaceed0c7d41a680912
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py

  Log Message:
  -----------
  libcxx: In gdb test detect execute_mi with feature check instead of version check.

The existing version check can lead to test failures on some distribution
packages of gdb where not all components of the version number are
integers, such as Fedora where gdb.VERSION can be something like
"15.2-4.fc41". Fix it by replacing the version check with a feature check.

Reviewers: philnik777

Reviewed By: philnik777

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


  Commit: f53eb88d2589590960b56a3cc54c5da97cc41842
      https://github.com/llvm/llvm-project/commit/f53eb88d2589590960b56a3cc54c5da97cc41842
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M lld/ELF/Relocations.cpp

  Log Message:
  -----------
  ELF: Remove lock from MTE global relocation handling code.

This lock is unnecessary because we can add the relocations to
shards and let them be sorted later.

Reviewers: smithp35, fmayer, MaskRay

Reviewed By: MaskRay

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


  Commit: cd56666d7b6fa0b3214c226b2ae8a473537a009e
      https://github.com/llvm/llvm-project/commit/cd56666d7b6fa0b3214c226b2ae8a473537a009e
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/io-stmt.h

  Log Message:
  -----------
  [flang][runtime] Fix CUDA flang-rt build breakage (#135220)

I used "std::nullopt" instead of the correct "Fortran::common::nullopt"
in a recent patch, and you can get away with that only for CPU builds.
Fix.


  Commit: 2927050dd4f9df5ec85c6ecb0ac1450a8695b242
      https://github.com/llvm/llvm-project/commit/2927050dd4f9df5ec85c6ecb0ac1450a8695b242
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M bolt/include/bolt/Passes/PAuthGadgetScanner.h
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s

  Log Message:
  -----------
  [BOLT] Gadget scanner: refine class names and debug output (NFC) (#135073)

Scanning functions without CFG information as well as the detection of
authentication oracles requires introducing more classes related to
register state analysis. To make the future code easier to understand,
rename several classes beforehand.

To detect authentication oracles, one has to query the properties of
*output* operands of authentication instructions *after* the instruction
is executed - this requires adding another analysis that iterates over
the instructions in reverse order, and a corresponding state class.

As the main difference of the existing `State` class is that it stores
the properties of source register operands of the instructions before
the instruction's execution, rename it to `SrcState` and
`PacRetAnalysis` to `SrcSafetyAnalysis`.

Apply minor adjustments to the debug output along the way.


  Commit: 9102ccd2f7025dff6b858b813d089bec152365ba
      https://github.com/llvm/llvm-project/commit/9102ccd2f7025dff6b858b813d089bec152365ba
  Author: Malavika Samak <malavika.samak at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [CXX Safe Buffer] Update the documentation for unsafe_buffer_usage attribute (#135087)

Update the documentation for the unsafe_buffer_usage attribute to
capture the new behavior introduced by
https://github.com/llvm/llvm-project/pull/125671

Co-authored-by: MalavikaSamak <malavika2 at apple.com>


  Commit: 6493345c5ab96f60ab5ee38272fb6635f2083318
      https://github.com/llvm/llvm-project/commit/6493345c5ab96f60ab5ee38272fb6635f2083318
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M lldb/tools/driver/CMakeLists.txt
    M lldb/tools/driver/Driver.cpp

  Log Message:
  -----------
  [lldb] Handle signals in a separate thread in the driver (#134956)

Handle signals in a separate thread in the driver so that we can stop
worrying about signal safety of functions in libLLDB that may get called
from a signal handler.


  Commit: 6ca9a30c26641ac5f836cf794bed01ff61972f37
      https://github.com/llvm/llvm-project/commit/6ca9a30c26641ac5f836cf794bed01ff61972f37
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/ConvertCall.cpp
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf

  Log Message:
  -----------
  [flang][cuda] Update stream operand type for cuf.kernel_launch op (#135222)


  Commit: 337a4d5526618c7c16f20967f7bd10d1cf27c6c4
      https://github.com/llvm/llvm-project/commit/337a4d5526618c7c16f20967f7bd10d1cf27c6c4
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/bswap.ll
    M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll

  Log Message:
  -----------
  [NVPTX] Use sink registers instead of temp registers where possible. (#134957)

PTX 7.1 introduces the concept of a "sink" register, `_`, which is a
register to which writes are ignored.

This patch makes us use sink registers where possible, instead of using
explicit temp registers.

This results in cleaner assembly, and also works around a problem we
encountered in some private workloads.

(Unfortunately the tablegen is not particularly clean. But then again,
it's tablegen...)


  Commit: 755016a3a82eb1850d88b47d636088fb76e5f091
      https://github.com/llvm/llvm-project/commit/755016a3a82eb1850d88b47d636088fb76e5f091
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/terminator.h
    M flang-rt/lib/runtime/stop.cpp
    M flang-rt/lib/runtime/terminator.cpp
    M flang/include/flang/Common/enum-class.h
    M flang/include/flang/Runtime/complex.h

  Log Message:
  -----------
  [flang-rt] Fixed warnings and miscompilations in CUDA build. (#134470)

* DescribeIEEESignaledExceptions() is unused on the device - warning.
* StopStatementText() could return while marked noreturn - warning.
* Including cuda/std/complex only in the device compilation
  may cause nvcc to try to register variables in `cuda` namespace,
  while they are not defined in the host compilation - error.
  I decided to include cuda/std/complex always under RT_USE_LIBCUDACXX.


  Commit: 589e1c73d0fa2692cf997a7a9c2286996ad2fec7
      https://github.com/llvm/llvm-project/commit/589e1c73d0fa2692cf997a7a9c2286996ad2fec7
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
    A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl

  Log Message:
  -----------
  [HLSL] Add support for modulo of floating point scalar and vectors (#135125)

fixes #135122

SemaExpr.cpp - Make all doubles fail. Add sema support for float scalars
and vectors when language mode is HLSL.
CGExprScalar.cpp - Allow emit frem when language mode is HLSL.


  Commit: 8bea91f677be4a05b1256a8052ab84dcd7ccb050
      https://github.com/llvm/llvm-project/commit/8bea91f677be4a05b1256a8052ab84dcd7ccb050
  Author: Leonard Grey <lgrey at chromium.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputFiles.h
    A lld/test/MachO/archive-no-index.ll
    A lld/test/MachO/archive-no-index.s
    R lld/test/MachO/invalid/archive-no-index.s

  Log Message:
  -----------
  [lld-macho] Support archives without index (#132942)

This is a ~port of https://reviews.llvm.org/D117284. Like in that
change, archives without indices are treated as a collection of lazy
object files (as in `--start-lib/--end-lib`)

Porting the ELF follow-up to convert *all* archives to the lazy object
code path (https://reviews.llvm.org/D119074) is a natural next step, but
we would need to ensure the assertions about memory use hold for Mach-O.

NB: without an index, we can't do the part of the `-ObjC` scan where we
check for Objective-C symbols directly. We *can* still check for
`__obcj` sections so I wonder how much of a problem this actually is,
since I'm not sure how the "symbols but no sections" case can appear in
the wild.


  Commit: c893f1d18da6547027648f44592f61c08570d80f
      https://github.com/llvm/llvm-project/commit/c893f1d18da6547027648f44592f61c08570d80f
  Author: Tim Clephas <tim.clephas at nobleo.nl>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/docs/ClangFormat.rst
    M clang/lib/Format/Format.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/clang-format-diff.py
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  Treat ipynb as json (#135137)

Fixes #110727


  Commit: 22c3dac454954a83efbfe147dd8d3dff6df39143
      https://github.com/llvm/llvm-project/commit/22c3dac454954a83efbfe147dd8d3dff6df39143
  Author: Pranav Kant <prka at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Fix for #134956 (#135233)


  Commit: ccdbd3b78d19ba53d1c32fd506c72529cf6a7c17
      https://github.com/llvm/llvm-project/commit/ccdbd3b78d19ba53d1c32fd506c72529cf6a7c17
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir

  Log Message:
  -----------
  [mlir][tosa] Rename int_div to intdiv (#135080)

This patch renames Tosa Operator int_div to intdiv to align with 1.0
spec

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: ca5346313782f53658ed383e802f6e45aaeacd42
      https://github.com/llvm/llvm-project/commit/ca5346313782f53658ed383e802f6e45aaeacd42
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-launch.fir

  Log Message:
  -----------
  [flang][cuda] Propagate stream information to gpu.launch_func op (#135227)

Use the information from `cuf.kernel_launch` to `gpu.launch_func`


  Commit: 9c31155ead6e68450b8c2de38f5bec8f5c5db810
      https://github.com/llvm/llvm-project/commit/9c31155ead6e68450b8c2de38f5bec8f5c5db810
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/RegisterBankEmitter.cpp

  Log Message:
  -----------
  TableGen: Optimize super-register class computation (#134865)

Inferring super-register classes naively requires checking every
register class against every other register class and sub-register
index.
Each of those checks is itself a non-trivial operation on register sets.

Culling as many (RC, RC, SubIdx) triples as possible is important for
the running time of TableGen for architectures with complex sub-register
relations.

Use transitivity to cull many (RC, RC, SubIdx) triples. This
unfortunately requires us to complete the transitive closure of
super-register classes explicitly, but it still cuts down the running
time on AMDGPU substantially -- in some upcoming work in the
backend by more than half (in very rough measurements).

This changes the names of some of the inferred register classes, since
the order in which they are inferred changes. The names of the inferred
register classes become shorter, which reduces the size of the generated
files.

Replacing some uses of SmallPtrSet by DenseSet shaves off a few more
percent; there are hundreds of register classes in AMDGPU.

Tweaking the topological signature check to skip reigsters without
super-registers further helps skip register classes that have "pseudo"
registers in them whose sub- and super-register structure is trivial.


  Commit: d07a2164e7c7812b96b0f04a39af5483660bac71
      https://github.com/llvm/llvm-project/commit/d07a2164e7c7812b96b0f04a39af5483660bac71
  Author: Drew Lewis <cannada at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M libc/src/__support/FPUtil/aarch64/sqrt.h
    M libc/src/__support/FPUtil/arm/sqrt.h
    M libc/src/__support/FPUtil/riscv/sqrt.h
    M libc/src/__support/FPUtil/x86_64/sqrt.h

  Log Message:
  -----------
  Add generic sqrt root headers to libc sqrt specializations (#135237)

This header is needed to provide the declaration for the sqrt template.
You can build without these in the CMake build, but not having this
include in the architecture specific headers makes them not self
contained.


  Commit: d7cb24e10d7c5468b91fa7297a1f4c97a663618a
      https://github.com/llvm/llvm-project/commit/d7cb24e10d7c5468b91fa7297a1f4c97a663618a
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp

  Log Message:
  -----------
  [MLIR][NVVM] Run clang-tidy (#135006)


  Commit: 72436b37bf4203ee43395c65cc179dc573f79251
      https://github.com/llvm/llvm-project/commit/72436b37bf4203ee43395c65cc179dc573f79251
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  [InstCombine] add more test for #134712 (NFC)


  Commit: dcb90780817461ba30ced78338b2270fd3307873
      https://github.com/llvm/llvm-project/commit/dcb90780817461ba30ced78338b2270fd3307873
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/Lex/PPDirectives.cpp
    A clang/test/Index/single-file-parse-include-macro.c

  Log Message:
  -----------
  [clang][index] Skip over `#include UNDEF_IDENT` in single-file-parse mode (#135218)

In the 'single-file-parse' mode, seeing `#include UNDEFINED_IDENTIFIER`
should not be treated as an error. The identifier might be defined in a
header that we decided to skip, resulting in a nonsensical diagnostic
from the user point of view.


  Commit: 74c2b41feb72698ea79b6bdc2dc566d0a25a68b0
      https://github.com/llvm/llvm-project/commit/74c2b41feb72698ea79b6bdc2dc566d0a25a68b0
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/test/CIR/CodeGenOpenACC/init.c
    M clang/test/CIR/CodeGenOpenACC/shutdown.c

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'device_type' clause lowering for 'init'/'sh… (#135102)

…utdown'

This patch emits the lowering for 'device_type' on an 'init' or
'shutdown'. This one is fairly unique, as these directives have it as an
attribute, rather than as a component of the individual operands, like
the rest of the constructs.

So this patch implements the lowering as an attribute.

In order to do tis, a few refactorings had to happen: First, the
'emitOpenACCOp' functions needed to pick up th edirective kind/location
so that the NYI diagnostic could be reasonable.

Second, and most impactful, the `applyAttributes` function ends up
needing to encode some of the appertainment rules, thanks to the way the
OpenACC-MLIR operands get their attributes attached. Since they each use
a special function (rather than something that can be legalized at
runtime), the forms of 'setDefaultAttr' is only valid for some ops. SO
this patch uses some `if constexpr` and a small type-trait to help
legalize these.


  Commit: a1bca4ba3714bffac5dc27d286b5bd4fcdcc40ab
      https://github.com/llvm/llvm-project/commit/a1bca4ba3714bffac5dc27d286b5bd4fcdcc40ab
  Author: Pranav Kant <prka at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/test/Driver/openacc-no-cir.c

  Log Message:
  -----------
  [clang] Make tests write to /dev/null if output is not needed (#135242)

We execute tests in read only environment which leads to test failure
when tests try to write to the current directory. Either they should
write to a temporary directory or not write if output is not needed.

Fallback from #134717


  Commit: 53ae2bdceb124fa87ff4d2bcdc842e388e817fde
      https://github.com/llvm/llvm-project/commit/53ae2bdceb124fa87ff4d2bcdc842e388e817fde
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp

  Log Message:
  -----------
  [mlir][NVVM] Remove commented out code (#135144)

This addresses a comment on #135051.


  Commit: 9188288581f73a10bff9ee1500146dff7901e94c
      https://github.com/llvm/llvm-project/commit/9188288581f73a10bff9ee1500146dff7901e94c
  Author: darkbuck <michael.hliao at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Target/LLVMIR/DataLayoutImporter.h
    M mlir/test/Target/LLVMIR/Import/data-layout.ll

  Log Message:
  -----------
  [mlir][DataLayout] Keep consistent input/output order (#135185)

- Use 'MapVector' instead of 'DenseMap' to keep a consistent order when
importing/printing entries to prevent run-by-run differences.


  Commit: 966667f5419d6cdd8d02fdf9ad2e39c0a2f94fe1
      https://github.com/llvm/llvm-project/commit/966667f5419d6cdd8d02fdf9ad2e39c0a2f94fe1
  Author: Ashley Coleman <ascoleman at microsoft.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/unittests/Analysis/DXILResourceTest.cpp

  Log Message:
  -----------
  [NFC][HLSL] Refactor DXILResourceTest for upcoming PR (#134952)

Local changes were getting pretty large and complex so this is an NFC
refactor PR to simplify the upcoming changes


  Commit: e762baffd9f115106f861a236c56093c85dfbc93
      https://github.com/llvm/llvm-project/commit/e762baffd9f115106f861a236c56093c85dfbc93
  Author: David Green <david.green at arm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td

  Log Message:
  -----------
  [AArch64] Move SLId/SRId patterns into instruction definitions. NFC

The v1i64 patterns were next to the vector variants, not the SIMDScalar
instructions tht define them. In moving them closer they cal also be
incorporated into the definitions themselves. SIMDScalarRShiftDTied is
altered to remove the redundant i64 variants.


  Commit: 61d04f1aac96f671a3975e04dac02d270b86ac4d
      https://github.com/llvm/llvm-project/commit/61d04f1aac96f671a3975e04dac02d270b86ac4d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Extract preliminary checks from buildTree_rec, NFC

Moved check from buildTree_rec function to a separate
isLegalToVectorizeScalars function.

Reviewers: RKSimon, hiraditya

Reviewed By: RKSimon

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


  Commit: ed4c3979085d1a7a5e32b5743aa9de1a22784161
      https://github.com/llvm/llvm-project/commit/ed4c3979085d1a7a5e32b5743aa9de1a22784161
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M .github/workflows/ci-post-commit-analyzer.yml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/spirv-tests.yml

  Log Message:
  -----------
  [Github] Bump workflows depending on CI container to ubuntu 24.04 (#133626)

This patch bumps workflows depending upon the Linux CI container to
ubuntu 24.04. The 22.04 container is no longer being built as it was
recently bumped to 24.04, so this patch moves all of these workflows
over to the new container to keep them updated and ensure they are using
an actually maintained version of the container image.


  Commit: 18189430abbbc13b055d029683413e992a3eac2d
      https://github.com/llvm/llvm-project/commit/18189430abbbc13b055d029683413e992a3eac2d
  Author: tltao <tony.le.tao at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
    A llvm/test/CodeGen/SystemZ/init-undef.mir

  Log Message:
  -----------
  [SystemZ] Add check for INIT_UNDEF in getInstSizeInBytes (#134661)

Due to some optimization changes, INIT_UNDEF is making its way to
`getInstSizeInBytes` in `llvm/lib/Target/SystemZ/SystemZLongBranch.cpp`
but we do not have an exception there in the assert. Since INIT_UNDEF is
described as being similar to IMPLICIT_DEF and there is a check for
IMPLICIT_DEF, it seems logical to also add a check for INIT_UNDEF.

---------

Co-authored-by: Tony Tao <tonytao at ca.ibm.com>


  Commit: edd7b559c09e8e9b1fd0fc1905f0aaa67c74331f
      https://github.com/llvm/llvm-project/commit/edd7b559c09e8e9b1fd0fc1905f0aaa67c74331f
  Author: alex-t <alex-t at users.noreply.github.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
    M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/sra.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
    A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll

  Log Message:
  -----------
  Reapply [AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#135243)

LIT tests which were incorrectly merged are corrected.


  Commit: a80a802d2f077257bcfee3aec67ea12dfc4e94da
      https://github.com/llvm/llvm-project/commit/a80a802d2f077257bcfee3aec67ea12dfc4e94da
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/IROutliner.cpp

  Log Message:
  -----------
  IROutliner: Use ValueMapper to remap constants in a function (#134850)

Stop relying on the uselist of constants, which also required filtering
the uses that are in the correct function. I'm not sure why this pass is
doing its own cloning instead of building the value map while doing its
cloning.


  Commit: 5aeeebc1f4919c67b35954865d0cb2190517688e
      https://github.com/llvm/llvm-project/commit/5aeeebc1f4919c67b35954865d0cb2190517688e
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/undef-args.ll

  Log Message:
  -----------
  [NFC] add a pre-commit test case for patch 122741 (#135247)

[NFC] add a pre-commit test case for patch [Eliminating li of 0 into arg
registers of unused
arguments](https://github.com/llvm/llvm-project/pull/122741)

The test case tests that extend poison are lower to undef and also test
there are redendunt instrution load 0 into argument registers for unused
arguments.


  Commit: 641de84d3b3112b80683875af1fc01c45bc1afb3
      https://github.com/llvm/llvm-project/commit/641de84d3b3112b80683875af1fc01c45bc1afb3
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  [DirectX] legalize powi (#135228)

fixes #135221
- have powi use the same legalization path as pow
- use CreateSIToFP to cast the int back to a float type
- add tests for powi


  Commit: 49f8ccd1ebe5caf4185230014701e861c43cefca
      https://github.com/llvm/llvm-project/commit/49f8ccd1ebe5caf4185230014701e861c43cefca
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang-rt/lib/cuda/kernel.cpp
    M flang/include/flang/Runtime/CUDA/kernel.h
    M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
    M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir

  Log Message:
  -----------
  [flang][cuda] Pass stream information to kernel launch functions (#135246)


  Commit: 721af7e636c3dc9bbc5b13ef52331addc8242b50
      https://github.com/llvm/llvm-project/commit/721af7e636c3dc9bbc5b13ef52331addc8242b50
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_errors.cpp
    M compiler-rt/lib/asan/asan_flags.inc
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/asan/asan_poisoning.h
    M compiler-rt/lib/asan/asan_posix.cpp
    A compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
    A compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp

  Log Message:
  -----------
  [asan] Add experimental 'poison_history_size' flag (#133175)

This adds an experimental flag that will keep track of where the manual memory poisoning (`__asan_poison_memory_region`) is called from, and print the stack trace if the poisoned region is accessed. (Absent this flag, ASan will tell you what code accessed a poisoned region, but not which code set the poison.)

This implementation performs best-effort record keeping using ring buffers, as suggested by Vitaly. The size of each ring buffer is set by the `poison_history_size` flag.


  Commit: 36acaa0be5cf6273200d4cc4c35042c4bfc3861b
      https://github.com/llvm/llvm-project/commit/36acaa0be5cf6273200d4cc4c35042c4bfc3861b
  Author: Pengxuan Zheng <pzheng at quicinc.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    R llvm/test/CodeGen/Thumb2/constant-islands-no-split.mir

  Log Message:
  -----------
  Revert "[ARM][ConstantIslands] Correct MinNoSplitDisp calculation (#114590)"

This reverts commit e48916f615e0ad2b994b2b785d4fe1b8a98bc322.


  Commit: db22909089dbc28d072e8cba6183f5a51f418bf0
      https://github.com/llvm/llvm-project/commit/db22909089dbc28d072e8cba6183f5a51f418bf0
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/test/CIR/CodeGen/basic.c

  Log Message:
  -----------
  [CIR] Upstream support for cir.get_global (#135095)

This adds basic support for referencing global variables from within
functions via the cir.get_global operation.


  Commit: e4a79b7122cbe6470c1a42e7b3549c37a1a6408d
      https://github.com/llvm/llvm-project/commit/e4a79b7122cbe6470c1a42e7b3549c37a1a6408d
  Author: jeremyd2019 <github at jdrake.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lld/MinGW/Driver.cpp

  Log Message:
  -----------
  [LLD] [MinGW] Fall back to using default target if no -m flag given. (#134700)

On Cygwin at least, GCC is not passing any -m flag to the linker, so
fall back to the default target triple to determine if we need to apply
i386-specific behaviors.

Fixes #134558


  Commit: 801b519dfd01e21da0be17aa8f8dc2ceb0eb9e77
      https://github.com/llvm/llvm-project/commit/801b519dfd01e21da0be17aa8f8dc2ceb0eb9e77
  Author: mojyack <66899529+mojyack at users.noreply.github.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp

  Log Message:
  -----------
  [sanitizer_common] Fix build on ppc64+musl (#120036)

In powerpc64-unknown-linux-musl, signal.h does not include asm/ptrace.h,
which causes "member access into incomplete type 'struct pt_regs'"
errors. Include the header explicitly to fix this.

Also in sanitizer_linux_libcdep.cpp, there is a usage of TlsPreTcbSize
which is not defined in such a platform. Guard the branch with macro.


  Commit: 6a9e8fc50c87a01798b847e623139fc21249c2bb
      https://github.com/llvm/llvm-project/commit/6a9e8fc50c87a01798b847e623139fc21249c2bb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll

  Log Message:
  -----------
  [VPlan] Introduce VPInstructionWithType, use instead of VPScalarCast(NFC) (#129706)

There are some opcodes that currently require specialized recipes, due
to their result type not being implied by their operands, including
casts.

This leads to duplication from defining multiple full recipes.

This patch introduces a new VPInstructionWithType subclass that also
stores the result type. The general idea is to have opcodes needing to
specify a result type to use this general recipe. The current patch
replaces VPScalarCastRecipe with VInstructionWithType, a similar patch
for VPWidenCastRecipe will follow soon.

There are a few proposed opcodes that should also benefit, without the
need of workarounds:
* https://github.com/llvm/llvm-project/pull/129508
* https://github.com/llvm/llvm-project/pull/119284

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


  Commit: 01ee922b2abe905bc922bc809141cba2ad13157c
      https://github.com/llvm/llvm-project/commit/01ee922b2abe905bc922bc809141cba2ad13157c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll

  Log Message:
  -----------
  [RISCV] Add coverage for missing vrgather.vi shuffle case

If we have a near identity shuffle with a single element repeated, we
manage to match this as a masked vrgather.vi for the two operand
forms, but not the single operand form.  If the scalar being repeated
was a scalar just inserted into the vector, we're also missing a
chance to recognize a vmerge.vxm or vmerge.vim in both cases.


  Commit: 5de3118c677943848c0897e3e30208d744337b2d
      https://github.com/llvm/llvm-project/commit/5de3118c677943848c0897e3e30208d744337b2d
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
    M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit3.ll

  Log Message:
  -----------
  [AMDGPU] Make the iterative schedulers selectable via amdgpu-sched-strategy (#135042)

Currently, the only way for users to try these schedulers is via
`-misched=` . However, this overrides the default scheduler for all
targets. This causes problems for various toolchains / drivers which
spawn jobs for both x86 and AMDGPU -- e.g. hipcc. On the other hand,
`amdgpu-sched-strategy` only changes the scheduler for AMDGPU target.


  Commit: 26678454847e7b76ff8947c50c93d203de4a15a0
      https://github.com/llvm/llvm-project/commit/26678454847e7b76ff8947c50c93d203de4a15a0
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/test/SemaOpenACC/set-construct.cpp

  Log Message:
  -----------
  [OpenACC] device_type on set should have only 1 architecture

Discussions with the OpenACC Standard folks and the dialect folks showed
that the ability to have 'set' have a 'device_type' with more than one
architecture was a mistake, and one that will be fixed in future
revisions of the standard.  Since the dialect requires this anyway,
we'll implement this in advance of standardization.


  Commit: 78921cd884c37ba18ded34b6d32a548c069d6a84
      https://github.com/llvm/llvm-project/commit/78921cd884c37ba18ded34b6d32a548c069d6a84
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/Lowering/array.cpp

  Log Message:
  -----------
  [CIR] Upstream ArraySubscriptExpr for fixed size array (#134536)

This change adds ArraySubscriptExpr for fixed size ArrayType

Issue #130197


  Commit: 324083b5fe13c2d1efa88b6bb81e440f950262e8
      https://github.com/llvm/llvm-project/commit/324083b5fe13c2d1efa88b6bb81e440f950262e8
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  [asan] Fix-forward #133175 by avoiding designated initializers

My patch broke the Windows build:

C:\PROGRA~2\MIB055~1\2019\PROFES~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo /TP -DASAN_DYNAMIC=1 -DINTERCEPTION_DYNAMIC_CRT -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\lib\asan -IC:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan -IC:\b\slave\sanitizer-windows\build\stage1\include -IC:\b\slave\sanitizer-windows\llvm-project\llvm\include -IC:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\.. /DWIN32 /D_WINDOWS   /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Z7 /Oi /bigobj /permissive- -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /W4 /O2 /Ob2  -std:c++17 -MD /Oy- /GS- /Zc:threadSafeInit- /Z7 /wd4146 /wd4291 /wd4391 /wd4722 /wd4800 /Zl /GR- /experimental:external /external:W0 /external:anglebrackets /showIncludes /Foprojects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic.x86_64.dir\asan_poisoning.cpp.obj /Fdprojects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic.x86_64.dir\ /FS -c C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\asan_poisoning.cpp
C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\asan_poisoning.cpp(164): error C7555: use of designated initializers requires at least '/std:c++20'
[2/3] Building CXX object projects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic_version_script_dummy.x86_64.dir\dummy.cpp.obj

https://lab.llvm.org/buildbot/#/builders/107/builds/9712/steps/4/logs/stdio


  Commit: 80267f81482486977b3bdecf3855fc6a3096f912
      https://github.com/llvm/llvm-project/commit/80267f81482486977b3bdecf3855fc6a3096f912
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/Driver/systemz-march.c
    M clang/test/Misc/target-invalid-cpu-note/systemz.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZProcessors.td
    M llvm/lib/Target/SystemZ/SystemZSchedule.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
    A llvm/lib/Target/SystemZ/SystemZScheduleZ17.td
    M llvm/lib/TargetParser/Host.cpp
    M llvm/test/Analysis/CostModel/SystemZ/divrem-reg.ll
    M llvm/test/Analysis/CostModel/SystemZ/i128-cmp-ext-conv.ll
    M llvm/test/Analysis/CostModel/SystemZ/int-arith.ll
    M llvm/test/CodeGen/SystemZ/args-12.ll
    M llvm/test/CodeGen/SystemZ/args-13.ll
    M llvm/test/CodeGen/SystemZ/bitop-intrinsics.ll
    M llvm/test/CodeGen/SystemZ/int-abs-03.ll
    M llvm/test/CodeGen/SystemZ/int-add-19.ll
    M llvm/test/CodeGen/SystemZ/int-cmp-64.ll
    M llvm/test/CodeGen/SystemZ/int-conv-15.ll
    M llvm/test/CodeGen/SystemZ/int-div-08.ll
    M llvm/test/CodeGen/SystemZ/int-max-02.ll
    M llvm/test/CodeGen/SystemZ/int-min-02.ll
    M llvm/test/CodeGen/SystemZ/int-mul-14.ll
    M llvm/test/CodeGen/SystemZ/int-mul-15.ll
    M llvm/test/CodeGen/SystemZ/int-mul-16.ll
    M llvm/test/CodeGen/SystemZ/int-neg-04.ll
    M llvm/test/CodeGen/SystemZ/int-sub-12.ll
    M llvm/test/CodeGen/SystemZ/llxa-01.ll
    M llvm/test/CodeGen/SystemZ/llxa-02.ll
    M llvm/test/CodeGen/SystemZ/llxa-03.ll
    M llvm/test/CodeGen/SystemZ/llxa-04.ll
    M llvm/test/CodeGen/SystemZ/llxa-05.ll
    M llvm/test/CodeGen/SystemZ/lxa-01.ll
    M llvm/test/CodeGen/SystemZ/lxa-02.ll
    M llvm/test/CodeGen/SystemZ/lxa-03.ll
    M llvm/test/CodeGen/SystemZ/lxa-04.ll
    M llvm/test/CodeGen/SystemZ/lxa-05.ll
    M llvm/test/CodeGen/SystemZ/scalar-ctlz-03.ll
    M llvm/test/CodeGen/SystemZ/scalar-ctlz-04.ll
    M llvm/test/CodeGen/SystemZ/scalar-cttz-03.ll
    M llvm/test/CodeGen/SystemZ/scalar-cttz-04.ll
    M llvm/test/CodeGen/SystemZ/vec-cmp-09.ll
    M llvm/test/CodeGen/SystemZ/vec-div-03.ll
    M llvm/test/CodeGen/SystemZ/vec-eval.ll
    M llvm/test/CodeGen/SystemZ/vec-intrinsics-05.ll
    M llvm/test/CodeGen/SystemZ/vec-mul-06.ll
    M llvm/test/CodeGen/SystemZ/vec-mul-08.ll
    M llvm/test/CodeGen/SystemZ/vec-mul-10.ll
    M llvm/test/CodeGen/SystemZ/vec-mul-12.ll
    M llvm/test/CodeGen/SystemZ/vec-mul-14.ll
    M llvm/test/CodeGen/SystemZ/vec-unpack-02.ll
    M llvm/test/CodeGen/SystemZ/vec-unpack-04.ll
    R llvm/test/MC/Disassembler/SystemZ/insns-arch15.txt
    A llvm/test/MC/Disassembler/SystemZ/insns-z17.txt
    R llvm/test/MC/SystemZ/insn-bad-arch15.s
    A llvm/test/MC/SystemZ/insn-bad-z17.s
    R llvm/test/MC/SystemZ/insn-good-arch15.s
    A llvm/test/MC/SystemZ/insn-good-z17.s
    M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
    M llvm/unittests/TargetParser/Host.cpp

  Log Message:
  -----------
  Support z17 processor name and scheduler description (#135254)

The recently announced IBM z17 processor implements the architecture
already supported as "arch15" in LLVM. This patch adds support for "z17"
as an alternate architecture name for arch15.

This patch also add the scheduler description for the z17 processor,
provided by Jonas Paulsson.


  Commit: c26d097d0c3e0e3924e273c0ec2d1e57192e66c8
      https://github.com/llvm/llvm-project/commit/c26d097d0c3e0e3924e273c0ec2d1e57192e66c8
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm

  Log Message:
  -----------
  [alpha.webkit.RetainPtrCtorAdoptChecker] Support adopt(cast(copy(~)) (#132316)

This PR adds the support for recognizing calling adoptCF/adoptNS on the
result of a cast operation on the return value of a function which
creates NS or CF types. It also fixes a bug that we weren't reporting
memory leaks when CF types are created without ever calling RetainPtr's
constructor, adoptCF, or adoptNS.

To do this, this PR adds a new mechanism to report a memory leak
whenever create or copy CF functions are invoked unless this CallExpr
has already been visited while validating a call to adoptCF. Also added
an early exit when isOwned returns IsOwnedResult::Skip due to an
unresolved template argument.


  Commit: 6c51603e4cc4978194c99d64d26712f97d715ffc
      https://github.com/llvm/llvm-project/commit/6c51603e4cc4978194c99d64d26712f97d715ffc
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
    M compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp

  Log Message:
  -----------
  [asan] Temporarily disable new test cases from #133175 on Android

My patch causes a build breakage on Android
(https://lab.llvm.org/buildbot/#/builders/186/builds/8103/steps/21/logs/stdio).
I can't easily test on Android, which is not the intended audience for
my patch anyway, so temporarily disable the test pending further
investigation.


  Commit: 613601978073058f4a4620e93bb84ac8f387934a
      https://github.com/llvm/llvm-project/commit/613601978073058f4a4620e93bb84ac8f387934a
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm

  Log Message:
  -----------
  [alpha.webkit.ForwardDeclChecker] Recognize a forward declared template specialization (#134545)

This PR fixes a bug that when a template specialization is declared with
a forward declaration of a template, the checker fails to find its
definition in the same translation unit and erroneously emit an unsafe
forward declaration warning.


  Commit: 2b984fd0e396fe6ab30cd823ea2f65f33f75409c
      https://github.com/llvm/llvm-project/commit/2b984fd0e396fe6ab30cd823ea2f65f33f75409c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Interpreter/OptionValue.h
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Interpreter/OptionValue.cpp
    M lldb/unittests/Core/CMakeLists.txt
    A lldb/unittests/Core/DebuggerTest.cpp

  Log Message:
  -----------
  [lldb] Support programmatically setting the statusline format (NFC) (#135250)

Support programmatically setting the statusline format. I want to use
this API downstream, to change the statusline format for the Swift REPL.


  Commit: 1331f171846c4a5620c7a049d9b05d70c8d674a3
      https://github.com/llvm/llvm-project/commit/1331f171846c4a5620c7a049d9b05d70c8d674a3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Replace getUnderlyingInstr() with type inference (NFC)

Remove an unnecessary use of getUnderlyingInstr().


  Commit: 1cec5fffd8fddd9d85b516f876093b0e3f0eec5f
      https://github.com/llvm/llvm-project/commit/1cec5fffd8fddd9d85b516f876093b0e3f0eec5f
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/examples/transform-opt/mlir-transform-opt.cpp
    M mlir/include/mlir/IR/Diagnostics.h
    M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
    M mlir/lib/IR/Diagnostics.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
    M mlir/test/Pass/full_diagnostics.mlir
    A mlir/test/Pass/full_diagnostics_only_expected.mlir
    A mlir/test/mlir-translate/verify-only-expected.mlir

  Log Message:
  -----------
  [mlir] implement `-verify-diagnostics=only-expected` (#135131)

This PR implements `verify-diagnostics=only-expected` which is a "best
effort" verification - i.e., `unexpected`s and `near-misses` will not be
considered failures. The purpose is to enable narrowly scoped checking
of verification remarks (just as we have for lit where only a subset of
lines get `CHECK`ed).


  Commit: b39ab7a620e1bd038d6c22a667110ad814596288
      https://github.com/llvm/llvm-project/commit/b39ab7a620e1bd038d6c22a667110ad814596288
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir

  Log Message:
  -----------
  [mlir][tosa] Add error_if checks to clamp op verifier (#134224)

Specifically it introduces checks for:
- ERROR_IF(max_val < min_val)
- ERROR_IF(isNaN(min_val) || isNaN(max_val))

Signed-off-by: Luke Hutton <luke.hutton at arm.com>


  Commit: 727f3921e7af7a4b0f1e59635ebb99a52bd173c3
      https://github.com/llvm/llvm-project/commit/727f3921e7af7a4b0f1e59635ebb99a52bd173c3
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGenHLSL/res-may-alias.hlsl
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.6.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.7.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.8.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll

  Log Message:
  -----------
  [DirectX] Implement Shader Flags Analysis for ResMayNotAlias (#131070)

Fixes #112270

Completed ACs:
- `-res-may-alias` clang-dxc command-line option added
  - It inserts and sets a module metadata flag `dx.resmayalias` to 1
- Shader flag set appropriately:
- The flag IS NOT set if DXIL Version <= 1.6 OR the command-line option
`-res-may-alias` is specified
  - Otherwise the flag IS set when:
    - DXIL Version > 1.7 AND function uses UAVs, OR
    - DXIL Version <= 1.7 AND UAVs present globally
- Add tests 
- Tests for Shader Models 6.6, 6.7, and 6.8 corresponding to DXIL
Versions 1.6, 1.7, and 1.8
- Tests (`res-may-alias-0.ll`/`res-may-alias-1.ll`) for when the module
metadata flag `dx.resmayalias` is set to 0 or 1 respectively
- A frontend test (`res-may-alias.hlsl`) for testing that that the
command-line option `-res-may-alias` inserts `dx.resmayalias` module
metadata correctly


  Commit: 27bc8a1811d417c2d38646a3473226431987e7d9
      https://github.com/llvm/llvm-project/commit/27bc8a1811d417c2d38646a3473226431987e7d9
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    R flang/include/flang/Optimizer/CodeGen/CGOps.h
    R flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
    A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
    A flang/include/flang/Optimizer/Dialect/FIRCG/CMakeLists.txt
    M flang/lib/Frontend/CMakeLists.txt
    R flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/FIRCG/CGOps.cpp
    A flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
    M flang/lib/Optimizer/OpenACC/CMakeLists.txt
    M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Optimizer/CMakeLists.txt

  Log Message:
  -----------
  [flang][NFC] Split CG dialect and the passes. (#135240)

I am making a CG pass to depend on `FIROpenACCSupport` in #134346.
This introduces a cyclic dependency between `FIROpenACCSupport`
and `FIRCodeGen`. This patch splits `FIRCodeGen` into
`FIRCodeGenDialect` (for FIR CG dialect definition) and `FIRCodeGen`
(for the CG passes).

Now, `FIROpenACCSupport` depends on `FIRCodeGenDialect`,
and `FIRCodeGen` depends on `FIROpenACCSupport`.


  Commit: a62b9b387fab85ae8ad63992b002c333069d87ae
      https://github.com/llvm/llvm-project/commit/a62b9b387fab85ae8ad63992b002c333069d87ae
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M lldb/source/Core/Debugger.cpp

  Log Message:
  -----------
  [lldb] Calling Debugger::SetStatuslineFormat should redraw the statusline


  Commit: 2f298294759307e532dcce50549534cbe8ba6561
      https://github.com/llvm/llvm-project/commit/2f298294759307e532dcce50549534cbe8ba6561
  Author: Jason Rice <ricejasonf at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/DeclCXX.h
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp

  Log Message:
  -----------
  [Clang][P1061] Fix invalid pack binding crash (#135129)


  Commit: 1cd59264aa2fb4b0ba70ff03c1298b1b5c21271e
      https://github.com/llvm/llvm-project/commit/1cd59264aa2fb4b0ba70ff03c1298b1b5c21271e
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclarationName.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
    A clang/test/CodeGenCXX/Inputs/std-coroutine.h
    A clang/test/CodeGenCXX/type-aware-allocators.cpp
    A clang/test/CodeGenCXX/type-aware-coroutines.cpp
    A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
    A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
    M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
    M clang/test/Modules/new-delete.cpp
    M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
    M clang/test/SemaCXX/delete.cpp
    M clang/test/SemaCXX/new-delete.cpp
    A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
    A clang/test/SemaCXX/type-aware-coroutines.cpp
    A clang/test/SemaCXX/type-aware-new-constexpr.cpp
    A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
    A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
    A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
    A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
    A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
    A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
    A clang/test/SemaCXX/type-aware-placement-operators.cpp

  Log Message:
  -----------
  [RFC] Initial implementation of P2719 (#113510)

This is a basic implementation of P2719: "Type-aware allocation and
deallocation functions" described at http://wg21.link/P2719

The proposal includes some more details but the basic change in
functionality is the addition of support for an additional implicit
parameter in operators `new` and `delete` to act as a type tag. Tag is
of type `std::type_identity<T>` where T is the concrete type being
allocated. So for example, a custom type specific allocator for `int`
say can be provided by the declaration of

  void *operator new(std::type_identity<int>, size_t, std::align_val_t);
  void  operator delete(std::type_identity<int>, void*, size_t, std::align_val_t);

However this becomes more powerful by specifying templated declarations,
for example

template <typename T> void *operator new(std::type_identity<T>, size_t, std::align_val_t);
template <typename T> void operator delete(std::type_identity<T>, void*, size_t, std::align_val_t););

Where the operators being resolved will be the concrete type being
operated over (NB. A completely unconstrained global definition as above
is not recommended as it triggers many problems similar to a general
override of the global operators).

These type aware operators can be declared as either free functions or
in class, and can be specified with or without the other implicit
parameters, with overload resolution performed according to the existing
standard parameter prioritisation, only with type parameterised
operators having higher precedence than non-type aware operators. The
only exception is destroying_delete which for reasons discussed in the
paper we do not support type-aware variants by default.


  Commit: 1d8966e2465364dca8aea71d9331d46a0e908265
      https://github.com/llvm/llvm-project/commit/1d8966e2465364dca8aea71d9331d46a0e908265
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang-rt/lib/cuda/kernel.cpp

  Log Message:
  -----------
  [flang][cuda] Use the provided stream in kernel launch (#135267)


  Commit: 9466cbdf29306b2595303dac5b62b54cf71841b4
      https://github.com/llvm/llvm-project/commit/9466cbdf29306b2595303dac5b62b54cf71841b4
  Author: Bangtian Liu <liubangtian at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M mlir/include/mlir-c/Dialect/Linalg.h
    M mlir/lib/Bindings/Python/DialectLinalg.cpp
    M mlir/lib/CAPI/Dialect/Linalg.cpp
    M mlir/test/python/dialects/linalg/utils.py

  Log Message:
  -----------
  [mlir][CAPI][python] expose the python bindings for linalg::isaConvolutionOpInterface and linalg::inferConvolutionDims (#135253)

This PR is mainly about exposing the python bindings for
`linalg::isaConvolutionOpInterface` and `linalg::inferConvolutionDims`.

---------

Signed-off-by: Bangtian Liu <liubangtian at gmail.com>


  Commit: f4203ca2b7b047fc556535661f406e7fef758835
      https://github.com/llvm/llvm-project/commit/f4203ca2b7b047fc556535661f406e7fef758835
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/terminator.h

  Log Message:
  -----------
  [flang-rt] Declare DeviceTrap static inline. (#135286)


  Commit: 77db154cf9383fa20685fca56633601ce0ea47fa
      https://github.com/llvm/llvm-project/commit/77db154cf9383fa20685fca56633601ce0ea47fa
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    A clang/test/CIR/CodeGenOpenACC/set.c

  Log Message:
  -----------
  [OpenACC][CIR] implement basic 'set' lowering with device_type clause

The 'set' lowering is pretty trivial.  'device_type' is a little more
restricted since both the MLIR-Dialect and language limit it to only 1
value (as confirmed by standards-discussion).

This patch implements 'set', with 'device_type', since 'set' requires at
least 1 clause, and  this is the least difficult to implement at the
moment.


  Commit: d14acb78065bdd331019924feaaef52e5e744529
      https://github.com/llvm/llvm-project/commit/d14acb78065bdd331019924feaaef52e5e744529
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    A llvm/test/Transforms/IndVarSimplify/pr135182.ll

  Log Message:
  -----------
  [IndVarSimplify] Handle the case where both operands are the same when widening IV (#135207)

`WidenIV::widenWithVariantUse` assumes that exactly one of the binop
operands is the IV to be widened. This miscompilation happens when it
tries to sign-extend the "NonIV" operand while the IV is zero-extended.
Closes https://github.com/llvm/llvm-project/issues/135182.


  Commit: 1711996805c506f5717193aaeedf3752dfdd900d
      https://github.com/llvm/llvm-project/commit/1711996805c506f5717193aaeedf3752dfdd900d
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
    M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp

  Log Message:
  -----------
  [Clang][CodeGen] Do not set inbounds flag for struct GEP with null base pointers (#130734)

In the LLVM middle-end we want to fold `gep inbounds null, idx -> null`:
https://alive2.llvm.org/ce/z/5ZkPx-
This pattern is common in real-world programs
(https://github.com/dtcxzyw/llvm-opt-benchmark/pull/55#issuecomment-1870963906).
Generally, it exists in some (actually) unreachable blocks, which is
introduced by JumpThreading.

However, some old-style offsetof macros are still widely used in
real-world C/C++ code (e.g., hwloc/slurm/luajit). To avoid breaking
existing code and inconvenience to downstream users, this patch removes
the inbounds flag from the struct gep if the base pointer is null.


  Commit: 701d726ef09ea89909df9bd2fdc63c63758fe8d6
      https://github.com/llvm/llvm-project/commit/701d726ef09ea89909df9bd2fdc63c63758fe8d6
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp
    A llvm/test/CodeGen/NVPTX/nvvm-reflect-options.ll

  Log Message:
  -----------
  [NVPTX] Improve NVVMReflect Efficiency (#134416)

The NVVMReflect pass simply replaces calls to nvvm-reflect functions
with the appropriate constant, either the architecture number, or
nvvm-reflect-ftz, found in the module's metadata.

The implementation is inefficient and does this by traversing through
all instructions to find calls. The common case is that you never call
nvvm-reflect, so this traversal is costly.

This PR:
- Updates the pass so that it finds the reflect functions by name, and
then traverses through their uses to find the calls directly.
- Adds a line (245) to make sure the dead nvvm-reflect definitions are
erased.
- Adds the ability to set reflect values via command line


  Commit: 9aff19e7a3ff22ad15dc52609c65c785d4621fca
      https://github.com/llvm/llvm-project/commit/9aff19e7a3ff22ad15dc52609c65c785d4621fca
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M flang/docs/ArrayRepacking.md
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIRDialect.h
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
    A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.td
    M flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
    A flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    A flang/lib/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.cpp
    M flang/lib/Optimizer/OpenACC/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
    M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
    A flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
    A flang/test/Lower/repack-arrays-safe.f90
    A flang/test/Transforms/lower-repack-arrays-openacc.fir
    A flang/test/Transforms/lower-repack-arrays-openmp.fir
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-lsp-server/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt

  Log Message:
  -----------
  [flang] Defined SafeTempArrayCopyAttrInterface for array repacking. (#134346)

This patch defines `fir::SafeTempArrayCopyAttrInterface` and the
corresponding
OpenACC/OpenMP related attributes in FIR dialect. The actual
implementations
are just placeholders right now, and array repacking becomes a no-op
if `-fopenacc/-fopenmp` is used for the compilation.


  Commit: 862e7190c9d4672d3adf1bbde95b556c8e2d7544
      https://github.com/llvm/llvm-project/commit/862e7190c9d4672d3adf1bbde95b556c8e2d7544
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

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

  Log Message:
  -----------
  Reland "Replace bool operator== for VersionType in sanitizer_mac.h" (#135276)

Fixes error: ISO C++20 considers use of overloaded operator '==' (with
operand types 'MacosVersion' and 'MacosVersion') to be ambiguous despite
there being a unique best viable function
[-Werror,-Wambiguous-reversed-operator].

This converts the comparison operator from a non-symmetric operator
(const VersionBase<VersionType>& (as "this") and const VersionType &).
into a symmetric operator

Relands #135068

Co-authored-by: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>


  Commit: 72540dbe01d143436be096b44deb89e625f350f7
      https://github.com/llvm/llvm-project/commit/72540dbe01d143436be096b44deb89e625f350f7
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format][NFC] Reformat git-clang-format


  Commit: 8bd93b8303cb0ae9ad993aacf8d0747d26dfb0cc
      https://github.com/llvm/llvm-project/commit/8bd93b8303cb0ae9ad993aacf8d0747d26dfb0cc
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Do not collect kernels if they are not used (#135252)


  Commit: b03aa291b8ddc962ff82859b5317d8ea8a7a3e87
      https://github.com/llvm/llvm-project/commit/b03aa291b8ddc962ff82859b5317d8ea8a7a3e87
  Author: Douglas Yung <douglas.yung at sony.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/undef-args.ll

  Log Message:
  -----------
  Add 'REQUIRES: asserts' to test undef-args.ll added in #135247 to skip test when asserts are not present.

Should fix bot failure: https://lab.llvm.org/buildbot/#/builders/202/builds/601


  Commit: f40001372b54ce68507f36b600f798e832478e16
      https://github.com/llvm/llvm-project/commit/f40001372b54ce68507f36b600f798e832478e16
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll

  Log Message:
  -----------
  [RISCV] Lower a shuffle which is nearly identity except one replicated element (#135292)

This can be done with a vrgather.vi/vx, and (possibly) a register move.
The alternative is to do a vrgather.vv with a full width index vector.

We'd already caught the two operands forms of this shuffle; this patch
specifically handles the single operand form.

Unfortunately only in abstract, it would be nice if we canonicalized
shuffles in some way wouldn't it?


  Commit: 04c38981a9ce3e6225669c0e41cab947e3e7989f
      https://github.com/llvm/llvm-project/commit/04c38981a9ce3e6225669c0e41cab947e3e7989f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
    M clang/test/CodeGenCXX/pointers-to-data-members.cpp

  Log Message:
  -----------
  [Clang][CodeGen] Do not set inbounds flag in `EmitMemberDataPointerAddress` when the base pointer is null (#130952)

See also https://github.com/llvm/llvm-project/pull/130734 for the
original motivation.

This pattern (`container_of`) is also widely used by real-world
programs.
Examples:

https://github.com/llvm/llvm-project/blob/1d89d7d5d76e391b035f50343e2a4890506c6f2b/llvm/include/llvm/IR/SymbolTableListTraits.h#L77-L87

https://github.com/nodejs/node/blob/a2a53cb728ec5f776ac16879ce0f480a8e838320/src/util-inl.h#L134-L137
https://github.com/search?q=*%29nullptr-%3E*&type=code


  Commit: ba93fe97c235ddbf8e5d7f76b3cb48d9e0839ba0
      https://github.com/llvm/llvm-project/commit/ba93fe97c235ddbf8e5d7f76b3cb48d9e0839ba0
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/test/X86/split-func-jump-table-fragment-bidirection.s

  Log Message:
  -----------
  [BOLT][NFC] Simplify getOrCreate/analyze/populate/emitJumpTable (#132108)


  Commit: c04d9d57ee4c116ecc1222b1f4458a21be13ac15
      https://github.com/llvm/llvm-project/commit/c04d9d57ee4c116ecc1222b1f4458a21be13ac15
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M bolt/lib/Passes/AsmDump.cpp
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
    M llvm/include/llvm/MC/TargetRegistry.h
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/TargetRegistry.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
    M llvm/test/tools/llvm-mc/disassembler-options.test
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp

  Log Message:
  -----------
  MCAsmStreamer: Replace the MCInstPrinter * parameter with unique_ptr

... to clarify ownership, aligning with other parameters. Using
`std::unique_ptr` encourages users to manage `createMCInstPrinter` with
a unique_ptr instead of a raw pointer, reducing the risk of memory
leaks.

* llvm-mc: fix a leak and update llvm/test/tools/llvm-mc/disassembler-options.test
* #121078 copied the llvm-mc code to CodeGenTargetMachineImpl and made
  the same mistake. Fixed by 2b8cc651dca0c000ee18ec79bd5de4826156c9d6

Using unique_ptr requires #include MCInstPrinter.h in a few translation
units.

* Delete a createAsmStreamer overload I deprecated in 2024
* SystemZMCTargetDesc.cpp: rename to `createSystemZAsmStreamer` to fix
  an overload conflict.

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


  Commit: db27a0af5e6b5fb37e0f95d92d3777ddaaf97f90
      https://github.com/llvm/llvm-project/commit/db27a0af5e6b5fb37e0f95d92d3777ddaaf97f90
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/test/Analysis/MemoryDependenceAnalysis/InvariantLoad.ll
    M llvm/test/Analysis/ValueTracking/gep-negative-issue.ll
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash-inseltpoison.ll
    M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll

  Log Message:
  -----------
  [AMDGPU][InstCombine][InstSimplify] Pre-commit tests for PR130742 (#135305)

https://github.com/llvm/llvm-project/pull/130742#discussion_r1993055149


  Commit: 3b70715c13876c51542ebfe2e3f4ee908f6785cb
      https://github.com/llvm/llvm-project/commit/3b70715c13876c51542ebfe2e3f4ee908f6785cb
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/test/test_demangle.pass.cpp

  Log Message:
  -----------
  [libcxxabi] Use __LDBL_MANT_DIG__ for configuring demangling of long doubles (#134976)

This avoids needing to hardcode the mapping between architectures and
their sizes of long doubles.

This fixes a case in test_demangle.pass.cpp, that previously failed like
this (XFAILed):

    .---command stdout------------
    | Testing 29859 symbols.
| _ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c should be invalid
but is not
| Got: 0, void test0::h<float>(char (&) [(unsigned int)(sizeof (float) +
0x0.07ff98f7ep-1022L)])
    `-----------------------------
    .---command stderr------------
| Assertion failed: !passed && "demangle did not fail", file
libcxxabi/test/test_demangle.pass.cpp, line 30338
    `-----------------------------

This testcase is defined within

// Is long double fp80? (Only x87 extended double has 64-bit mantissa)
    #define LDBL_FP80 (__LDBL_MANT_DIG__ == 64)
    ...
    #if !LDBL_FP80
    ...
    #endif

The case failed on x86 architectures with an unusual size for long
doubles, as the test expected the demangler to not be able to demangle
an 80 bit long double (based on the `__LDBL_MANT_DIG__ == 64` condition
in the test). However as the libcxxabi implementation was hardcoded to
demangle 80 bit long doubles on x86_64 regardless of the actual size,
this test failed (by unexpectedly being able to demangle it).

By configuring libcxxabi's demangling of long doubles to match what the
compiler specifies, we no longer hit the expected failures in the
test_demangle.pass.cpp test on Android on x86.

This makes libcxxabi require a GCC-compatible compiler that defines
nonstandard defines like `__LDBL_MANT_DIG__`, but I presume that's
already essentially required anyway.


  Commit: eccd7aa88879570ca12629a63d08a1e27fac0463
      https://github.com/llvm/llvm-project/commit/eccd7aa88879570ca12629a63d08a1e27fac0463
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqcilb-invalid.s
    A llvm/test/MC/RISCV/xqcilb-relocations.s

  Log Message:
  -----------
  [RISCV] Add symbol parsing support for Xqcilb long branch instructions (#135044)

This patch adds support for parsing symbols in the Xqcilb long branch
instructions. The instructions use the `R_RISCV_QC_E_JUMP_PLT`
relocation and the `InstFormatQC_EJ` instruction format.

Vendor relocation support will be added in a later patch.


  Commit: 715ad67c80ccb443d54575e81a3208674ef5b5c2
      https://github.com/llvm/llvm-project/commit/715ad67c80ccb443d54575e81a3208674ef5b5c2
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/Sema/HeuristicResolver.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/member-access.cpp

  Log Message:
  -----------
  [clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (#130473)

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


  Commit: 34fb673b0835c3b361eebacc7fd619dcea214063
      https://github.com/llvm/llvm-project/commit/34fb673b0835c3b361eebacc7fd619dcea214063
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCDXContainerStreamer.h
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/MCGOFFStreamer.h
    M llvm/include/llvm/MC/MCSPIRVStreamer.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/MC/MCWasmStreamer.h
    M llvm/include/llvm/MC/MCWinCOFFStreamer.h
    M llvm/include/llvm/MC/MCXCOFFStreamer.h
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCNullStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp

  Log Message:
  -----------
  MCStreamer: Remove Mach-O specific functions from derived MCObjectStreamer


  Commit: 0816c7a95d04f141e136812910f3183df3bcbe7c
      https://github.com/llvm/llvm-project/commit/0816c7a95d04f141e136812910f3183df3bcbe7c
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp

  Log Message:
  -----------
  MCParser: Remove unused enum constant


  Commit: fa0498fdaed951dfb73a326a03fe3b00d544ea47
      https://github.com/llvm/llvm-project/commit/fa0498fdaed951dfb73a326a03fe3b00d544ea47
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/unittests/Sema/HeuristicResolverTest.cpp

  Log Message:
  -----------
  [clang][HeuristicResolver] Apply default argument heuristic in resolveDeclRefExpr as well (#132576)

This is a follow-up to https://github.com/llvm/llvm-project/pull/131074.

After moving the default argument heuristic to `simplifyType` in that
patch, the heuristic no longer applied to the 
`DependentScopeDeclRefExpr` case, because that wasn't using
`simplifyType`.

This patch fixes that, with an added testcase.


  Commit: 9604bdf1180950c04f194584fdd2cca0f0668971
      https://github.com/llvm/llvm-project/commit/9604bdf1180950c04f194584fdd2cca0f0668971
  Author: offsetof <offsetof at mailo.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
    M clang/test/SemaCXX/ctad.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Allow parentheses around CTAD declarators (#132829)

Fixes #39811


  Commit: c3eb6b7e61356aca7ffbcaf962544d3d8fb3713d
      https://github.com/llvm/llvm-project/commit/c3eb6b7e61356aca7ffbcaf962544d3d8fb3713d
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp

  Log Message:
  -----------
  SPIRV: Suppress warnings in #134429


  Commit: b3397bacfb85aa824e1257085500551d3026d49a
      https://github.com/llvm/llvm-project/commit/b3397bacfb85aa824e1257085500551d3026d49a
  Author: z <feqin1023 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineOperand.cpp

  Log Message:
  -----------
  [CodeGen][LLVM] Fix MachineOperand::print crash when TII is nullptr. (#135170)

This crash will caused if run this testcase:
  llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll

When build the SDNode, precisely build the SDNode for this ir:
```ir
  call void @llvm.amdgcn.ds.gws.barrier(i32 %val, i32 0)
```
If want call the dump function of the new SDNode in the gdb environment
like this:
```gdb
  p N->dump()
```
The llvm will crash.

All of these is because calling ```dump()``` will cause the
calling```MachineMemOperand::print()```
with the argument value for the```TII``` is nullptr. 
And the llvm/lib/CodeGen/MachineOperand.cpp#L1235 is a derefrence of
TII.

Signed-off-by: fanfuqiang <fuqiang.fan at mthreads.com>


  Commit: 23c9cfcb7494b2331a80661a0cb83f95a422833c
      https://github.com/llvm/llvm-project/commit/23c9cfcb7494b2331a80661a0cb83f95a422833c
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
    M lldb/source/Symbol/DWARFCallFrameInfo.cpp

  Log Message:
  -----------
  [lldb] Small refactor of eh_frame parsing  (#134806)

.. which prepares us for handling of discontinuous functions. The main
change there is that we can have multiple FDEs contributing towards an
unwind plan of a single function. This patch separates the logic for
parsing of a single FDE from the construction of an UnwindPlan (so that
another patch can change the latter to combine several unwind plans).

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: aeb06c61523499bc88af1a24eb645be972b482d4
      https://github.com/llvm/llvm-project/commit/aeb06c61523499bc88af1a24eb645be972b482d4
  Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/call-attributes.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR] Adding 'inline_hint' attribute on LLMV::CallOp (#134582)

Addition of `inlinehint` attributes for CallOps in MLIR in order to be
able to say to a function call that the inlining is desirable without
having the attribute on the FuncOp.


  Commit: 0276915a6c888906b2140a3d97e5ce32057a3ca5
      https://github.com/llvm/llvm-project/commit/0276915a6c888906b2140a3d97e5ce32057a3ca5
  Author: Björn Svensson <bjorn.a.svensson at est.tech>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c

  Log Message:
  -----------
  [clang-tidy] Fix `cert-err33-c` to ignore functions with same prefixes as target (#135160)

PR #82952 introduced regex matching for `CheckedFunctions` in
`UnusedReturnValueCheck` which is used by the checker `cert-err33-c`.

Add a testcase and fix false positives by adding end-of-string to target
regex's.

---------

Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>


  Commit: fafeaab6d91334e9c251aa222cbca1eb94536bf2
      https://github.com/llvm/llvm-project/commit/fafeaab6d91334e9c251aa222cbca1eb94536bf2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    A clang/test/AST/ByteCode/typeid.cpp

  Log Message:
  -----------
  [clang][bytecode] Misc TypeidPointer fixes (#135322)

Fix comparing type id pointers, add mor info when print()ing them, use
the most derived type in GetTypeidPtr() and the canonically unqualified
type when we know the type statically.


  Commit: 8a351f1f2ed593b5e3ddf453d744b9d53908c616
      https://github.com/llvm/llvm-project/commit/8a351f1f2ed593b5e3ddf453d744b9d53908c616
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    M lld/test/ELF/loongarch-relax-tls-ie.s

  Log Message:
  -----------
  [lld][LoongArch] Support relaxation during IE to LE conversion (#123702)

Complement https://github.com/llvm/llvm-project/pull/123680. When
relaxation enable, remove redundant NOPs.


  Commit: 476c1c5ec557af59afb7b9eff0198e2d84c83973
      https://github.com/llvm/llvm-project/commit/476c1c5ec557af59afb7b9eff0198e2d84c83973
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll

  Log Message:
  -----------
  [SPIR-V] Don't emit OpLifetime for Vulkan (#135166)

Those instructions require the Kernel capability, which is not available
when targeting Vulkan.


  Commit: 8be4bd85708cddc8d84d03cf77ba4b02d0b6d44c
      https://github.com/llvm/llvm-project/commit/8be4bd85708cddc8d84d03cf77ba4b02d0b6d44c
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [libcxxabi] Fix the long double demangling for PowerPC (#135332)

PowerPC uses a slightly different type of floats for their 128 bit long
doubles, as "double-double", with __LDBL_MANT_DIG__ == 106 rather than
__LDBL_MANT_DIG__ == 113 for IEEE 128 bit floats.

This fixes compiling libcxxabi for PowerPC after
3b70715c13876c51542ebfe2e3f4ee908f6785cb.


  Commit: d77dc875118859066a4c81226bca7d307b225e09
      https://github.com/llvm/llvm-project/commit/d77dc875118859066a4c81226bca7d307b225e09
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/revec-SplitVectorize.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix type comparison and mask transformation for REVEC. (#135310)

When REVEC is enabled, ScalarTy may be a FixedVectorType. Compare its
element type to decide if casting is needed. Also apply mask
transformation accordingly.


  Commit: 6d992f1db73ac8e27c87296411506d8bbdb9497e
      https://github.com/llvm/llvm-project/commit/6d992f1db73ac8e27c87296411506d8bbdb9497e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Add llvm-cov / Coverage maintainer (#130590)


  Commit: 2e02164566ee548838dbee95860b321fb54a8501
      https://github.com/llvm/llvm-project/commit/2e02164566ee548838dbee95860b321fb54a8501
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [X86] getConstVector - remove raw bits -> fp handling and leave it to getNode/FoldConstantArithmetic (#135337)

getConstVector could only handle f32/f64 vector element types from raw APInt bit data - instead of trying to add all supported fp types, just bitcast the integer equivalent and leave it to getNode/FoldConstantArithmetic to perform the constant bitcast conversion

Tentative fix for a regression reported after #133913


  Commit: b0b723a241e2f123527637e0564fd6956fb65521
      https://github.com/llvm/llvm-project/commit/b0b723a241e2f123527637e0564fd6956fb65521
  Author: Sergey Kachkov <sergey.kachkov at syntacore.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/RISCV/frm-write-in-loop.ll

  Log Message:
  -----------
  [RISCV][NFC] Add pre-commit test


  Commit: 1d3d3f404ed134697405078411b0bd690a68be0e
      https://github.com/llvm/llvm-project/commit/1d3d3f404ed134697405078411b0bd690a68be0e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h

  Log Message:
  -----------
  [DAG] SDPatternMatch::ReassociatableOpc_match - pull out repeated pattern count expression. NFC. (#135187)

Minor tidyup to remove so much template noise.

CC @esan5


  Commit: 937cfdc7be56cb5cb46c098eecdb8e4f524add0d
      https://github.com/llvm/llvm-project/commit/937cfdc7be56cb5cb46c098eecdb8e4f524add0d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [X86] combineGatherScatter - split non-constant (add v, (splat b)) indices patterns and add the splat into the (scalar) base address (#135201)

We already did this for constant cases, this patch generalizes the existing fold to attempt to extract the splat from either operand of a ADD node for the gather/scatter index value

This cleanup should also make it easier to add support for splitting vXi32 indices on x86_64 64-bit pointer targets in the future as well.

Noticed while reviewing #134979


  Commit: b99a2b6221259095bc6c07f2d574a3655d073a1e
      https://github.com/llvm/llvm-project/commit/b99a2b6221259095bc6c07f2d574a3655d073a1e
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/revec-SplitVectorize.ll

  Log Message:
  -----------
  [SLP][REVEC] Update test.

The test is affected by commit aaaa2a325bd1abb8c87e0171384fd2c42da5e38a.


  Commit: b656915d5a4cbb35392d340142340bf9bef8d8d1
      https://github.com/llvm/llvm-project/commit/b656915d5a4cbb35392d340142340bf9bef8d8d1
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp

  Log Message:
  -----------
  [lldb][Format][NFCI] Refactor CPlusPlusLanguage::GetFunctionDisplayName into helpers and use LLVM style (#135331)

Same cleanup as in https://github.com/llvm/llvm-project/pull/135031. It
pretty much is the same code that we had to duplicate in the language
plugin. Maybe eventually we'll find a way of getting rid of the
duplication.


  Commit: cb43fe33b5d5084cf3b5a2723a03b692edb68018
      https://github.com/llvm/llvm-project/commit/cb43fe33b5d5084cf3b5a2723a03b692edb68018
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__functional/hash.h
    M libcxx/include/locale
    M libcxx/include/regex
    M libcxx/src/filesystem/path_parser.h

  Log Message:
  -----------
  [libc++][NFC] Inline _LIBCPP_FALLTHROUGH() (#135001)

We have `[[fallthrough]]` available in all standards modes, so we can
just inline it like other stanard attributes we use.


  Commit: 4cde945673a852e1c051134cd2d8ad48dc4924e1
      https://github.com/llvm/llvm-project/commit/4cde945673a852e1c051134cd2d8ad48dc4924e1
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libcxx/include/__type_traits/is_abstract.h
    M libcxx/include/__type_traits/is_aggregate.h
    M libcxx/include/__type_traits/is_arithmetic.h
    M libcxx/include/__type_traits/is_assignable.h
    M libcxx/include/__type_traits/is_base_of.h
    M libcxx/include/__type_traits/is_class.h
    M libcxx/include/__type_traits/is_constructible.h
    M libcxx/include/__type_traits/is_convertible.h
    M libcxx/include/__type_traits/is_core_convertible.h
    M libcxx/include/__type_traits/is_destructible.h
    M libcxx/include/__type_traits/is_empty.h
    M libcxx/include/__type_traits/is_enum.h
    M libcxx/include/__type_traits/is_final.h
    M libcxx/include/__type_traits/is_floating_point.h
    M libcxx/include/__type_traits/is_fundamental.h
    M libcxx/include/__type_traits/is_implicit_lifetime.h
    M libcxx/include/__type_traits/is_literal_type.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_nothrow_destructible.h
    M libcxx/include/__type_traits/is_pod.h
    M libcxx/include/__type_traits/is_pointer.h
    M libcxx/include/__type_traits/is_polymorphic.h
    M libcxx/include/__type_traits/is_reference.h
    M libcxx/include/__type_traits/is_reference_wrapper.h
    M libcxx/include/__type_traits/is_scalar.h
    M libcxx/include/__type_traits/is_signed.h
    M libcxx/include/__type_traits/is_signed_integer.h
    M libcxx/include/__type_traits/is_standard_layout.h
    M libcxx/include/__type_traits/is_trivial.h
    M libcxx/include/__type_traits/is_trivially_assignable.h
    M libcxx/include/__type_traits/is_trivially_constructible.h
    M libcxx/include/__type_traits/is_trivially_copyable.h
    M libcxx/include/__type_traits/is_trivially_destructible.h
    M libcxx/include/__type_traits/is_union.h
    M libcxx/include/__type_traits/is_unsigned_integer.h

  Log Message:
  -----------
  [libc++][NFC] Remove `public` from the type traits (#135088)

The type traits are always `struct`s, so the `public` isn't necessary.
We're currently using `public` in some places, while we omit it in
others. This makes us consistent across the type traits.


  Commit: 9eeafc63d2f06f7aa216ddcf2370b20fbb1d9015
      https://github.com/llvm/llvm-project/commit/9eeafc63d2f06f7aa216ddcf2370b20fbb1d9015
  Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/lib/Frontend/FrontendAction.cpp
    A clang/test/Frontend/dump-minimization-hints.cpp

  Log Message:
  -----------
  Implement `-dump-minimization-hints` flag.  (#133910)

This PR implements a CC1 flag `-dump-minimization-hints`.
The flag allows to specify a file path to dump ranges of deserialized
declarations in `ASTReader`. Example usage:

```
clang -Xclang=-dump-minimization-hints=/tmp/decls -c file.cc -o file.o
```

Example output:
```
// /tmp/decls
{
  "required_ranges": [
    {
      "file": "foo.h",
      "range": [
        {
          "from": {
            "line": 26,
            "column": 1
          },
          "to": {
            "line": 27,
            "column": 77
          }
        }
      ]
    },
    {
      "file": "bar.h",
      "range": [
        {
          "from": {
            "line": 30,
            "column": 1
          },
          "to": {
            "line": 35,
            "column": 1
          }
        },
        {
          "from": {
            "line": 92,
            "column": 1
          },
          "to": {
            "line": 95,
            "column": 1
          }
        }
      ]
    }
  ]
}

```
Specifying the flag creates an instance of
`DeserializedDeclsSourceRangePrinter`, which dumps ranges of deserialized
declarations to aid debugging and bug minimization (we use is as input to [C-Vise](https://github.com/emaxx-google/cvise/tree/multifile-hints).

Required ranges are computed from source ranges of Decls.
`TranslationUnitDecl`, `LinkageSpecDecl` and `NamespaceDecl` are ignored
for the sake of this PR.

Technical details:
* `DeserializedDeclsSourceRangePrinter` implements `ASTConsumer` and
`ASTDeserializationListener`, so that an object of
`DeserializedDeclsSourceRangePrinter` registers as its own listener.
* `ASTDeserializationListener` interface provides the `DeclRead`
callback that we use to collect the deserialized Decls.
Printing or otherwise processing them as this point is dangerous, since
that could trigger additional deserialization and crash compilation.
* The collected Decls are processed in `HandleTranslationUnit` method of
`ASTConsumer`. This is a safe point, since we know that by this point
all the Decls needed by the compiler frontend have been deserialized.
* In case our processing causes further deserialization, `DeclRead` from
the listener might be called again. However, at that point we don't
accept any more Decls for processing.


  Commit: e377a5d1682d0410b1fd38b011c29b7d81d6b53b
      https://github.com/llvm/llvm-project/commit/e377a5d1682d0410b1fd38b011c29b7d81d6b53b
  Author: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/Linalg/rank-reduce-contraction-ops.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Tensor] Remove tensor.dim canonicalization patterns registered on tensor.expand_shape/tensor.collapse_shape (#134219)

These are problematic because the iterative application that locally
resolves the tensor.dim operation introduces
intermediate floor_div, which is losing the information about the exact
division that was carried out in the original
IR, and the iterative algorithm can't converge towards the simplest
form.
Information loss is not acceptable for canonicalization.

Resolving the dimOp can be achieved through
resolve-ranked-shaped-type-result-dims and
resolve-shaped-type-result-dims passes.

---------

Signed-off-by: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>


  Commit: 52a32471967f62ae4d1f905e7a2a5022be40a9c7
      https://github.com/llvm/llvm-project/commit/52a32471967f62ae4d1f905e7a2a5022be40a9c7
  Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-block-end-iterator-debugloc.ll
    M llvm/test/CodeGen/AMDGPU/function-args.ll
    M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
    M llvm/test/CodeGen/AMDGPU/kill-true-in-return-block.ll
    M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
    M llvm/test/CodeGen/AMDGPU/loop_exit_with_xor.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-nested-control-flows.ll
    M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.ll

  Log Message:
  -----------
  [AMDGPU] Select (xor i1 (divergent trunc:i32 x), -1) -> cmp_neq x, 1 (#133698)


  Commit: 3e743a568d9d14cc7158bb03a8074a6d4d0ab1d4
      https://github.com/llvm/llvm-project/commit/3e743a568d9d14cc7158bb03a8074a6d4d0ab1d4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [X86] lowerShuffleAsBitMask - generalize FP handling. (#135345)

Don't explicitly handle f32/f64 cases - allow any fp value type and convert to equivalent int type with MVT::changeTypeToInteger


  Commit: 37a86cb89e9e03ac7c91f2217cab8adedceb61ac
      https://github.com/llvm/llvm-project/commit/37a86cb89e9e03ac7c91f2217cab8adedceb61ac
  Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp

  Log Message:
  -----------
  [NFC] Use the hasMinSize() instead of hasFnAttribute(Attribute::MinSize) (#135328)

The other code all use the hasMinSize(), so I change the last two
hasFnAttribute(Attribute::MinSize).


  Commit: b46f16c8d7f4a9e37271cdc4717dd858a4c813dc
      https://github.com/llvm/llvm-project/commit/b46f16c8d7f4a9e37271cdc4717dd858a4c813dc
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64zbb.ll

  Log Message:
  -----------
  [RISCV][test] Add tests for subtraction if above a constant threshold


  Commit: e27a21f6a7fd191625ffca525323de643ed76be8
      https://github.com/llvm/llvm-project/commit/e27a21f6a7fd191625ffca525323de643ed76be8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Add hasScalarTail, use instead of !CM.foldTailByMasking() (NFC). (#134674)

Now that VPlan is able to fold away redundant branches to the scalar
preheader, we can directly check in VPlan if the scalar tail may
execute. hasScalarTail returns true if the tail may execute.

We know that the scalar tail won't execute if the scalar preheader
doesn't have any predecessors, i.e. is not reachable.

This removes some late uses of the legacy cost model.

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


  Commit: c58777c2ad3464cfddc62e1da13dae443e868f3e
      https://github.com/llvm/llvm-project/commit/c58777c2ad3464cfddc62e1da13dae443e868f3e
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang][ReleaseNotes] Fix code block not rendering (#135330)

Bullet lists require a blank line between paragraphs therefore the `..
code-block::` directive only renders correctly if preceded by a blank
line.


  Commit: bc2a5b5466cd3d0698830301f2594a136522c7e5
      https://github.com/llvm/llvm-project/commit/bc2a5b5466cd3d0698830301f2594a136522c7e5
  Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/frm-write-in-loop.ll

  Log Message:
  -----------
  [RISCV] Explicitly set FRM defs as non-dead to prevent their reordering with instructions that may use it (#135176)

Fixes #135172. The proposed solution is to conservatively reset dead
flag from all $frm defs in AdjustInstrPostInstrSelection.


  Commit: e36e57b478393a1c44ba1a2e3a2cff056e208c52
      https://github.com/llvm/llvm-project/commit/e36e57b478393a1c44ba1a2e3a2cff056e208c52
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Support/Compiler.h

  Log Message:
  -----------
  [BUILD] Fix unicode build issue. (#135315)

Fix unicode build fail issue:
```
C4819	The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss	...\llvm-project\llvm\include\llvm\Support\Compiler.h
```


  Commit: 2fd860c1f559c0b0be66cc000e38270a04d0a1a3
      https://github.com/llvm/llvm-project/commit/2fd860c1f559c0b0be66cc000e38270a04d0a1a3
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
    M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp

  Log Message:
  -----------
  [lldb] ProcessGdbRemote header gardning

Remove unused headers, add used headers, remove declared-but-not-defined
entities.


  Commit: 01658b16661dcff8bc24da7d86cee8df6f0bb4bd
      https://github.com/llvm/llvm-project/commit/01658b16661dcff8bc24da7d86cee8df6f0bb4bd
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  Fix two MSVC warnings; NFC

One was "unsafe use of bool" and the other was "sign comparision
mismatch", and both were because we're treating a bool object as if it
were an unsigned int. Add a cast to make that more explicit.


  Commit: dda53bef35c5ab49967e8755e69ce893ecb525c4
      https://github.com/llvm/llvm-project/commit/dda53bef35c5ab49967e8755e69ce893ecb525c4
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/API/SBTarget.cpp
    A lldb/test/API/python_api/target/read-instructions-flavor/Makefile
    A lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
    A lldb/test/API/python_api/target/read-instructions-flavor/main.c

  Log Message:
  -----------
  [lldb] Fix  SBTarget::ReadInstruction  with flavor (#134626)

When you call the `SBTarget::ReadInstructions` with flavor from lldb
crashes. This is because the wrong order of the `DisassemblyBytes`
constructor this fixes that

---------

Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>


  Commit: c12cb0ccbb408c5e65801a6aa5a8e53b8b36c646
      https://github.com/llvm/llvm-project/commit/c12cb0ccbb408c5e65801a6aa5a8e53b8b36c646
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [mlir][python] fix value-builder generation for snake_case ops (#135302)

Ops that are already snake case (like [`ROCDL_wmma_*`
ops](https://github.com/makslevental/llvm-project/blob/66b0b0466bbd995146aadaf2cd18de5476c19941/mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td#L411))
produce python "value-builders" that collide with the class names:

```python
class wmma_bf16_16x16x16_bf16(_ods_ir.OpView):
  OPERATION_NAME = "rocdl.wmma.bf16.16x16x16.bf16"
  ...

def wmma_bf16_16x16x16_bf16(res, args, *, loc=None, ip=None) -> _ods_ir.Value:
  return wmma_bf16_16x16x16_bf16(res=res, args=args, loc=loc, ip=ip).result
```

and thus cannot be emitted (because of recursive self-calls).

This PR fixes that by affixing `_` to the value builder names. 

I would've preferred to just rename the ops but that would be a breaking
change :shrug:.


  Commit: e100d2bf9ad89139efe5b3edc441c2c67cc42bf4
      https://github.com/llvm/llvm-project/commit/e100d2bf9ad89139efe5b3edc441c2c67cc42bf4
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64zbb.ll

  Log Message:
  -----------
  [DAGCombiner] Fold subtraction if above a constant threshold to `umin` (#135194)

Like #134235, but with a constant.
It's a pattern in Adler-32 checksum calculation in zlib.

Example:

    unsigned adler32_mod(unsigned x) {
      return x >= 65521u ? x - 65521u : x;
    }

Before, on RISC-V:

    lui     a1, 16
    lui     a2, 1048560
    addiw   a1, a1, -16
    sltu    a1, a1, a0
    negw    a1, a1
    addi    a2, a2, 15
    and     a1, a1, a2
    addw    a0, a0, a1

Or, with Zicond:

    lui     a1, 16
    lui     a2, 1048560
    addiw   a1, a1, -16
    sltu    a1, a1, a0
    addi    a2, a2, 15
    czero.eqz  a1, a2, a1
    addw    a0, a0, a1

After, with Zbb:

    lui     a1, 1048560
    addi    a1, a1, 15
    addw    a1, a0, a1
    minu    a0, a1, a0


  Commit: 5b384c3015100ad815f4d994d7ef35cc947db711
      https://github.com/llvm/llvm-project/commit/5b384c3015100ad815f4d994d7ef35cc947db711
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py

  Log Message:
  -----------
  [lldb][test] Adjust TestTargetReadInstructionsFlavor skipIfs

Original in https://github.com/llvm/llvm-project/pull/134626 was
written as if it was "this or this" but it's "this and this".

So the test ran on AArch64 Linux, because Linux is not Windows.

Split out the Windows check to fix that.


  Commit: b658a2e74ab48fce303d009b7039fbb10482bab8
      https://github.com/llvm/llvm-project/commit/b658a2e74ab48fce303d009b7039fbb10482bab8
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll

  Log Message:
  -----------
  [LV] Reduce register usage for scaled reductions (#133090)

This PR accounts for scaled reductions in `calculateRegisterUsage` to
reflect the fact that the number of lanes in their output is smaller
than the VF.

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


  Commit: 9e90e10e76eeb796d2d9e8609b98b90d760e1eb0
      https://github.com/llvm/llvm-project/commit/9e90e10e76eeb796d2d9e8609b98b90d760e1eb0
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl

  Log Message:
  -----------
  [AMDGPU][Clang] Add builtins for gfx12 ray tracing intrinsics (#135224)


  Commit: 8fc2538f338088bd084d217a7569d72c3b630e8c
      https://github.com/llvm/llvm-project/commit/8fc2538f338088bd084d217a7569d72c3b630e8c
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__charconv/tables.h
    M libcxx/include/__charconv/to_chars_base_10.h
    M libcxx/include/__charconv/to_chars_integral.h
    M libcxx/include/__charconv/to_chars_result.h
    M libcxx/include/__charconv/traits.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/include/locale
    M libcxx/include/module.modulemap
    A libcxx/test/benchmarks/locale/num_put.bench.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp

  Log Message:
  -----------
  Reapply "[libc++] Optimize num_put integral functions" (#131613) (#133572)

This reverts commit d1156fcb56891fb1a426c3e8331a51d47f98a1b8.

This patch fixes the reported incorrect formatting changes and adds
tests for them. The performance should be unaffected, since there are no
significant changes required to fix the bugs.

Specifically, a `>` was changed to a `>=` to also add a `+` in the zero
case, and we're checking for zero now before printing the octal and
hexadecimal prefixes.

Closes #131710


  Commit: 33af951f3f1196d65aafebabd913abc43d3ce074
      https://github.com/llvm/llvm-project/commit/33af951f3f1196d65aafebabd913abc43d3ce074
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-incoming-blocks-in-phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
    M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll

  Log Message:
  -----------
  [SLP]Synchronize cost of gather/buildvector nodes with codegen

If the buildvector node contains constants and non-constants, need to
consider shuffling of the constant vec and insertion of unique elements
into the vector. Also, if there is an input vector, need to consider the
cost of shuffling source vector and constant vector and then insertion
and shuffling of the non-constant elements.

Reviewers: hiraditya, RKSimon

Reviewed By: RKSimon

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


  Commit: 0f615fbb0a964082a6601a2838c9788bd29a97ba
      https://github.com/llvm/llvm-project/commit/0f615fbb0a964082a6601a2838c9788bd29a97ba
  Author: Valery Pykhtin <valery.pykhtin at amd.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [AMDGPU] Simplify GCNRewritePartialRegUses pass. (#135199)

Cleanup some leftover hacks that existed before #67245, more details in #69957.


  Commit: 1c05c6183da836d148eb3f558e8f8e0194f39eed
      https://github.com/llvm/llvm-project/commit/1c05c6183da836d148eb3f558e8f8e0194f39eed
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Chunks.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/Writer.cpp
    A lld/test/COFF/arm64x-map.s

  Log Message:
  -----------
  [LLD][COFF] Swap the meaning of symtab and hybridSymtab in hybrid images (#135093)

Originally, the intent behind symtab was to represent the symbol table
seen in the PE header (without applying ARM64X relocations). However, in
most cases outside of `writeHeader()`, the code references either both
symbol tables or only the EC one, for example, `mainSymtab` in
`linkerMain()` maps to `hybridSymtab` on ARM64X.

MSVC's link.exe allows pure ARM64EC images to include native ARM64
files. This patch prepares LLD to support the same, which will require
`hybridSymtab` to be available even for ARM64EC. At that point,
`writeHeader()` will need to use the EC symbol table, and the original
reasoning for keeping it in `hybridSymtab` no longer applies.

Given this, it seems cleaner to treat the EC symbol table as the “main”
one, assigning it to `symtab`, and use `hybridSymtab` for the native
symbol table instead. Since `writeHeader()` will need to be conditional
anyway, this change simplifies the rest of the code by allowing other
parts to consistently treat `ctx.symtab` as the main symbol table.

As a further simplification, this also allows us to eliminate `symtabEC`
and use `symtab` directly; I’ll submit that as a separate PR.

The map file now uses the EC symbol table for printed entry points and
exports, matching MSVC behavior.


  Commit: cbba9600ae4faeb06619ed8b52c22d8a38708230
      https://github.com/llvm/llvm-project/commit/cbba9600ae4faeb06619ed8b52c22d8a38708230
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/AST.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
    M clang/test/SemaCXX/undefined-partial-specialization.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/SemaTemplate/type_pack_element.cpp
    M clang/unittests/AST/TypePrinterTest.cpp

  Log Message:
  -----------
  Revert "[clang] Improved canonicalization for template specialization types" (#135354)

Reverts llvm/llvm-project#135119 because of the assert in ASTContext.cpp, line 5619.
See #135352 for details.


  Commit: 39f119086f115e2af79ebb187a647ea2efad2d5c
      https://github.com/llvm/llvm-project/commit/39f119086f115e2af79ebb187a647ea2efad2d5c
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M flang/test/Driver/omp-driver-offload.f90

  Log Message:
  -----------
  [Flang][OpenMP][ROCM] Enable rocm-device-lib-path for flang (#135307)

Currently rocm-device-lib-path is not enabled for Flang, so when the
compiler warns / requests a user to provide this option in cases where
it can't find rocm a user cannot actually set the device libraries using
rocm-device-lib-path. The alternative rocm_path that's also mentioned
via the warning can be used, but we should enable both mentioned options
to not confuse users (and myself).


  Commit: a9225251c43e84d2bef0528ac61e1abf9fadae50
      https://github.com/llvm/llvm-project/commit/a9225251c43e84d2bef0528ac61e1abf9fadae50
  Author: David Green <david.green at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [AArch64] Remove SLI/SRI debug. NFC

We don't usually have special debug for DAG combines, and this one has been
around long enough to not be required any more.


  Commit: cd85f5dbdf135347a9912dde148ec9fd325ba8c1
      https://github.com/llvm/llvm-project/commit/cd85f5dbdf135347a9912dde148ec9fd325ba8c1
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir] canonicalizer: shape_cast(poison) -> poison  (#133988)

Based on the ShapeCastConstantFolder, this pattern replaces

%0 = ub.poison : vector<2x3xf32>
%1 = vector.shape_cast %0 vector<2x3xf32> to vector<6xf32>

with 

%1 = ub.poison : vector<6xf32>

---------

Signed-off-by: James Newling <james.newling at gmail.com>


  Commit: f8f01b5eeb61999e6bb9e8c52435f8ff08d410e7
      https://github.com/llvm/llvm-project/commit/f8f01b5eeb61999e6bb9e8c52435f8ff08d410e7
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    A lld/test/COFF/arm64ec-x86-sec.yaml

  Log Message:
  -----------
  [LLD][COFF] Support marking sections as x86_64 code in ARM64EC object files (#135280)

On ARM64EC, the `IMAGE_SCN_GPREL` flag is repurposed to indicate that
section code is x86_64. This enables embedding x86_64 code within
ARM64EC object files. MSVC uses this for export thunks in .exp files.


  Commit: 409def2867ffe7dffceeff380d7b4057bac5eac6
      https://github.com/llvm/llvm-project/commit/409def2867ffe7dffceeff380d7b4057bac5eac6
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir][vector] shape_cast(broadcast) -> broadcast canonicalization (#134939)

Add additional cases of this canonicalization, by checking the 'source
of truth' function `isBroadcastableTo` to check when it is possible to
broadcast directly to the shape resulting from the shape_cast.

---------

Signed-off-by: James Newling <james.newling at gmail.com>


  Commit: d6c1ef576f0a44486a8a0f7f33123ad7c9f8c5e9
      https://github.com/llvm/llvm-project/commit/d6c1ef576f0a44486a8a0f7f33123ad7c9f8c5e9
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
    M llvm/lib/TargetParser/TargetParser.cpp

  Log Message:
  -----------
  [AMDGPU] vmem-to-lds-load-insts incoherence between TargetParser and AMDGPU.td (#135376)

The vmem-to-lds-loads-insts feature is only available on gfx9/10. While
target-parser was also enabling it for gfx6,7,8.


  Commit: 7113aece4eaa634cdcea5c4057da171c17229b40
      https://github.com/llvm/llvm-project/commit/7113aece4eaa634cdcea5c4057da171c17229b40
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/test/CodeGenCXX/mangle.cpp

  Log Message:
  -----------
  [clang] ItaniumMangle: fix mangling for unresolved types (#135312)


  Commit: 6b78bbc56b835e69ecc5eb8f978c27592e4c4051
      https://github.com/llvm/llvm-project/commit/6b78bbc56b835e69ecc5eb8f978c27592e4c4051
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsMulMulBugPass.cpp
    M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
    M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp

  Log Message:
  -----------
  [NFC][LLVM][Mips] Cleanup pass initialization for Mips (#134446)

- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767


  Commit: 12fe15ff9d72697848496894401af3eeb7b6c3b8
      https://github.com/llvm/llvm-project/commit/12fe15ff9d72697848496894401af3eeb7b6c3b8
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/Hexagon.h
    M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
    M llvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp
    M llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
    M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
    M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
    M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
    M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
    M llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
    M llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
    M llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
    M llvm/lib/Target/Hexagon/HexagonGenMux.cpp
    M llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp
    M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
    M llvm/lib/Target/Hexagon/HexagonLoadStoreWidening.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/Hexagon/HexagonMask.cpp
    M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
    M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
    M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
    M llvm/lib/Target/Hexagon/HexagonPeephole.cpp
    M llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
    M llvm/lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp
    M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
    M llvm/lib/Target/Hexagon/HexagonVExtract.cpp
    M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorPrint.cpp

  Log Message:
  -----------
  [NFC][LLVM][Hexagon] Cleanup pass initialization for Hexagon (#134431)

- Remove pass initialization calls from pass constructors.
- Move pass initialization and creation function declarations to
Hexagon.h and remove them from individual .cpp files.
- Add calls for pass initialization in Hexagon target initialization.
- https://github.com/llvm/llvm-project/issues/111767


  Commit: 58211f55c5d42394b3de3310a825d707e7622833
      https://github.com/llvm/llvm-project/commit/58211f55c5d42394b3de3310a825d707e7622833
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/108541-null-metadata-crash.ll
    M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp

  Log Message:
  -----------
  [llvm-reduce] Fix incorrectly ignored null MD in ReduceDIMetadata (#108541)

Commit c2e62c7 updated the ReduceDIMetadata pass to be able to remove
DIGlobalVariableExpressions from MDNode operands; it also accidentally
prevented null operands from being preserved, which results in an
assertion being triggered:
`Targets == NoChunksCounter.count() && "number of chunks changes when
reducing"'

This patch allows us to correctly preserve null operands once again.
I've not got a test case for this yet - I'm hoping this patch is just
trivially correct as-is, because I've not got the hang of reducing a
test case for llvm-reduce yet, but I can get a test case generated if
needed.


  Commit: 07b439605a4cc838a9157f6a948edb0369adeada
      https://github.com/llvm/llvm-project/commit/07b439605a4cc838a9157f6a948edb0369adeada
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512fp16-frem.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - require free concatenation of at least one operand of UNPCKL\H (#135366)

Stop just replacing 2*UNPCK+INSERT_SUBVECTOR with 2*INSERT_SUBVECTOR+UNPCK

Currently limited to sub-64-bit element cases until we've accounted for the remaining regressions from some build_vector style patterns.


  Commit: d1ea4799d9a3e2757772a47e9dce5f2e24bb982f
      https://github.com/llvm/llvm-project/commit/d1ea4799d9a3e2757772a47e9dce5f2e24bb982f
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Lex/PPDirectives.cpp
    M clang/test/Preprocessor/embed_parameter_unrecognized.c

  Log Message:
  -----------
  [C23] Fix failed assertions with invalid #embed parameters (#135368)

If the invalid parameter was not the last parameter given, we would fail
to skip to the end of the directive and trip a failed assertion.

Fixes #126940


  Commit: c3795ba7373d9a4878974cd664eb6d000bc91880
      https://github.com/llvm/llvm-project/commit/c3795ba7373d9a4878974cd664eb6d000bc91880
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [Maintainers] Fix name


  Commit: 61f95c6429df523dc3f04e85a5d500008c76e1fa
      https://github.com/llvm/llvm-project/commit/61f95c6429df523dc3f04e85a5d500008c76e1fa
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  IR: Simplify BlockAddress replacement (#135360)

Don't repeatedly replaceAllUsesWith in a loop.


  Commit: 88e15b781506949c56936b8642774125772fdeb2
      https://github.com/llvm/llvm-project/commit/88e15b781506949c56936b8642774125772fdeb2
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
    M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] A quick-fix for the Apple CI. (#135202)

The Apple runners automatically pick up newer XCode versions breaking
the CI. This disables the test to get the CI green which allows us to
investigate the issue properly later on.


  Commit: 3ad2cd5e70d0fb1d7831a735a4ec8c8b18578d75
      https://github.com/llvm/llvm-project/commit/3ad2cd5e70d0fb1d7831a735a4ec8c8b18578d75
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
    M compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp

  Log Message:
  -----------
  [asan] Fix-forward #133175 by restricting newly-added tests to Linux

This was failing on Mac
(https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/4107/ and
https://issues.chromium.org/issues/409995888). Since this is an
experimental feature, rather than play whack-a-mole with selectively
disabling failing platforms (previously done for Android), this patch
restricts it to Linux.


  Commit: 76b85d3a27d9de4667cdf6de158111830724f34d
      https://github.com/llvm/llvm-project/commit/76b85d3a27d9de4667cdf6de158111830724f34d
  Author: Bangtian Liu <liubangtian at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/include/mlir-c/Dialect/Linalg.h

  Log Message:
  -----------
  [MLIR][CAPI] add C API typedef to fix downstream C API usage (#135380)

This PR is after #135253 and #134935 to fix the error reported by
https://github.com/llvm/llvm-project/pull/135253#issuecomment-2796077024.
This PR Adds typedef declarations for `MlirLinalgContractionDimensions`
and `MlirLinalgConvolutionDimensions` in the C API to ensure
compatibility with pure C code.

I confirm that this fix resolves the reported error based on my testing.

Signed-off-by: Bangtian Liu <liubangtian at gmail.com>


  Commit: 5a41fc28f3b3f32a70fd5d81c2e33d10b3225806
      https://github.com/llvm/llvm-project/commit/5a41fc28f3b3f32a70fd5d81c2e33d10b3225806
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/lib/Serialization/ASTReader.cpp
    M clang/test/ClangScanDeps/modules-relocated-mm-macro.c

  Log Message:
  -----------
  [clang][modules] Name the module map files on PCM file conflict (#134475)

With implicitly-built modules, seeing something like:
```
fatal error: module 'X' is defined in both '<cache>/HASH1/X-HASH2.pcm' and '<cache>/HASH1/X-HASH3.pcm'
```
is super confusing and not actionable, because the module cache tends to
be hidden from the developer.

This PR adds a note to that diagnostic that names the module map files
the PCM files were compiled from, hopefully giving a good enough hint
for further investigation:
```
note: compiled from '<build>/X.framework/Modules/module.modulemap' and '<SDK>/X.framework/Modules/module.modulemap'
```

(I had to replace the mechanism used to convert `DiagnosticError` into
something `DiagnosticsEngine` can understand, because it seemingly did
not support notes.)


  Commit: 976c37ec950a93ed60068389ad05454f76da1e55
      https://github.com/llvm/llvm-project/commit/976c37ec950a93ed60068389ad05454f76da1e55
  Author: amansharma612 <amansharma6122002 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/mul.ll

  Log Message:
  -----------
  [AMDGPU] Set hasSideEffects=0 for SALU psuedos (#134487)

Fixes #128685

---------

Co-authored-by: Aman Sharma <210100011 at iitb.ac.in>


  Commit: a4b7688d27da1a0189fff6549853fdfe22b33c48
      https://github.com/llvm/llvm-project/commit/a4b7688d27da1a0189fff6549853fdfe22b33c48
  Author: David Green <david.green at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [AArch64] Regenerate fsh.ll test. NFC


  Commit: ffac1404f8e0f606cac12a21777dfe700b455e87
      https://github.com/llvm/llvm-project/commit/ffac1404f8e0f606cac12a21777dfe700b455e87
  Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [Clang] [Sema] Document invariant in Sema::AddOverloadCandidate (#135256)

Static analysis flagged 1 - ArgIdx in Sema::AddOverloadCandidate for its
potential to overflow.

Turns out this is intentional since when PO ==
OverloadCandidateParamOrder::Reversed Args.size() is always two, so this
will never overflow.

We document using an assert.

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


  Commit: 438f984b4b3c6774f07eced877dce7cdbeef6a3b
      https://github.com/llvm/llvm-project/commit/438f984b4b3c6774f07eced877dce7cdbeef6a3b
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/test/tools/dxil-dis/debug-info.ll

  Log Message:
  -----------
  [DirectX] XFAIL test failing because of debuginfo changes (#135279)

For more context see
https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578

This change:
https://github.com/llvm/llvm-project/commit/6a45fce90937f1c8671e609c4218818ce4491329
broke this test:
https://github.com/llvm/llvm-project/blob/main/llvm/test/tools/dxil-dis/debug-info.ll
in our pipeline:
https://github.com/llvm/llvm-project/actions/workflows/hlsl-matrix.yaml

LLVM is transitioning off of the llvm.dbg.value debug intrinsic in favor
of the `#dbg_declare(..) format. see
https://github.com/llvm/llvm-project/pull/133917/files

dxil-dis does not understand the new format and so work needs to be
planned out to support this transition in
https://github.com/microsoft/DirectXShaderCompiler

For now the fix is to XFAIL this test to unblock the pipeline.


  Commit: 70627af91f577f5195a11ee44c6af39503e1ce52
      https://github.com/llvm/llvm-project/commit/70627af91f577f5195a11ee44c6af39503e1ce52
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [lldb] Synchronize access to m_statusline in the Debugger (#134759)

Eliminate the potential for a race between the main thread, the default
event handler thread and the signal handling thread, when accessing the
m_statusline member.


  Commit: 8d2f0911ce8dddb37d064b3065b3be71e3233c2c
      https://github.com/llvm/llvm-project/commit/8d2f0911ce8dddb37d064b3065b3be71e3233c2c
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [clang] Extract `CompilerInstance` creation out of `compileModuleImpl()` (#134887)

This PR extracts the creation of `CompilerInstance` for compiling an
implicitly-discovered module out of `compileModuleImpl()` into its own
separate function and passes it into `compileModuleImpl()` from the
outside. This makes the instance creation logic reusable (useful for my
experiments) and also simplifies the API, removing the `PreBuildStep`
and `PostBuildStep` hooks from `compileModuleImpl()`.


  Commit: 61f80db9a493e3f33dc01ecd5294856d33ca74d4
      https://github.com/llvm/llvm-project/commit/61f80db9a493e3f33dc01ecd5294856d33ca74d4
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/DLL.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [LLD][COFF] Remove no longer needed symtabEC from COFFLinkerContext (NFC) (#135094)

With #135093, we may just use `symtab` instead.


  Commit: 68b7cba2b04a036dfb2e216cfafe70a83fbc7530
      https://github.com/llvm/llvm-project/commit/68b7cba2b04a036dfb2e216cfafe70a83fbc7530
  Author: Henry Jiang <h243jian at uwaterloo.ca>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    A llvm/test/Transforms/LoopIdiom/strlen-cleanup.ll
    M llvm/test/Transforms/LoopIdiom/strlen.ll
    M llvm/test/Transforms/LoopIdiom/wcslen16.ll
    M llvm/test/Transforms/LoopIdiom/wcslen32.ll

  Log Message:
  -----------
  [LoopIdiom] Update strlen idiom body loop condition to be clean up by LoopDeletion (#134906)

Fixes the case where subsequent passes were unable to find and delete
the invariant loop left over by the strlen idiom conversion. Since
`loop-deletion` only operate on computable loops, we can update the loop
condition to something more easily picked up by `loop-deletion`

As pointed out in https://github.com/llvm/llvm-project/issues/134736


  Commit: d995b2ebdc1a312c8583351c13dac90e8e320a09
      https://github.com/llvm/llvm-project/commit/d995b2ebdc1a312c8583351c13dac90e8e320a09
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaAMDGPU.cpp
    A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
    A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip

  Log Message:
  -----------
  [Clang][AMDGPU] Accept builtins in lambda declarations (#135027)

`Sema::getCurFunctionDecl(AllowLambda = false)` returns a nullptr when
the lambda declaration is outside a function (for example, when
assigning a lambda to a static constexpr variable).

This triggered an assertion in
`SemaAMDGPU::CheckAMDGCNBuiltinFunctionCall`.

Using `Sema::getCurFunctionDecl(AllowLambda = true)` returns the
declaration of the enclosing lambda.

Stumbled with this issue when refactoring some code in CK.


  Commit: 8fb6bb3e23966c973bb04784e165473f681ec7af
      https://github.com/llvm/llvm-project/commit/8fb6bb3e23966c973bb04784e165473f681ec7af
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-init.f90
    M flang/test/Lower/OpenACC/acc-shutdown.f90
    M flang/test/Semantics/OpenACC/acc-init-validity.f90
    M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Allow multiple device_type clauses on init and shutdown (#135314)

Relax the restriction for init and shutdown directives for device_type
clause. The clause can be allowed multiple times.


  Commit: 566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
      https://github.com/llvm/llvm-project/commit/566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
  Author: Morris Hafner <mmha at users.noreply.github.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/binassign.c
    A clang/test/CIR/CodeGen/comma.c
    A clang/test/CIR/IR/binassign.cir

  Log Message:
  -----------
  [CIR] Upstream binary assignments and comma (#135115)

This patch adds `VisitBinAssign` and `VisitBinComma` to the ClangIR
`ScalarExprEmitter` to enable assignments and the comma operator.

---------

Co-authored-by: Morris Hafner <mhafner at nvidia.com>


  Commit: bd0b2bdacc95332a62d5eeb9582302cc12567be3
      https://github.com/llvm/llvm-project/commit/bd0b2bdacc95332a62d5eeb9582302cc12567be3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Use VF instead of VL.size and modernize some transformations, NFC.


  Commit: 68ab45f0533f3bbfc1c96bddd53de7e769180219
      https://github.com/llvm/llvm-project/commit/68ab45f0533f3bbfc1c96bddd53de7e769180219
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
    M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp

  Log Message:
  -----------
  Revert "[lldb] ProcessGdbRemote header gardning"

This reverts commit 2fd860c1f559c0b0be66cc000e38270a04d0a1a3 as this is
causing a EXC_BAD_ACCESS on Darwin:

https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/23807/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/11255/


  Commit: de5b099dd1542deee821b1dcfcb1762e683c672c
      https://github.com/llvm/llvm-project/commit/de5b099dd1542deee821b1dcfcb1762e683c672c
  Author: Jan Korous <jkorous at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    A clang/include/clang/Analysis/Support/FixitUtil.h
    M clang/lib/Analysis/CMakeLists.txt
    A clang/lib/Analysis/FixitUtil.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage][NFC] Factor out FixitUtil (#135100)


  Commit: cb974dcd7798317f065fe0668e16d0e1712e5ca0
      https://github.com/llvm/llvm-project/commit/cb974dcd7798317f065fe0668e16d0e1712e5ca0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

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


  Commit: abe3b90b3fa49829a165f2174191c33542597052
      https://github.com/llvm/llvm-project/commit/abe3b90b3fa49829a165f2174191c33542597052
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp

  Log Message:
  -----------
  [CIR] Fix warnings, again! (#135284)

The calleeDecl var will be used in the near future, so I left it. At
least for clang, the [[maybe_unused]] attribute takes care of the
warnings related to that variable. The other warning was a simple lack
of return after errorNYI.


  Commit: a2d129b792cc49224f98c83d2279b2e19bfa700f
      https://github.com/llvm/llvm-project/commit/a2d129b792cc49224f98c83d2279b2e19bfa700f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll

  Log Message:
  -----------
  [SLP]Fix a crash when trying to reduce in revec after minbitwidth analysis

Need to use the original scalar type, when building the reduction, and
use the scalar type, when performing casting, to avoid compiler crash.


  Commit: e911f90a4035ee6a70d9b608ef35c6870aa86fdb
      https://github.com/llvm/llvm-project/commit/e911f90a4035ee6a70d9b608ef35c6870aa86fdb
  Author: Kevin Gleason <gleasonk at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/utils/generate-test-checks.py

  Log Message:
  -----------
  [mlir] Add support for broader range of input files in generate-test-checks.py (#134327)

A few additions:

- Lines with `{{`: These can show up if serializing non-MLIR info into
string attrs `my.attr = {{proto}, {...}}`. String escape the opening
`{{`, given that check lines are generated this has no effect on
`{{.*}}` etc in generated lines.
- File split line: Normally these are skipped because of their indent
level, but if using `--starts_from_scope=0` to generate checks for the
`module {...} {` line, and since MLIR opt tools emit file split lines by
default, some `CHECK: // -----` lines were emit.
- (edit removed this, fixed by
https://github.com/llvm/llvm-project/pull/134364) AttrAliases: I'm not
sure if I'm missing something for the attribute parser to work
correctly, but I was getting many `#[[?]]` for all dialect attrs. Only
use the attr aliasing if there's a match.


  Commit: e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
      https://github.com/llvm/llvm-project/commit/e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [libc++] Another Apple CI quick-fix.

Like #135202 this fixes another issue after the XCode update.


  Commit: c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
      https://github.com/llvm/llvm-project/commit/c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the incorrect type promotion after bitwidth analysis, NFC


  Commit: 1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
      https://github.com/llvm/llvm-project/commit/1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libc/Maintainers.rst

  Log Message:
  -----------
  [libc] Add dthorn as maintainer for allocator on baremetal (#135203)

This was on request from other maintainers, given that I've been
de-facto acting as maintainer of the baremetal allocator stuff.


  Commit: df579ce4b6006ed23bb3a31f009269a1ba2587d4
      https://github.com/llvm/llvm-project/commit/df579ce4b6006ed23bb3a31f009269a1ba2587d4
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Adds is_implemented function for new ftm generator. (#134538)

At the moment the ftm macro for __cpp_lib_to_chars will have the
following values:

standard_ftms: {
    "c++17": "201611L",
    "c++20": "201611L",
    "c++23": "201611L",
    "c++26": "201611L",
}

implemented_ftms: {
    "c++17": None,
}

This is an issue with the test whether the FTM is implemented it does:
  self.implemented_ftms[ftm][std] == self.standard_ftms[ftm][std]
This will fail in C++20 since implemented_ftms[ftm] does not have the
key c++20. This adds a new helper function and removes the None entries
when a FTM is not implemented.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 6f5e993b179a6f93b40d375a8864f2a482f3ca5d
      https://github.com/llvm/llvm-project/commit/6f5e993b179a6f93b40d375a8864f2a482f3ca5d
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [DirectX] legalize usub.sat (#135288)

fixes #135285

This change implements the `usub.sat` intrinsic to perform an unsigned
saturating subtraction on the 2 arguments.
The minimum value this operation is clamp to is 0.


  Commit: 52ef55864f50077072e083c5582d23a9ec494142
      https://github.com/llvm/llvm-project/commit/52ef55864f50077072e083c5582d23a9ec494142
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp

  Log Message:
  -----------
  [OpenACC] Fix source-location on a handful of CIR Directives

Apparently we used the 'end location' instead of 'start' in a few
places.


  Commit: db4ad4686f09822add4575801a2bbb10c8d56ebb
      https://github.com/llvm/llvm-project/commit/db4ad4686f09822add4575801a2bbb10c8d56ebb
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M libc/Maintainers.rst

  Log Message:
  -----------
  [libc] Add myself as maintainer for Public Headers / hdrgen (#135209)


  Commit: 38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
      https://github.com/llvm/llvm-project/commit/38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll

  Log Message:
  -----------
  [SLP]Fix minbiwidth analysis for gather nodes with SIToFP users

If the buildvector node has cast to float user, it cannot be considered as safe
for truncation, need to use the original bitwidth here.

Fixes #135410


  Commit: c2939b9bf672713ac36910a3e6d00c19ace1bd44
      https://github.com/llvm/llvm-project/commit/c2939b9bf672713ac36910a3e6d00c19ace1bd44
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py

  Log Message:
  -----------
  Reland "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)" (#135296)

This reapplies commit
https://github.com/llvm/llvm-project/commit/232525f06942adb3b9977632e38dcd5f08c0642d.

The original commit triggered a sanitizer failure when `Target` was
destroyed. In `Target::Destroy`, `DeleteCurrentProcess` was called, but
it did not destroy the thread creation breakpoints for the underlying
`ProcessGDBRemote` because `ProcessGDBRemote::Clear` was not called in
that path.

`Target `then proceeded to destroy its breakpoints, which resulted in a
call to the destructor of a `std::vector` containing the breakpoints.
Through a sequence of complicated events, destroying breakpoints caused
the reference count of the underlying `ProcessGDBRemote` to finally
reach zero. This, in turn, called `ProcessGDBRemote::Clear`, which
attempted to destroy the breakpoints. To do that, it would go back into
the Target's vector of breakpoints, which we are in the middle of
destroying.

We solve this by moving the breakpoint deletion into
`Process:DoDestroy`, which is a virtual Process method that will be
called much earlier.


  Commit: 179d30f8c3fddd3c85056fd2b8e877a4a8513158
      https://github.com/llvm/llvm-project/commit/179d30f8c3fddd3c85056fd2b8e877a4a8513158
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/Core/Statusline.cpp

  Log Message:
  -----------
  Revert "[lldb] Make sure the process is stopped when computing the symbol context (#134757)" (#135408)

This reverts commit e84a80408523a48d6eaacd795f1615e821ffb233 because on
Linux there seems to be a race around GetRunLock. See #134757 for more
context.


  Commit: fedd79bdcd8363456ec87796694ae0f37d28a98f
      https://github.com/llvm/llvm-project/commit/fedd79bdcd8363456ec87796694ae0f37d28a98f
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
    M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir

  Log Message:
  -----------
  [mlir][vector] Tighten the semantics of vector.{load|store} (#135151)

This change refines the verifier for `vector.load` and `vector.store` to
disallow the use of vectors with higher rank than the source or
destination memref. For example, the following is now rejected:

```mlir
  %0 = vector.load %src[%c0] : memref<?xi8>, vector<16x16xi8>
  vector.store %vec, %dest[%c0] : memref<?xi8>, vector<16x16xi8>
```

This pattern was previously used in SME end-to-end tests and "happened"
to work by implicitly assuming row-major memory layout. However, there
is no guarantee that such an assumption will always hold, and we should
avoid relying on it unless it can be enforced deterministically.

Notably, production ArmSME lowering pipelines do not rely on this
behavior. Instead, the expected usage (illustrated here with scalable
vector syntax) would be:

```mlir
  %0 = vector.load %src[%c0, %c0] : memref<?x?xi8>, vector<[16]x[16]xi8>
```

This PR updates the verifier accordingly and adjusts all affected tests.
These tests are either removed (if no longer relevant) or updated to use
memrefs with appropriately matching rank.


  Commit: 052225dc0366ddf56631b1e4104ef09896f1139b
      https://github.com/llvm/llvm-project/commit/052225dc0366ddf56631b1e4104ef09896f1139b
  Author: David Green <david.green at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/bswap.ll
    M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
    M llvm/test/Analysis/CostModel/AArch64/cttz.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll

  Log Message:
  -----------
  [AArch64] Use a lower Costsize cost in getScalarizationOverhead.

This is a follow on to #130946 to use the same codesize cost override in
getScalarizationOverhead for vector instructions.


  Commit: 32c39092eab3a401d9d028c21f4707102fd70e32
      https://github.com/llvm/llvm-project/commit/32c39092eab3a401d9d028c21f4707102fd70e32
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonCallingConv.td
    A llvm/test/CodeGen/Hexagon/calloperand-v2i1.ll

  Log Message:
  -----------
  [llvm][Hexagon] Promote operand v2i1 to v2i32 (#135409)

Fixes #118879


  Commit: a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
      https://github.com/llvm/llvm-project/commit/a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/CallingConv.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Bitcode/calling-conventions.3.2.ll
    M llvm/test/Bitcode/calling-conventions.3.2.ll.bc
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    R llvm/test/CodeGen/AMDGPU/call-to-kernel-undefined.ll
    R llvm/test/CodeGen/AMDGPU/call-to-kernel.ll
    M llvm/test/Other/spir_cc.ll
    M llvm/test/Verifier/amdgpu-cc.ll
    A llvm/test/Verifier/call-to-non-callable-functions.ll

  Log Message:
  -----------
  [AMDGPU][Verifier] Mark calls to entry functions as invalid in the IR verifier (#134910)


  Commit: 72144d119a7291f8b6b8e022a2947fbe31e66afc
      https://github.com/llvm/llvm-project/commit/72144d119a7291f8b6b8e022a2947fbe31e66afc
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/edit-input.cpp

  Log Message:
  -----------
  [flang][runtime] Fix recently broken big-endian formatted integer input (#135417)

My recent change to speed up formatted integer input has a bug on
big-endian targets that has shown up on ppc64 AIX build bots. Fix.


  Commit: ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
      https://github.com/llvm/llvm-project/commit/ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Merge cases using getResultType in inferScalarType (NFC).


  Commit: d78b48641429c8b48e2c376fa3870d841e319c96
      https://github.com/llvm/llvm-project/commit/d78b48641429c8b48e2c376fa3870d841e319c96
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/error_if_check.mlir

  Log Message:
  -----------
  [mlir][tosa] Add error_if checks for Mul Op (#135075)

This adds error_if validation checking for Mul Op

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 90a202f2ff241a9f4b11ec625dcc3446cbceb924
      https://github.com/llvm/llvm-project/commit/90a202f2ff241a9f4b11ec625dcc3446cbceb924
  Author: Victor Vianna <victor.vianna10 at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M compiler-rt/lib/orc/error.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h

  Log Message:
  -----------
  [cpp23] Remove usage of std::aligned_union<> in llvm (#135146)

std::aligned_union<> is deprecated in C++23. See more details in the
linked bug.

Bug: https://crbug.com/388068052


  Commit: d1fd97737e9064431983e48c2105d1c54d5feacc
      https://github.com/llvm/llvm-project/commit/d1fd97737e9064431983e48c2105d1c54d5feacc
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_posix.cpp
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/asan/tests/asan_test.cpp
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_linux.cpp
    M compiler-rt/lib/interception/interception_linux.h
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
    M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
    A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
    A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_platform.h
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

  Log Message:
  -----------
  [compiler-rt][sanitizer] add Haiku support (#134772)

Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>


  Commit: ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
      https://github.com/llvm/llvm-project/commit/ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
  Author: Jan Korous <jkorous at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/lib/Analysis/UnsafeBufferUsage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Add findUnsafePointers (#135421)


  Commit: a8da4834f70b4cea0ba8e703a76ccbcd26f88923
      https://github.com/llvm/llvm-project/commit/a8da4834f70b4cea0ba8e703a76ccbcd26f88923
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [flang] IEEE_SCALB and SCALE - kind=2, kind=3 (#135374)

Implement the kind=2,3 variants of language intrinsic SCALE and
intrinsic module procedure IEEE_SCALB, including exception signaling.


  Commit: 609361ab39226a866211286a2ae4f19ab8bb444c
      https://github.com/llvm/llvm-project/commit/609361ab39226a866211286a2ae4f19ab8bb444c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-exit-data.f90
    M flang/test/Semantics/OpenACC/acc-data.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Allow finalize clause on exit data more than once (#135415)

The spec has not strict restriction to allow a single `finalize` clause
on the `exit data` directive. Allowing this clause multiple times does
not change the semantic of it. This patch relax the rules in `ACC.td`
since there is no restriction in the standard.

The OpenACC dialect represent the finalize clause with a UnitAttr so the
attribute will be set if the is one or more `finalize` clause.


  Commit: 2837fd7e5ad521d977fbca85a639ce7afbacdc56
      https://github.com/llvm/llvm-project/commit/2837fd7e5ad521d977fbca85a639ce7afbacdc56
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-host-data.f90
    M flang/test/Lower/OpenACC/acc-update.f90
    M flang/test/Semantics/OpenACC/acc-host-data.f90
    M flang/test/Semantics/OpenACC/acc-update-validity.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Allow if_present multiple times on host_data and update (#135422)

Similar to #135415.

The spec has not strict restriction to allow a single `if_present`
clause on the host_data and update directives. Allowing this clause
multiple times does not change the semantic of it. This patch relax the
rules in ACC.td since there is no restriction in the standard.

The OpenACC dialect represents the `if_present` clause with a `UnitAttr`
so the attribute will be set if the is one or more `if_present` clause.


  Commit: 4530922cfdacc5be25dbe499fc106cc3b009bf79
      https://github.com/llvm/llvm-project/commit/4530922cfdacc5be25dbe499fc106cc3b009bf79
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp

  Log Message:
  -----------
  [clang] fix serialization for SubstNonTypeTemplateParmPackExpr (#135428)

This fixes a PCM non-determinism regression reported here:
https://github.com/llvm/llvm-project/pull/134560#issuecomment-2797744370

There was a bit in `SubstNonTypeTemplateParmPackExpr` which we missed to
serialize, and that bit eventually propagates to
`SubstNonTypeTemplateParmExpr`.

As a drive by, improve serialization for PackIndex on
SubstNonTypeTemplateParmExpr by using the newly introduced
UnsignedOrNone helpers.

There are no release notes since this regression was never released.


  Commit: de67293c093efddb9f9444b3a614695ad243355d
      https://github.com/llvm/llvm-project/commit/de67293c093efddb9f9444b3a614695ad243355d
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/CMakeLists.txt
    A mlir/include/mlir/Dialect/SMT/CMakeLists.txt
    A mlir/include/mlir/Dialect/SMT/IR/CMakeLists.txt
    A mlir/include/mlir/Dialect/SMT/IR/SMT.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.h
    A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.h
    A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTIntOps.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTOps.h
    A mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.h
    A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.td
    A mlir/include/mlir/Dialect/SMT/IR/SMTVisitors.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/CMakeLists.txt
    A mlir/lib/Dialect/SMT/CMakeLists.txt
    A mlir/lib/Dialect/SMT/IR/CMakeLists.txt
    A mlir/lib/Dialect/SMT/IR/SMTAttributes.cpp
    A mlir/lib/Dialect/SMT/IR/SMTDialect.cpp
    A mlir/lib/Dialect/SMT/IR/SMTOps.cpp
    A mlir/lib/Dialect/SMT/IR/SMTTypes.cpp
    A mlir/test/Dialect/SMT/array-errors.mlir
    A mlir/test/Dialect/SMT/array.mlir
    A mlir/test/Dialect/SMT/basic.mlir
    A mlir/test/Dialect/SMT/bitvector-errors.mlir
    A mlir/test/Dialect/SMT/bitvectors.mlir
    A mlir/test/Dialect/SMT/core-errors.mlir
    A mlir/test/Dialect/SMT/cse-test.mlir
    A mlir/test/Dialect/SMT/integers.mlir
    M mlir/unittests/Dialect/CMakeLists.txt
    A mlir/unittests/Dialect/SMT/AttributeTest.cpp
    A mlir/unittests/Dialect/SMT/CMakeLists.txt
    A mlir/unittests/Dialect/SMT/QuantifierTest.cpp
    A mlir/unittests/Dialect/SMT/TypeTest.cpp

  Log Message:
  -----------
  [mlir][SMT] upstream `SMT` dialect (#131480)

This PR upstreams the `SMT` dialect from the CIRCT project. Here we only
check in the dialect/op/types/attributes and lit tests. Follow up PRs
will add conversions in and out and etc.

Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>


  Commit: 93370c4ab3437432e488fac9e3a09b44dbe87449
      https://github.com/llvm/llvm-project/commit/93370c4ab3437432e488fac9e3a09b44dbe87449
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/test/CIR/CodeGen/array.cpp

  Log Message:
  -----------
  [CIR] Make LLVM & OGCG variables match the same pattern (#135427)

Follow-up patch to improve variable names in LLVM and OGCG in
https://github.com/llvm/llvm-project/pull/134536


  Commit: 84ed81bc8a5359f33818c876e43f6450e98deb35
      https://github.com/llvm/llvm-project/commit/84ed81bc8a5359f33818c876e43f6450e98deb35
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/unittests/Thread/ThreadTest.cpp

  Log Message:
  -----------
  [lldb] On Windows, silence warning when building with Clang ToT

Fixes:
```
[930/2017] Building CXX object tools\lldb\unittests\Thread\CMakeFiles\ThreadTests.dir\ThreadTest.cpp.obj
C:\git\llvm-project\lldb\unittests\Thread\ThreadTest.cpp(51,23): warning: cast from 'FARPROC' (aka 'long long (*)()') to 'SetThreadDescriptionFunctionPtr' (aka 'long (*)(void *, const wchar_t *)') converts to incompatible function type [-Wcast-function-type-mismatch]
   51 |       SetThreadName = reinterpret_cast<SetThreadDescriptionFunctionPtr>(
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   52 |           ::GetProcAddress(hModule, "SetThreadDescription"));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
```


  Commit: 12c4be1ba8513b4c0f43945c0f266d7f871a978a
      https://github.com/llvm/llvm-project/commit/12c4be1ba8513b4c0f43945c0f266d7f871a978a
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/unittests/AST/ByteCode/BitcastBuffer.cpp

  Log Message:
  -----------
  [clang][unittests] On Windows, silence warning when building with MSVC

Fixes:
```
[113/324] Building CXX object tools\clang\unittests\AST\ByteCode\CMakeFiles\InterpTests.dir\BitcastBuffer.cpp.obj
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(52): warning C4309: 'initializing': truncation of constant value
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(53): warning C4309: 'initializing': truncation of constant value
```


  Commit: 78fbba992188c60f0f06267ca013e52db19b8c67
      https://github.com/llvm/llvm-project/commit/78fbba992188c60f0f06267ca013e52db19b8c67
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [compiler-rt] On Windows, silence warning when building with Clang ToT

Fixes:
```
[6113/7139] Building CXX object projects\compiler-rt\lib\interception\CMakeFiles\RTInterception.x86_64.dir\interception_win.cpp.obj
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
  746 |     case 0xB841:  // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
      |     ^
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'FALLTHROUGH;' to silence this warning
  746 |     case 0xB841:  // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
      |     ^
      |     FALLTHROUGH;
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'break;' to avoid fall-through
  746 |     case 0xB841:  // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
      |     ^
      |     break;
1 warning generated.
```


  Commit: e1d91ba06d250dd8bbd5bded4824c5b210c2667a
      https://github.com/llvm/llvm-project/commit/e1d91ba06d250dd8bbd5bded4824c5b210c2667a
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp

  Log Message:
  -----------
  [lldb] Fix erroneous return value

Found when building with MSVC on Windows, was seeing:
```
[2703/7138] Building CXX object tools\lldb\source\Plugins\Process\Utility\CMakeFiles\lldbPluginProcessUtility.dir\NativeRegisterContextDBReg.cpp.obj
C:\git\llvm-project\lldb\source\Plugins\Process\Utility\NativeRegisterContextDBReg.cpp(286): warning C4305: 'return': truncation from 'unsigned int' to 'bool'
```


  Commit: 715c61e9a7cc631fd0965b887941ccfd8c0133d6
      https://github.com/llvm/llvm-project/commit/715c61e9a7cc631fd0965b887941ccfd8c0133d6
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp

  Log Message:
  -----------
  [lldb][lldbp-dap] On Windoows, silence warnings when building with MSVC

Fixes:
```
[6373/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\DAP.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\DAP.cpp(725) : warning C4715: '`lldb_dap::DAP::HandleObject'::`30'::<lambda_2>::operator()': not all control paths return a value
[6421/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolTypes.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(203) : warning C4715: 'lldb_dap::protocol::ToString': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(98) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(72) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(111) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
[6426/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolBase.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolBase.cpp(287) : warning C4715: 'lldb_dap::protocol::fromJSON': not all control paths return a value
```


  Commit: 46135ade9ec0b7fd975b5d3923aea95f4d416296
      https://github.com/llvm/llvm-project/commit/46135ade9ec0b7fd975b5d3923aea95f4d416296
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [Sema] On Windows, silence erroneous warning when building with MSVC

Fixes what seems to be a buggy warning in MSVC:
```
[1/37] Building CXX object tools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaConcept.cpp.obj
C:\git\llvm-project\clang\lib\Sema\SemaConcept.cpp(1933): warning C4101: '$S26': unreferenced local variable
```


  Commit: 6e7fe85247301c52d10d234b87f13376e091c77e
      https://github.com/llvm/llvm-project/commit/6e7fe85247301c52d10d234b87f13376e091c77e
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/test/CodeGen/AMDGPU/iglp.opt.reentry.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.iterative.ll
    M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll

  Log Message:
  -----------
  [AMDGPU] Teach iterative schedulers about IGLP (#134953)

This adds IGLP mutation to the iterative schedulers
(`gcn-iterative-max-occupancy-experimental`, `gcn-iterative-minreg`, and
`gcn-iterative-ilp`).

The `gcn-iterative-minreg` and `gcn-iterative-ilp` schedulers never
actually applied the mutations added, so this also has the effect of
teaching them about mutations in general. The
`gcn-iterative-max-occupancy-experimental` scheduler has calls to
`ScheduleDAGMILive::schedule()`, so, before this, mutations were applied
at this point. Now this is done during calls to `BuildDAG`, with IGLP
superseding other mutations (similar to the other schedulers). We may
end up scheduling regions multiple times, with mutations being applied
each time, so we need to track for
`AMDGPU::SchedulingPhase::PreRAReentry`


  Commit: eb68b914dd7f1926daf9cfab19b85765f2a60700
      https://github.com/llvm/llvm-project/commit/eb68b914dd7f1926daf9cfab19b85765f2a60700
  Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp

  Log Message:
  -----------
  [NFC][LLVM] Apply std::move to object being pushed back in findSymbolCommon (#135290)

Static analysis found that we could move LineInfo into the Result vector
instead of just copying it.


  Commit: 957bd6aa32da8b89571a6e6abb53ec87ad828332
      https://github.com/llvm/llvm-project/commit/957bd6aa32da8b89571a6e6abb53ec87ad828332
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

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


  Commit: 4c67bdd973ee1c308155555500ef39d4e2099a6a
      https://github.com/llvm/llvm-project/commit/4c67bdd973ee1c308155555500ef39d4e2099a6a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
    M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll

  Log Message:
  -----------
  [RISCV] Don't fold offsets into auipc if offset is larger than the reference global variable. (#135297)

The global variable should be within 2GB of the PC, but an offset to an
address outside the global might not be.

Fixes #134525.


  Commit: 6aae1047b6c701b407c0cadaf1acd036c1bab6b6
      https://github.com/llvm/llvm-project/commit/6aae1047b6c701b407c0cadaf1acd036c1bab6b6
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [clang] ASTImporter: fix SubstNonTypeTemplateParmExpr source location (#135450)

This makes it clear which source location is imported.


  Commit: b74dbf7fb2d152109bba29fdb39e0924eb8dc842
      https://github.com/llvm/llvm-project/commit/b74dbf7fb2d152109bba29fdb39e0924eb8dc842
  Author: Pranav Kant <prka at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Add support for SMT Dialect (#135454)

This fixes #131480


  Commit: a4fbc6f78f7a276d23f61c93694090fccd2461cb
      https://github.com/llvm/llvm-project/commit/a4fbc6f78f7a276d23f61c93694090fccd2461cb
  Author: Pranav Kant <prka at google.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Fix a typo (#135460)


  Commit: 54e70ac7650f1c22f687937d1a082e4152f97b22
      https://github.com/llvm/llvm-project/commit/54e70ac7650f1c22f687937d1a082e4152f97b22
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
    M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
    M mlir/unittests/Dialect/SMT/CMakeLists.txt
    R mlir/unittests/Dialect/SMT/QuantifierTest.cpp

  Log Message:
  -----------
  [mlir][SMT] remove custom forall/exists builder because of asan memory leak


  Commit: 357e3803bb94cc622c785f7eb60aa38d552bc5ef
      https://github.com/llvm/llvm-project/commit/357e3803bb94cc622c785f7eb60aa38d552bc5ef
  Author: Sagar Kulkarni <sagar.kulkarni1911 at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir][vector] Prevent folding non memref-type gather into maskedload (#135371)

This patch fixes an issue in the FoldContiguousGather pattern which was
incorrectly folding vector.gather operations with contiguous indices
into vector.maskedload operations regardless of the base operand type.

While vector.gather operations can work on both tensor and memref types,
vector.maskedload operations are only valid for memref types. The
pattern was incorrectly lowering a tensor-based gather into a
masked-load, which is invalid.

This fix adds a type check to ensure the pattern only applies to
memref-based gather operations.

Co-authored-by: Sagar Kulkarni <sagar at rain.ai>


  Commit: 336b290923151d02fd6b3050ccbaf74f0aa08339
      https://github.com/llvm/llvm-project/commit/336b290923151d02fd6b3050ccbaf74f0aa08339
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll

  Log Message:
  -----------
  [RISCV] Use a DAG combine to prune pointless vrgather.vi (#135392)

If the vrgather.vi is preceeded by a vmv.v.x which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.

This is the start of a mini-series of patches around rewriting
vrgather.vi/vx preceeded by vmv.v.x, vfmf.v.f, vmv.s.x, etc... Starting
with the simplest, but also lowest impact.

One point I'd like a second oppinion on is the out of bounds semenatic
change. As far as I can tell, all the indices are in bounds by
construction. The doc change is as much as I couldn't figure out how to
test the alternative as anything else.


  Commit: 3a2d9a7c1e73618ca77caa6455e9208ad3b16664
      https://github.com/llvm/llvm-project/commit/3a2d9a7c1e73618ca77caa6455e9208ad3b16664
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/Frontend/CompilerInstance.cpp

  Log Message:
  -----------
  [clang][frontend] Expose `CompilerInstance::cloneForModuleCompile()` (#135405)

This PR exposes `cloneForModuleCompile()` as a public `CompilerInstance`
member function. This will be eventually used in the dependency scanner
to customize implicit module builds.


  Commit: fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
      https://github.com/llvm/llvm-project/commit/fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/callcont-fallthru.s
    M bolt/test/link_fdata.py

  Log Message:
  -----------
  [BOLT] Accept PLT fall-throughs as valid traces (#129481)

We used to report PLT traces as invalid (mismatching disassembled
function contents) because PLT functions are marked as pseudo and
ignored, thus missing CFG. However, such traces are not mismatching
the function contents. Accept them without attaching the profile.

Test Plan: updated callcont-fallthru.s


  Commit: 6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
      https://github.com/llvm/llvm-project/commit/6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

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

  Log Message:
  -----------
  [TableGen] Remove unneeded FIXME. NFC

The message looks correct to me.


  Commit: d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
      https://github.com/llvm/llvm-project/commit/d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/interception/interception_linux.cpp
    M compiler-rt/lib/interception/interception_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  [compiler-rt][sanitizer][NFC] update endif markers for Haiku (#135475)


  Commit: 7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
      https://github.com/llvm/llvm-project/commit/7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/include/llvm/ADT/EquivalenceClasses.h

  Log Message:
  -----------
  [NFC][equivalenceClass] Refactor coding style in EquivalenceClasses.h. (#135467)


  Commit: b864405c9b848d6815ac4562fe3680c5ce8d90ff
      https://github.com/llvm/llvm-project/commit/b864405c9b848d6815ac4562fe3680c5ce8d90ff
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h

  Log Message:
  -----------
  MCAsmInfo: Remove unused UseParensForDollarSignNames

Follow-up to 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38


  Commit: 339f58de16ac7a31869d189bec6cad7696958546
      https://github.com/llvm/llvm-project/commit/339f58de16ac7a31869d189bec6cad7696958546
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [Github] Add llvm-symbolizer to CI container

This is needed for symbolizing some test failures. It is under 8MB, so there is
very little cost to adding it.


  Commit: 76e07d8ba5286daf349ef19588c8c011162bec09
      https://github.com/llvm/llvm-project/commit/76e07d8ba5286daf349ef19588c8c011162bec09
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/Transforms/InferFunctionAttrs/readonly_and_writeonly.ll
    M llvm/test/Transforms/LICM/strlen.ll
    M llvm/test/Transforms/LoopIdiom/basic.ll
    M llvm/test/Transforms/LoopIdiom/memset-pattern-tbaa.ll
    M llvm/test/Transforms/LoopIdiom/struct_pattern.ll
    M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
    M llvm/test/Transforms/LoopIdiom/unroll.ll
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll

  Log Message:
  -----------
  [LibCall] Infer nocallback for libcalls (#135173)

This patch adds `nocallback` attributes for string/math libcalls. It
allows FuncAttributor to infer `norecurse` more precisely and encourages
more aggressive global optimization.


  Commit: 8b40a09bf50d62e2017611b7be2c55fab22d9572
      https://github.com/llvm/llvm-project/commit/8b40a09bf50d62e2017611b7be2c55fab22d9572
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/test/CodeGen/catch-alignment-assumption-array.c
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp

  Log Message:
  -----------
  [Clang][CodeGen][UBSan] Remove redundant `EmitCheckValue` calls. NFCI (#135141)

`EmitCheckValue` is called inside `EmitCheck`:

https://github.com/llvm/llvm-project/blob/b122956390a6877536927c2b073a0b99f8b9704f/clang/lib/CodeGen/CGExpr.cpp#L3739
The outside calls are redundant because
`EmitCheckValue(EmitCheckValue(V))` always returns `EmitCheckValue(V)`.

Required by https://github.com/llvm/llvm-project/pull/135135.


  Commit: 4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
      https://github.com/llvm/llvm-project/commit/4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll

  Log Message:
  -----------
  [SimplifyCFG] test for trunc condition (NFC)


  Commit: 2b270df2e7be5deef5d471b7624363d9b48b4480
      https://github.com/llvm/llvm-project/commit/2b270df2e7be5deef5d471b7624363d9b48b4480
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    A lld/test/COFF/export-alias.test
    M llvm/lib/Object/COFFModuleDefinition.cpp
    A llvm/test/tools/llvm-lib/underscore.test

  Log Message:
  -----------
  [Object][COFF] Avoid underscore prefix for forwarding exports (#135433)

Fixes #132411.


  Commit: 6de15379f4c1ae88ec347c6e000d6f27ad0a948b
      https://github.com/llvm/llvm-project/commit/6de15379f4c1ae88ec347c6e000d6f27ad0a948b
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [NFC][libc++][test] Minor updates to generated header version test. (#134543)

Adjusting the existing script to match the new output makes it easy to
review the new script works correctly.

This adjusts the tests to match the changes in the new tests, Notably
- removes the synopsis uses 2 spaces indent in `# if`

It does not implement the conditional include part. This would be quite
some effort and these diffs are easy to review manually.

Note there are no tests for the changes; the existing script will be
phased out when the next generators are complete.


  Commit: d39d24cec109e99e74a8cfd88d28eb32195a9f2e
      https://github.com/llvm/llvm-project/commit/d39d24cec109e99e74a8cfd88d28eb32195a9f2e
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst

  Log Message:
  -----------
  [libc++][doc] Updates the release notes.

Copies the not-yet-implemented items planned for removal from the
LLVM-20 to the LLVM-21 release notes. This allows to better keep track
of the status of the next release.


  Commit: e838b8b7e71df4ee0e3aea6c94f510ee1794d707
      https://github.com/llvm/llvm-project/commit/e838b8b7e71df4ee0e3aea6c94f510ee1794d707
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-fold.ll

  Log Message:
  -----------
  [Matrix] Fix a miscompile due to an incorrect double-transpose fold (#135397)

Transposes are only inverses of each other when they have matching
shapes.

rdar://145592582


  Commit: 33e5305c598be9b4f57feba330b963c2142d15cc
      https://github.com/llvm/llvm-project/commit/33e5305c598be9b4f57feba330b963c2142d15cc
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll

  Log Message:
  -----------
  [RISCV] Further explain vfmerge.vfm/vmerge.vxm varuat coverage


  Commit: c6a892e0ed82a378ad1a69905f70700bf57c68cf
      https://github.com/llvm/llvm-project/commit/c6a892e0ed82a378ad1a69905f70700bf57c68cf
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
    M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
    M mlir/unittests/Dialect/SMT/CMakeLists.txt
    A mlir/unittests/Dialect/SMT/QuantifierTest.cpp

  Log Message:
  -----------
  [mlir][SMT] restore custom builder for forall/exists (#135470)

This reverts commit 54e70ac7650f1c22f687937d1a082e4152f97b22 which
itself fixed an [asan
leak](https://lab.llvm.org/buildbot/#/builders/55/builds/9761) from the
original upstreaming commit. The leak was due to op allocations not
being `free`ed.

~~The necessary change was to explicitly `->destroy()` the ops at the
end of the tests. I believe this is because the rewriter used in the
tests doesn't actually insert them into a module and so without an
explicit `->destroy()` no bookkeeping process is able to take care of
them.~~

The necessary change was to use `OwningOpRef` which calls `op->erase()`
in its [own
destructor](https://github.com/makslevental/llvm-project/blob/89cfae41ecc043f8c47be4dea4b7c740d4f950b3/mlir/include/mlir/IR/OwningOpRef.h#L39).


  Commit: b233d79623dd3a6d307db2bc73ddd12e3a054460
      https://github.com/llvm/llvm-project/commit/b233d79623dd3a6d307db2bc73ddd12e3a054460
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/r600.llvm.is.fpclass.ll

  Log Message:
  -----------
  R600: Expand is_fpclass (#135234)


  Commit: 009971a0d3218d3af0d10fb70d2c876ccc46b24d
      https://github.com/llvm/llvm-project/commit/009971a0d3218d3af0d10fb70d2c876ccc46b24d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [TableGen] Accurately calculate where the source variable ops start in PseudoLoweringEmitter::emitLoweringEmitter. (#135465)

The code was using the number of source operands plus one. The plus one
seems to be an ARM specific value accounting for one of the source
operands having 2 sub operands. No other target in tree uses
PseudoLowering with variadic instructions so this worked.

This patch replaces it with a proper count of the number of sub operands
of all operands. While there I update the loop to use MIOperandNo so we
don't need to count up the sub operands as we go.


  Commit: 761787d42576751afbaaba5107233ee849f81b6f
      https://github.com/llvm/llvm-project/commit/761787d42576751afbaaba5107233ee849f81b6f
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/AST.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
    M clang/test/SemaCXX/undefined-partial-specialization.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/SemaTemplate/type_pack_element.cpp
    M clang/unittests/AST/TypePrinterTest.cpp

  Log Message:
  -----------
  Reland: [clang] Improved canonicalization for template specialization types (#135414)

This relands https://github.com/llvm/llvm-project/pull/135119, after
fixing crashes seen in LLDB CI reported here:
https://github.com/llvm/llvm-project/pull/135119#issuecomment-2794910840

Fixes https://github.com/llvm/llvm-project/pull/135119

This changes the TemplateArgument representation to hold a flag
indicating whether a tempalte argument of expression type is supposed to
be canonical or not.

This gets one step closer to solving
https://github.com/llvm/llvm-project/issues/92292

This still doesn't try to unique as-written TSTs. While this would
increase the amount of memory savings and make code dealing with the AST
more well-behaved, profiling template argument lists is still too
expensive for this to be worthwhile, at least for now.

This also fixes the context creation of TSTs, so that they don't in some
cases get incorrectly flagged as sugar over their own canonical form.
This is captured in the test expectation change of some AST dumps.

This fixes some places which were unnecessarily canonicalizing these
TSTs.


  Commit: b71123f1272ee081b18b8ced1925d6e9300e7310
      https://github.com/llvm/llvm-project/commit/b71123f1272ee081b18b8ced1925d6e9300e7310
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
    M clang-tools-extra/test/clang-doc/basic-project.test

  Log Message:
  -----------
  [clang-doc] Pre-commit tests for static members and functions (#135456)

Issue #59813 mentions that static members are not included in
the documentation generated by clang-doc. This patch adds
some basic testing for that property, with the current incorrect
behavior. Follow up patches will address the missing documentation.


  Commit: 995fd47944f471e985e34d7da8c0667059decbac
      https://github.com/llvm/llvm-project/commit/995fd47944f471e985e34d7da8c0667059decbac
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll

  Log Message:
  -----------
  [LAA] Make sure MaxVF for Store-Load forward safe dep distances is pow2.

MaxVF computed in couldPreventStoreLoadFowrard may not be a power of 2,
as CommonStride may not be a power-of-2.

This can cause crashes after 78777a20. Use bit_floor to make sure it is
a suitable power-of-2.

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


  Commit: 4fa3b2a1843c42f333d7332b373ae99428883974
      https://github.com/llvm/llvm-project/commit/4fa3b2a1843c42f333d7332b373ae99428883974
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Use TypeAnalysis instead of underlying instr in VPPredInst (NFC)

Removes another unnecessary use of the underlying instructions during
VPlan execution.


  Commit: 5bdad0555eae01e5eef6a1360c1637a5d9bcde79
      https://github.com/llvm/llvm-project/commit/5bdad0555eae01e5eef6a1360c1637a5d9bcde79
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M libcxx/include/__tree

  Log Message:
  -----------
  [libc++][NFC] Remove a few aliases in __tree (#134392)

These aliases aren't required anymore, since we've taken an ABI break
unconditionally which these were used to avoid.


  Commit: acf964b95f5421cc372719139b427be37ad79e7e
      https://github.com/llvm/llvm-project/commit/acf964b95f5421cc372719139b427be37ad79e7e
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/include/mlir/InitAllTranslations.h
    A mlir/include/mlir/Target/SMTLIB/ExportSMTLIB.h
    A mlir/include/mlir/Target/SMTLIB/Namespace.h
    A mlir/include/mlir/Target/SMTLIB/SymCache.h
    M mlir/lib/Target/CMakeLists.txt
    A mlir/lib/Target/SMTLIB/CMakeLists.txt
    A mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp
    A mlir/test/Target/SMTLIB/array.mlir
    A mlir/test/Target/SMTLIB/attributes.mlir
    A mlir/test/Target/SMTLIB/bitvector-errors.mlir
    A mlir/test/Target/SMTLIB/bitvector.mlir
    A mlir/test/Target/SMTLIB/core-errors.mlir
    A mlir/test/Target/SMTLIB/core.mlir
    A mlir/test/Target/SMTLIB/integer-errors.mlir
    A mlir/test/Target/SMTLIB/integer.mlir

  Log Message:
  -----------
  [mlir][SMT] add export smtlib (#131492)

This PR adds the `ExportSMTLIB` translation/egress pass for `SMT`
dialect.


  Commit: 75dea80085ff9870239109275a2f19d6709fbe65
      https://github.com/llvm/llvm-project/commit/75dea80085ff9870239109275a2f19d6709fbe65
  Author: Min Hsu <min at myhsu.dev>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M .mailmap

  Log Message:
  -----------
  [mailmap] Consolidate all my email addresses


  Commit: f0dc236d3384e5d5dce2e39a8a3202325899eae5
      https://github.com/llvm/llvm-project/commit/f0dc236d3384e5d5dce2e39a8a3202325899eae5
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/test/MC/RISCV/rv32c-invalid.s

  Log Message:
  -----------
  [RISCV][NFC] Correct c_lui_imm (#135448)

The MCOperandPredicate seems to allow symbols as well as immediates, but
the parser/matcher does not due to `isCLUIImm`. This brings both in line
with each other, and should prevent trying to compress a `lui` with a
symbol, which cannot be emitted as a `c.lui` as there are no relocations
for this as `R_RISCV_RVC_LUI` is deprecated/removed.


  Commit: d903f6b672cb7ebb162e3ef98f483e79b180a413
      https://github.com/llvm/llvm-project/commit/d903f6b672cb7ebb162e3ef98f483e79b180a413
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/lib/Target/SMTLIB/CMakeLists.txt

  Log Message:
  -----------
  [mlir][SMT] fix MLIRExportSMTLIB by linking MLIRArithDialect


  Commit: bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
      https://github.com/llvm/llvm-project/commit/bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/lib/Target/SMTLIB/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Fix build after #131492 (#135502)

After #131492 is appears that linking MLIRAritDialect was missing.


  Commit: 09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
      https://github.com/llvm/llvm-project/commit/09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Add isJava() and isTextProto() in FormatStyle (#135466)

Also remove redundant name qualifiers format::, FormatStyle::, and
LanguageKind::.


  Commit: 5f744cc6301abb3be5a500b2fcbc944fe2bd3241
      https://github.com/llvm/llvm-project/commit/5f744cc6301abb3be5a500b2fcbc944fe2bd3241
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Wrap and indent lambda braces in GNU style (#135479)

Fix #133135


  Commit: b0fede358fea768ead2dc5d59ad0b6b2decc4217
      https://github.com/llvm/llvm-project/commit/b0fede358fea768ead2dc5d59ad0b6b2decc4217
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    A llvm/test/ThinLTO/AMDGPU/Inputs/in-f1.ll
    A llvm/test/ThinLTO/AMDGPU/force-import-all.ll
    A llvm/test/ThinLTO/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  [ThinLTO] Don't convert functions to declarations if `force-import-all` is enabled (#134541)

On one hand, we intend to force import all functions when the option is
enabled.
On the other hand, we currently drop definitions of some functions and
convert
them to declarations, which contradicts this intent.

With this PR, functions will no longer be converted to declarations when
`force-import-all` is enabled.


  Commit: 60b1d44d708d5912897c7bdab681cbefe8f35e79
      https://github.com/llvm/llvm-project/commit/60b1d44d708d5912897c7bdab681cbefe8f35e79
  Author: Sayan Saha <sayans at mathworks.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [tosa]: canonicalize dynamic size of tosa.slice to static output shape (#135429)

Addresses https://github.com/llvm/llvm-project/issues/135389


  Commit: cfa322fa9a693d4ba652871fafc6dbb2039b55a2
      https://github.com/llvm/llvm-project/commit/cfa322fa9a693d4ba652871fafc6dbb2039b55a2
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__bit/bit_log2.h

  Log Message:
  -----------
  [libc++][NFC] Reuse `__bit_log2` for `sort` (#135303)

The `__log2i` function template in `<algorithm/sort.h>` is basically
equivalent to `__bit_log2` in `<__bit/bit_log2.h>`. It seems better to
avoid duplication.


  Commit: b0acbbee88f8ae706658f2a7635df4ce39e15e74
      https://github.com/llvm/llvm-project/commit/b0acbbee88f8ae706658f2a7635df4ce39e15e74
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp

  Log Message:
  -----------
  [mlir][vector] Fix deprecation warning for `.isa`. NFC. (#135512)

This was introduced in: https://github.com/llvm/llvm-project/pull/135371


  Commit: 39662922e15c53f54da93b5a1d029589d49caec9
      https://github.com/llvm/llvm-project/commit/39662922e15c53f54da93b5a1d029589d49caec9
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  MCObjectStreamer: Refine absoluteSymbolDiff condition

The function is called to test the fast path - when Lo/Hi are within the
same fragment. This is unsafe - Lo/Hi at the begin and end of a
relaxable fragment should not evaluate to a constant. However, we don't
have tests that exercise the code path.

Nevertheless, make the check safer and remove the now unnecessary
isRISCV check (from https://reviews.llvm.org/D103539).


  Commit: 3e7be494f84e51d5f4245d6f39e380a500f226a6
      https://github.com/llvm/llvm-project/commit/3e7be494f84e51d5f4245d6f39e380a500f226a6
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
    M libcxx/test/support/nasty_string.h

  Log Message:
  -----------
  [libc++][test] Test `nasty_string` in C++20 (#135338)

It seems that we can only rely on C++20 features and make `nasty_string`
also tested for MSVC STL.


  Commit: 329a675006a22da89ca39199fac4408e3ae4eee4
      https://github.com/llvm/llvm-project/commit/329a675006a22da89ca39199fac4408e3ae4eee4
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/lib/MC/ELFObjectWriter.cpp

  Log Message:
  -----------
  ELFObjectWriter: Simplify STT_SECTION adjustment. NFC


  Commit: 1c5961c0481b9c7421d38e3141d3c5a1e6084234
      https://github.com/llvm/llvm-project/commit/1c5961c0481b9c7421d38e3141d3c5a1e6084234
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/MC/ELF/reloc-directive.s

  Log Message:
  -----------
  ELFObjectWriter: Disable STT_SECTION adjustment for .reloc

to match GNU Assembler. This generalizes the SHT_LLVM_CALL_GRAPH_PROFILE
(which uses BFD_RELOC_NONE https://reviews.llvm.org/D104080) special case.


  Commit: 3ff634dee857c4d71ff665e49d38005e608de8a0
      https://github.com/llvm/llvm-project/commit/3ff634dee857c4d71ff665e49d38005e608de8a0
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/MC/ELF/reloc-directive.s

  Log Message:
  -----------
  Revert "ELFObjectWriter: Disable STT_SECTION adjustment for .reloc"

This reverts commit 1c5961c0481b9c7421d38e3141d3c5a1e6084234.
Inadvertently pushed.


  Commit: 302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
      https://github.com/llvm/llvm-project/commit/302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/Matchers.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.h

  Log Message:
  -----------
  [clang-tidy] `matchesAnyListedTypeName` support non canonical types (#134869)


  Commit: 06814834a63139ff27efe3bdbc6dc15d46666b39
      https://github.com/llvm/llvm-project/commit/06814834a63139ff27efe3bdbc6dc15d46666b39
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp

  Log Message:
  -----------
  [clang-tidy] treat unsigned char and signed char as char type by default in bugprone-unintended-char-ostream-output (#134870)

Add `AllowedTypes` options to support custom defined char like type.
treat `unsigned char` and `signed char` as char like type by default.
The allowed types only effect when the var decl or explicit cast to this
non-canonical type names.

Fixed: #133425


  Commit: 734660b6dd95d37604ac43f43de4f8da518e7319
      https://github.com/llvm/llvm-project/commit/734660b6dd95d37604ac43f43de4f8da518e7319
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

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

  Log Message:
  -----------
  ELFObjectWriter: Simplify STT_SECTION adjustment


  Commit: 19730e37ec5d3513d188a75999c964f2ef4b9509
      https://github.com/llvm/llvm-project/commit/19730e37ec5d3513d188a75999c964f2ef4b9509
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp

  Log Message:
  -----------
  ELFObjectWriter: Make .reloc test generic

Move `Fixup.getKind() >= FirstLiteralRelocationKind` from target hooks
to ELFObjectWriter::recordRelocation.

Currently, getRelocType cannot be skipped for LoongArch due to #135519


  Commit: 6196379baf4fe42b6c1a4bea270df39b7152547b
      https://github.com/llvm/llvm-project/commit/6196379baf4fe42b6c1a4bea270df39b7152547b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp

  Log Message:
  -----------
  [PowerPC] Fix -Wunused-variable


  Commit: 7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
      https://github.com/llvm/llvm-project/commit/7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp

  Log Message:
  -----------
  [BOLT] Fix warning

This patch fixes:

  bolt/lib/Core/BinaryContext.cpp:582:8: error: unused variable
  'printEntryDiagnostics' [-Werror,-Wunused-variable]

  bolt/lib/Core/BinaryContext.cpp:842:10: error: unused variable
  'isSibling' [-Werror,-Wunused-variable]


  Commit: f4fba20726aced418dc7ae24e47ee78f109a64cb
      https://github.com/llvm/llvm-project/commit/f4fba20726aced418dc7ae24e47ee78f109a64cb
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/include/lldb/API/SBReproducer.h
    M lldb/include/lldb/Core/Debugger.h
    R lldb/scripts/reproducer-replay.py
    M lldb/source/API/SBReproducer.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/unittests/Core/DiagnosticEventTest.cpp
    M lldb/unittests/Interpreter/TestCommandPaths.cpp
    M lldb/unittests/Platform/PlatformSiginfoTest.cpp
    M lldb/unittests/Process/ProcessEventDataTest.cpp
    M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
    M lldb/unittests/Target/ExecutionContextTest.cpp
    M lldb/unittests/Target/MemoryTest.cpp
    M lldb/unittests/Target/StackFrameRecognizerTest.cpp
    M lldb/unittests/Thread/ThreadTest.cpp

  Log Message:
  -----------
  [lldb] Remove vestigial remnants of reproducers (#135361)

Not touching the SB API.


  Commit: d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
      https://github.com/llvm/llvm-project/commit/d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  Revert "[tosa]: canonicalize dynamic size of tosa.slice to static output shape" (#135525)

Reverts llvm/llvm-project#135429 due buildbot breakage:
https://lab.llvm.org/buildbot/#/builders/169/builds/10405

Based on the ASan output, I think after the replaceOp on line 775, it's
no longer valid to do getSize() on sliceOp:
```
   775      rewriter.replaceOp(sliceOp, newSliceOp.getResult());
   776
   777      // Remove const_shape size op when it no longer has use point.
   778      Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```


  Commit: 12a7155ee290d62fef00362554b392a98b75fb77
      https://github.com/llvm/llvm-project/commit/12a7155ee290d62fef00362554b392a98b75fb77
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [mlir][bazel] Port mlir-translate bits of acf964b95f54.


  Commit: 5c45e239e81972ec3ff84b1650825385ccad0d46
      https://github.com/llvm/llvm-project/commit/5c45e239e81972ec3ff84b1650825385ccad0d46
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp

  Log Message:
  -----------
  [libc++][test][NFC] Remove unused inclusions of `<iostream>` (#134776)

Some test files for flat container adaptors redundantly include
`<iostream>` and, surprisingly, `<cstddef>`. This patch removes the
redundant inclusions.

Inclusions of `<vector>` is also removed since a sane implementation is
expected to make instantiation of `flat_(multi)map<K, V>` or
`flat_(multi)set<K>` valid when only `<flat_map>` or `<flat_set>` is
included.


  Commit: 028429ac452acde227ae0bfafbfe8579c127e1ea
      https://github.com/llvm/llvm-project/commit/028429ac452acde227ae0bfafbfe8579c127e1ea
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/ROCm.h
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/rocm-device-libs.cl

  Log Message:
  -----------
  clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)

These have been empty since July 2023


  Commit: 1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
      https://github.com/llvm/llvm-project/commit/1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
    M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp

  Log Message:
  -----------
  Reapply "[lldb] ProcessGdbRemote header gardning"

This reverts commit 68ab45f0533f3bbfc1c96bddd53de7e769180219, reapplying
2fd860c1f559c0b0be66cc000e38270a04d0a1a3. The only change is keeping
"lldb/Host/Config.h", which I believe was the cause of the failures.


  Commit: ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
      https://github.com/llvm/llvm-project/commit/ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCSymbol.h
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp

  Log Message:
  -----------
  [MC] Remove SetUsed on isUndefined and getFragment

Due to the known limitations of .set reassignment (see
https://sourceware.org/PR288), we use diagnostics to reject patterns
that could lead to errors (ae7ac010594f693fdf7b3ab879e196428d961e75 2009-06)).

This code gets refined multiple times, see:

* 9b4a824217f1fe23f83045afe7521acb791bc2d0 (2010-05) `IsUsedInExpr`
* 46c79ef1132607aead144dfda0f26aa8b065214f (2010-11) renamed `IsUsedInExpr` to `IsUsed`

The related `SetUsed` bit seems unnecessary nowadays.


  Commit: 1004fae222efeee215780c4bb4e64eb82b07fb4f
      https://github.com/llvm/llvm-project/commit/1004fae222efeee215780c4bb4e64eb82b07fb4f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M flang/test/Driver/omp-driver-offload.f90

  Log Message:
  -----------
  flang: Try to update test for oclc_daz_opt removal

Try to fix bot failure after 028429ac452acde227ae0bfafbfe8579c127e1ea


  Commit: 4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
      https://github.com/llvm/llvm-project/commit/4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/include/__atomic/memory_order.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__type_traits/underlying_type.h
    M libcxx/include/__utility/convert_to_integral.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/future

  Log Message:
  -----------
  [libc++] Use __underlying_type directly in underyling_type_t (#135423)

This avoids instantiating multiple classes, reducing compile times. This
patch also introduces `__underyling_type_t` for internal use, similar to
other type traits.


  Commit: 3bebda0758409e91c25fa5add72ff22f3ddff609
      https://github.com/llvm/llvm-project/commit/3bebda0758409e91c25fa5add72ff22f3ddff609
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [VPlan] Mark VPWidenCallRecipe as a VPRecipeWithIRFlags (#135373)

I noticed VPWidenCallRecipe was missing here, it looks like it should be
handled in VPRecipeWithIRFlags::classof


  Commit: 84666d68740bea9eee19399ab5c8622ff2f6e9ca
      https://github.com/llvm/llvm-project/commit/84666d68740bea9eee19399ab5c8622ff2f6e9ca
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Basic/SourceManager.cpp

  Log Message:
  -----------
  Add back include for AutoConvert.h as it's needed for z/OS (#135430)

The commit
https://github.com/llvm/llvm-project/commit/a1935fd3809772c06f9a09fa151181642ae92b20
removed an include that is needed when building on z/OS.


  Commit: beac727e48346efb84558696fb080b1bbd07e234
      https://github.com/llvm/llvm-project/commit/beac727e48346efb84558696fb080b1bbd07e234
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/IROutliner.cpp

  Log Message:
  -----------
  IROutliner: Do not look at use lists of constant phi inputs (#135019)

Theoretically this does a worse job with globals but this is not
covered by existing tests


  Commit: 09588e93bbe486ce782de9fba604f5cd184ec446
      https://github.com/llvm/llvm-project/commit/09588e93bbe486ce782de9fba604f5cd184ec446
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h

  Log Message:
  -----------
  [clang][bytecode] Fix an inconsistency with loop condition jumps (#135530)

When emitting the jump for e.g. a for loop condition, we used to jump
out of the CondScope, leaving the scope initialized, because we skipped
the corresponding Destroy opcode. If that loop was in a loop itself,
that outer loop could then iterate once more, leading to us initializing
a scope that was still initialized.
Fix this by also destroying the scope after the EndLabel.


  Commit: 0f607f3df54e22896b484510f0c1ccfb718de67a
      https://github.com/llvm/llvm-project/commit/0f607f3df54e22896b484510f0c1ccfb718de67a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll

  Log Message:
  -----------
  [VPlan] Simplify 'or x, true' -> true.

Add additional OR simplification to fix a divergence between legacy and
VPlan-based cost model.

This adds a new m_AllOnes matcher by generalizing specific_intval to
int_pred_ty, which takes a predicate to check to support matching both
specific APInts and other APInt predices, like isAllOnes.

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


  Commit: ed43207306f7351f2b4f8284710b028df973d74e
      https://github.com/llvm/llvm-project/commit/ed43207306f7351f2b4f8284710b028df973d74e
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll

  Log Message:
  -----------
  [SimplifyCFG] Handle trunc condition in foldBranchToCommonDest. (#135490)

proof: https://alive2.llvm.org/ce/z/v32Aof


  Commit: 77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
      https://github.com/llvm/llvm-project/commit/77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [Scalar] Avoid repeated hash lookups (NFC) (#132660)


  Commit: bb9580a02b393683ff0b6c360df684f33c715a1f
      https://github.com/llvm/llvm-project/commit/bb9580a02b393683ff0b6c360df684f33c715a1f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/pr135531.ll

  Log Message:
  -----------
  [SCEV] Use ashr to adjust constant multipliers (#135534)

SCEV converts "-2 *nsw (i32 V)" into "2148473647 *nsw (i32 V)". But we
cannot preserve the nsw flag when the constant multiplier is negative.
This patch changes lshr to ashr so that we can preserve both nsw and nuw
flags.

Alive2 proof: https://alive2.llvm.org/ce/z/LZVSEa
Closes https://github.com/llvm/llvm-project/issues/135531.


  Commit: 5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
      https://github.com/llvm/llvm-project/commit/5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll

  Log Message:
  -----------
  [VPlan] Check captured operand when simplifying redundant OR.

Follow-up to 0f607f to actually use the captured operand X instead of Y.


  Commit: 703cfe745b96751c1204bcffe4e56038c809247f
      https://github.com/llvm/llvm-project/commit/703cfe745b96751c1204bcffe4e56038c809247f
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__stop_token/atomic_unique_lock.h

  Log Message:
  -----------
  [libc++] Replace __libcpp_popcount by __builtin_popcountg (#133937)

`__libcpp_popcount` was previously used as a fallback for `__builtin_popcountg` to ensure compatibility with older compilers (Clang 18 and earlier), as `__builtin_popcountg` became available in Clang 19. Now that support for Clang 18 has been officially dropped in #130142, we can now safely  replace all instances of `__libcpp_popcount` with `__builtin_popcountg` and eliminate the fallback logic.


  Commit: 62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
      https://github.com/llvm/llvm-project/commit/62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#135540)


  Commit: 4b4cd645a829b8e510bdb008f449969d7bf53c30
      https://github.com/llvm/llvm-project/commit/4b4cd645a829b8e510bdb008f449969d7bf53c30
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [ExecutionEngine] Avoid repeated map lookups (NFC) (#135541)


  Commit: d1d5f00a8eb43aaa22274c06b58d567f19e284fe
      https://github.com/llvm/llvm-project/commit/d1d5f00a8eb43aaa22274c06b58d567f19e284fe
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Passes/StandardInstrumentations.cpp

  Log Message:
  -----------
  [Passes] Avoid repeated hash lookups (NFC) (#135542)


  Commit: ccfb97b42174eab118a4e4222c25e986db876563
      https://github.com/llvm/llvm-project/commit/ccfb97b42174eab118a4e4222c25e986db876563
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/ROCm.h
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/rocm-device-libs.cl
    M flang/test/Driver/omp-driver-offload.f90

  Log Message:
  -----------
  Revert "clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)"

This reverts commit 028429ac452acde227ae0bfafbfe8579c127e1ea and
1004fae222efeee215780c4bb4e64eb82b07fb4f.

These really need to be part of the compiler distribution. Bots are
relying on a nearly year old version to provide bitcode.


  Commit: 1264d7a53a4de3094672be2a248db57b213f33ac
      https://github.com/llvm/llvm-project/commit/1264d7a53a4de3094672be2a248db57b213f33ac
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AIX.h
    M clang/lib/Driver/ToolChains/PPCLinux.cpp
    M clang/lib/Driver/ToolChains/PPCLinux.h
    M flang/test/Driver/flang-ld-powerpc.f90
    M flang/test/Driver/linker-flags.f90

  Log Message:
  -----------
  [driver] Generalize the code that adds the path of libflang_rt.runtime.a. (#134362)

The PR is to generalize the re-use of the `compilerRT` code of adding
the path of `libflang_rt.runtime.a (so)` from AIX and LoP only to all
platforms via a new function `addFlangRTLibPath`.

It also added `-static-libflangrt` and `-shared-libflangrt` compiler
options to allow users choosing which `flang-rt` to link to. It defaults
to shared `flang-rt`, which is consistent with the linker behavior,
except on AIX, it defaults to static.

Also, PR #134320 exposed an issue in PR #131041 that the the overriding
`addFortranRuntimeLibs` is missing the link to `libquadmath`. This PR
also fixed that and restored the test case that PR #131041 broke.


  Commit: 578ca5e469ef1c91a79aa15bc186921ee7faa855
      https://github.com/llvm/llvm-project/commit/578ca5e469ef1c91a79aa15bc186921ee7faa855
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp

  Log Message:
  -----------
  [clang][bytecode] Print jump lines in Function::dump() (#135482)

E.g. for
```c++
constexpr int foo(int b) {
  int a = 1+1;

  for (int i = 0; i < b; ++i) {
    ++a;
  }
  return a;
}
```

we now print:
```
foo 0x7cc8d4bf0580
frame size: 128
arg size:   8
rvo:        0
this arg:   0
0      InitScope         0
16     ConstSint32       1
32     ConstSint32       1
48     AddSint32
56     SetLocalSint32    40
72     ConstSint32       0
88     SetLocalSint32    104
104    GetPtrLocal       104         <-+
120    LoadPopSint32                   |
128    GetPtrParam       0             |
144    LoadPopSint32                   |
152    LTSint32                        |
160    Jf                80     --+    |
176    GetPtrLocal       40       |    |
192    IncPopSint32      1        |    |
208    GetPtrLocal       104      |    |
224    IncPopSint32      1        |    |
240    Jmp               -152     |  --+
256    GetPtrLocal       40     <-+
272    LoadPopSint32
280    Destroy           0
296    RetSint32
304    Destroy           0
320    NoRet
```


  Commit: ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
      https://github.com/llvm/llvm-project/commit/ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/opencl-kernel-call.cl

  Log Message:
  -----------
  [Clang][OpenCL][AMDGPU] Use `byref` for aggregate OpenCL kernel arguments (#134892)

Due to a previous workaround allowing kernels to be called from other
functions,
Clang currently doesn't use the `byref` attribute for aggregate kernel
arguments. The issue was recently resolved in
https://github.com/llvm/llvm-project/pull/115821. With that fix, we can
now
enable the use of `byref` consistently across all languages.

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>

Fixes SWDEV-247226.

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>


  Commit: db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
      https://github.com/llvm/llvm-project/commit/db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/ObjCARC/contract.ll

  Log Message:
  -----------
  ObjCARC: Add regressed testcase from #134275


  Commit: a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
      https://github.com/llvm/llvm-project/commit/a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/sincospi.ll

  Log Message:
  -----------
  SimplifyLibCalls: Skip sincospi optimization for ConstantData (#134688)

Avoids looking at the uselist, and it would probably be more
productive to constant fold this.


  Commit: b37476f99c37a9edf48684d82dde745d9e0df957
      https://github.com/llvm/llvm-project/commit/b37476f99c37a9edf48684d82dde745d9e0df957
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/PHITransAddr.cpp
    M llvm/test/Transforms/GVN/pr65447.ll

  Log Message:
  -----------
  PHITransAddr: Avoid looking at constant use lists (#134689)

Avoids asserts in GVN


  Commit: 393c783a10052b14d2b76b3ee930b3d83e7f1a16
      https://github.com/llvm/llvm-project/commit/393c783a10052b14d2b76b3ee930b3d83e7f1a16
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/CodeGen/AMDGPU/swdev380865.ll
    M llvm/test/CodeGen/PowerPC/pr43527.ll
    M llvm/test/CodeGen/PowerPC/pr48519.ll
    M llvm/test/CodeGen/PowerPC/sms-grp-order.ll
    M llvm/test/Transforms/LICM/pr50367.ll
    M llvm/test/Transforms/LICM/pr59324.ll

  Log Message:
  -----------
  LICM: Avoid looking at use list of constant data (#134690)

The codegen test changes seem incidental. Either way,
sms-grp-order.ll seems to already not hit the original issue.


  Commit: 30ae47eeefaeb2c78ae7f234621b8bb0444b7844
      https://github.com/llvm/llvm-project/commit/30ae47eeefaeb2c78ae7f234621b8bb0444b7844
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  SCEVExpander: Don't look at uses of constants (#134691)

This could be more relaxed, and look for uses of globals in
the same function but no tests apparently depend on that.


  Commit: 0a27c4e318e778b520306a9e2102e03023cfaa33
      https://github.com/llvm/llvm-project/commit/0a27c4e318e778b520306a9e2102e03023cfaa33
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/cmake/modules/TableGen.cmake
    M llvm/include/llvm/TableGen/Main.h
    M llvm/include/llvm/TableGen/StringToOffsetTable.h
    M llvm/lib/TableGen/CMakeLists.txt
    M llvm/lib/TableGen/Main.cpp
    A llvm/lib/TableGen/StringToOffsetTable.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
    M llvm/utils/TableGen/Basic/TableGen.cpp
    M llvm/utils/TableGen/SDNodeInfoEmitter.cpp
    M llvm/utils/gn/secondary/llvm/lib/TableGen/BUILD.gn

  Log Message:
  -----------
  [StrTable] Use string literal emission for intrinsics on non-MSVC platforms (#124856)

This mainly transitions the LLVM intrinsic string table from character
emission to string literal emission, which I confirmed happens for me
locally.

I moved the guts of StringToOffsetTable to a cpp file so I could move
the `EmitLongStrLiterals` cl::opt global to a non-vague linkage home in
the `TableGen` library. I had to add missing FormatVariadic.h includes
to account for moving other includes to a cpp file.


  Commit: 5f11d64cfb44fc0adf3d3235b0e480d930379e9d
      https://github.com/llvm/llvm-project/commit/5f11d64cfb44fc0adf3d3235b0e480d930379e9d
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in AlignConsecutiveDeclarations (#135516)

Fix #109768


  Commit: c41ef751f85ee42f40380d064f44cfd347fb6215
      https://github.com/llvm/llvm-project/commit/c41ef751f85ee42f40380d064f44cfd347fb6215
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [clang-format] Treat lambda in braced init as inline (#135520)

Fix #125430


  Commit: dd107b20daedbc49dc3003ae2cb2e846267c308c
      https://github.com/llvm/llvm-project/commit/dd107b20daedbc49dc3003ae2cb2e846267c308c
  Author: Firas Khalil Khana <firasuke at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M libunwind/docs/BuildingLibunwind.rst

  Log Message:
  -----------
  Update LIBUNWIND_ENABLE_WERROR default value in BuildingLibunwind.rst (#135546)

`LIBUNWIND_ENABLE_WERROR` defaults to `OFF` according to
[CMakeLists.txt](https://github.com/llvm/llvm-project/blob/main/libunwind/CMakeLists.txt#L43).


  Commit: 974bda8f61e056f90b17baa6db686c91d20ebe9d
      https://github.com/llvm/llvm-project/commit/974bda8f61e056f90b17baa6db686c91d20ebe9d
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/codegen.cpp

  Log Message:
  -----------
  [clang][bytecode] Reject constexpr-unknown pointers from Inc ops (#135548)

We used to accept c++ as a known value here, causing wrong codegen.


  Commit: c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
      https://github.com/llvm/llvm-project/commit/c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/function-call-invalid.s
    M llvm/test/MC/RISCV/tail-call-invalid.s

  Log Message:
  -----------
  RISCVAsmParser: Reject call foo at invalid

... instead of silently parsing and ignoring it without leaving an error
message.

While here, remove an unreachable `@plt`.

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


  Commit: d893d129e6ee8b4dead1532cd8420750908acca6
      https://github.com/llvm/llvm-project/commit/d893d129e6ee8b4dead1532cd8420750908acca6
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
    A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-unsupported.mlir
    M mlir/test/Dialect/GPU/shuffle-rewrite.mlir

  Log Message:
  -----------
  [mlir] GPUToROCDL: Fix crashes with unsupported shuffle datatypes (#135504)

Calling `getIntOrFloatBitWidth` on non-int/float types (`gpu.shuffle`
also accepts vectors) will crash.


  Commit: e555ccaa4da77b5d3065ed7d002e7073db995199
      https://github.com/llvm/llvm-project/commit/e555ccaa4da77b5d3065ed7d002e7073db995199
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp

  Log Message:
  -----------
  [llvm] Call *Map::erase directly (NFC) (#135545)


  Commit: 91a205653e8fa5a338c985b9a9dbaaaec62e3475
      https://github.com/llvm/llvm-project/commit/91a205653e8fa5a338c985b9a9dbaaaec62e3475
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-abs-srshl.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-loadstore.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-strictfp.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-combine-to-u-forms.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-ptest.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-rdffr-predication.ll

  Log Message:
  -----------
  [AArch64][SVE] Instcombine ptrue(all) to splat(i1) (#135016)

SVE Operations such as predicated loads become canonicalized to LLVM
masked loads, and doing the same for ptrue(all) to splat(1) creates
further optimization opportunities from generic LLVM IR passes.


  Commit: 543351babff4144675ee8259eeddafc7b441bf0c
      https://github.com/llvm/llvm-project/commit/543351babff4144675ee8259eeddafc7b441bf0c
  Author: Sayan Saha <sayans at mathworks.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [tosa] : Re-enable PR #135429 with ASAN fix (#135560)

Removed the calls to `sizeOp` after replacing `SliceOp`:

```
// Remove const_shape size op when it no longer has use point.
Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```

Turns out as part of canonicalization, trivially dead ops are removed
anyway, so the above piece of code isn't actually needed.


  Commit: 87322c903976b4b24b96f460719181cbebde1547
      https://github.com/llvm/llvm-project/commit/87322c903976b4b24b96f460719181cbebde1547
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp

  Log Message:
  -----------
  [ObjCopy] Use llvm::reverse (NFC) (#135559)


  Commit: 99df442df1f88c1078c433618c75ee62f3dd8512
      https://github.com/llvm/llvm-project/commit/99df442df1f88c1078c433618c75ee62f3dd8512
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py

  Log Message:
  -----------
  Skip test on Darwin


  Commit: 3de93015386f17d3430c6534b9fa3e2a9adfaa1a
      https://github.com/llvm/llvm-project/commit/3de93015386f17d3430c6534b9fa3e2a9adfaa1a
  Author: Yoann Congal <yoann.congal at smile.fr>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/test/CMakeLists.txt
    M clang-tools-extra/clangd/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [clangd] Add a build option to disable building dexp (#133124)

Building dexp on Debian 11 currently causes intermittent failures [0] [1].

Adding the CLANGD_BUILD_DEXP option to disable dexp from the build
allows Debian 11 users to build clang (albeit without the dexp tool).

This option is set to "Build Dexp" by default so, no change is expected
without manual setting.

[0]: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15803
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101322


  Commit: 425ccd50dc6dd154c448fba8dbcbb4d2f726b331
      https://github.com/llvm/llvm-project/commit/425ccd50dc6dd154c448fba8dbcbb4d2f726b331
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/test/BUILD.gn

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


  Commit: cbe8f3ad7621e402b050e768f400ff0d19c3aedd
      https://github.com/llvm/llvm-project/commit/cbe8f3ad7621e402b050e768f400ff0d19c3aedd
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] fix fmac_f16_t16 vop3 format (#135464)

add fmac_f16_t16_e64 to isfmac check to fix the vop3 format of
fmac_f16_t16 instruction


  Commit: 52e45a79ad24f8a2347a5566e6abaa207918df62
      https://github.com/llvm/llvm-project/commit/52e45a79ad24f8a2347a5566e6abaa207918df62
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Target/Language.h
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
    M lldb/source/Target/Language.cpp

  Log Message:
  -----------
  [lldb][Language] Change GetFunctionDisplayName to take SymbolContext by reference (#135536)

Both the `CPlusPlusLanguage` plugins and the Swift language plugin
already assume the `sc != nullptr`. And all `FormatEntity` callsites of
`GetFunctionDisplayName` already check for nullptr before passing `sc`.
This patch makes this pre-condition explicit by changing the parameter
to `const SymbolContext &`. This will help with some upcoming changes in
this area.


  Commit: 5710759eb390c0d5274c2a4d43967282d7df1993
      https://github.com/llvm/llvm-project/commit/5710759eb390c0d5274c2a4d43967282d7df1993
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  MCAsmBackend,X86: Pass MCValue to fixupNeedsRelaxationAdvanced. NFC

This parameter eliminates a redundant computation for VK_ABS8 in X86 and
reduces reliance on shouldForceRelocation in relaxation decisions.

Note: `local: jmp local at plt` relaxes JMP. This behavior depends on
fixupNeedsRelaxation calling shouldForceRelocation, which might change
in the future.


  Commit: 1e153b782ea3054c02dd0016314fca11a5d781da
      https://github.com/llvm/llvm-project/commit/1e153b782ea3054c02dd0016314fca11a5d781da
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
    M lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp
    M lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
    M lldb/test/Shell/Settings/TestFrameFormatName.test

  Log Message:
  -----------
  [lldb][Format] Display only the inlined frame name in backtraces if available (#135343)

When a frame is inlined, LLDB will display its name in backtraces as
follows:
```
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3
  * frame #0: 0x0000000100000398 a.out`func() [inlined] baz(x=10) at inline.cpp:1:42
    frame #1: 0x0000000100000398 a.out`func() [inlined] bar() at inline.cpp:2:37
    frame #2: 0x0000000100000398 a.out`func() at inline.cpp:4:15
    frame #3: 0x00000001000003c0 a.out`main at inline.cpp:7:5
    frame #4: 0x000000026eb29ab8 dyld`start + 6812
```
The longer the names get the more confusing this gets because the first
function name that appears is the parent frame. My assumption (which may
need some more surveying) is that for the majority of cases we only care
about the actual frame name (not the parent). So this patch removes all
the special logic that prints the parent frame.

Another quirk of the current format is that the inlined frame name does
not abide by the `${function.name-XXX}` format variables. We always just
print the raw demangled name. With this patch, we would format the
inlined frame name according to the `frame-format` setting (see the
test-cases).

If we really want to have the `parentFrame [inlined] inlinedFrame`
format, we could expose it through a new `frame-format` variable (e..g.,
`${function.inlined-at-name}` and let the user decide where to place
things.


  Commit: 634f9a981571eae000c1adc311014c5c64486187
      https://github.com/llvm/llvm-project/commit/634f9a981571eae000c1adc311014c5c64486187
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h

  Log Message:
  -----------
  ARMAsmBackend: Use fixupNeedsRelaxationAdvanced. NFC

This prepares for the upcoming change to simplify relocation recording
in MCAssembler.

While both MCAssembler::fixupNeedsRelaxation and
MCAssembler::handleFixup call evaluateFixup and use
shouldForceRelocation, the shouldForceRelocation logic is not supposed
to be needed by MCAssembler::fixupNeedsRelaxation.

The ARM special cases for interworking branches
(https://reviews.llvm.org/D33436 and https://reviews.llvm.org/D33898)
break the assumption. Switch to fixupNeedsRelaxationAdvanced and
explicitly test the conditions.


  Commit: af7a7ba4aadea3600e78a5f522b72e5413c8e595
      https://github.com/llvm/llvm-project/commit/af7a7ba4aadea3600e78a5f522b72e5413c8e595
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/source/Core/FormatEntity.cpp

  Log Message:
  -----------
  [lldb][Format][NFC] Factor FunctionNameWithArgs case out into helper function


  Commit: 5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
      https://github.com/llvm/llvm-project/commit/5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  [MC] Refactor fixup evaluation and relocation generation

Follow-up to commits 5710759eb390c0d5274c2a4d43967282d7df1993
and 634f9a981571eae000c1adc311014c5c64486187

- Integrate `evaluateFixup` into `recordRelocation` and inline code
  within `MCAssembler::layout`, removing `handleFixup`.
- Update `fixupNeedsRelaxation` to bypass `shouldForceRelocation` when
  calling `evaluateFixup`, eliminating the `WasForced` workaround for
  RISC-V linker relaxation (https://reviews.llvm.org/D46350 ).


  Commit: 20d35fe5a58c3d90613dd50ec91aca700e111726
      https://github.com/llvm/llvm-project/commit/20d35fe5a58c3d90613dd50ec91aca700e111726
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/WindowScheduler.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp
    M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp

  Log Message:
  -----------
  [llvm] Use llvm::is_contained (NFC) (#135566)


  Commit: dc5178cc41d876b4e3d8ace9545f6e9898ef654b
      https://github.com/llvm/llvm-project/commit/dc5178cc41d876b4e3d8ace9545f6e9898ef654b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

  Log Message:
  -----------
  [CodeGen] Use llvm::append_range (NFC) (#135567)


  Commit: f1ba4bb805b918bc464aa7232cb446cca10ef5a3
      https://github.com/llvm/llvm-project/commit/f1ba4bb805b918bc464aa7232cb446cca10ef5a3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp

  Log Message:
  -----------
  [Target] Use llvm::append_range (NFC) (#135568)


  Commit: 1f195afa57942db3f616e0595eb5816d1359dd2e
      https://github.com/llvm/llvm-project/commit/1f195afa57942db3f616e0595eb5816d1359dd2e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [Sema] Use llvm::erase_if (NFC) (#135574)


  Commit: ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
      https://github.com/llvm/llvm-project/commit/ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/test/CodeGen/attr-target-x86.c
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/TargetParser/X86TargetParser.cpp

  Log Message:
  -----------
  [X86][AVX10] Remove VAES and VPCLMULQDQ feature from AVX10.1 (#135489)

According to SDM, they require both VAES/VPCLMULQDQ and AVX10.1 CPUID
bits.

Fixes: #135394


  Commit: a32d4917c82840179a9ff5686567834922fc4e6d
      https://github.com/llvm/llvm-project/commit/a32d4917c82840179a9ff5686567834922fc4e6d
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Clean up the code for isBareSimmNLsb0. NFC.


  Commit: 7778a197e65ad1b0cae794318870d41d8c59a3fb
      https://github.com/llvm/llvm-project/commit/7778a197e65ad1b0cae794318870d41d8c59a3fb
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h

  Log Message:
  -----------
  [MC] Remove unused `MCAsmBackend::isMicroMips()` method (NFC) (#135581)

The only use was removed by 4c892770.


  Commit: e038c5401c99ca1f19a873a5c88ad7db4645a26a
      https://github.com/llvm/llvm-project/commit/e038c5401c99ca1f19a873a5c88ad7db4645a26a
  Author: Tianle Liu <tianle.l.liu at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    A llvm/test/Other/new-pm-lto-prelink-samplepgo-inline-threshold.ll
    R llvm/test/Other/new-pm-thinlto-prelink-samplepgo-inline-threshold.ll

  Log Message:
  -----------
  [LTO][Pipelines] Add 0 hot-caller threshold for SamplePGO + FullLTO (#135152)

If a hot callsite function is not inlined in the 1st build, inlining the
hot callsite in pre-link stage of SPGO 2nd build may lead to Function
Sample not found in profile file in link stage. It will miss some
profile info.
ThinLTO has already considered and dealed with it by setting
HotCallSiteThreshold to 0 to stop the inline. This patch just adds the
same processing for FullLTO.


  Commit: 5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
      https://github.com/llvm/llvm-project/commit/5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
  Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/IR/EnumAttr.td
    M mlir/include/mlir/IR/Properties.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/IR/enum-attr-invalid.mlir
    M mlir/test/IR/enum-attr-roundtrip.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir] Improve EnumProp, making it take an EnumInfo (#132349)

This commit improves the `EnumProp` class, causing it to wrap around an
`EnumInfo` just like` EnumAttr` does. This EnumProp also has logic for
converting to/from an integer attribute and for being read and written
as bitcode.

The following variants of `EnumProp` are provided:
- `EnumPropWithAttrForm` - an EnumProp that can be constructed from (and
will be converted to, if `storeInCustomAttribute` is true) a custom
attribute, like an `EnumAttr`, instead of a plain integer. This is meant
for backwards compatibility with code that uses enum attributes.

`NamedEnumProp` adds a "`mnemonic` `<` $enum `>`" syntax around the
enum, replicating a common pattern seen in MLIR printers and allowing
for reduced ambiguity.

`NamedEnumPropWithAttrForm` combines both of these extensions.

(Sadly, bytecode auto-upgrade is hampered by the lack of the ability to
optionally parse an attribute.)

Depends on #132148


  Commit: d0cf5cd5f9790dc21396936d076389c3be1a9599
      https://github.com/llvm/llvm-project/commit/d0cf5cd5f9790dc21396936d076389c3be1a9599
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [RISCV][NFC] Make generated intrinsic records more human-readable (#133710)

We add comment markers and print enum names instead of numbers.

For required extensions, we print the feature list instead of raw
bits.


  Commit: 47cbc8706cb5d73f2db101165bf213d558f8b0cb
      https://github.com/llvm/llvm-project/commit/47cbc8706cb5d73f2db101165bf213d558f8b0cb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

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

  Log Message:
  -----------
  [Scalar] Avoid repeated hash lookups (NFC) (#135585)


  Commit: 2ff226ae2c9bdafc686d698b69b4a8519213f325
      https://github.com/llvm/llvm-project/commit/2ff226ae2c9bdafc686d698b69b4a8519213f325
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  MCAsmBackend,Hexagon: Remove MCRelaxableFragment from fixupNeedsRelaxationAdvanced

Among fixupNeedsRelaxationAdvanced (introduced by
https://reviews.llvm.org/D8217) targets, only Hexagon needs the
`MCRelaxableFragment` parameter (commit
86f218e7ec5d941b7785eaebcb8f4cad76db8a64) to get the instruction packet
(MCInst with sub-instruction operands).

As fixupNeedsRelaxationAdvanced follows mayNeedRelaxation, we can store
the MCInst in mayNeedRelaxation and eliminate the MCRelaxableFragment
parameter.

Follow-up to 7c83b7ef1796210451b839f4c58f2815f4aedfe5 that eliminates
the MCRelaxableFragment parameter from fixupNeedsRelaxation.


  Commit: b283ff7eb1d7558594063528af7a94cfe2390e98
      https://github.com/llvm/llvm-project/commit/b283ff7eb1d7558594063528af7a94cfe2390e98
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/BranchRelaxation.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/BranchRelaxation.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AArch64/branch-relax-block-size.mir
    M llvm/test/CodeGen/AArch64/branch-relax-cross-section.mir
    M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port BranchRelaxation to NPM (#130067)

This completes the PreEmitPasses.


  Commit: 21ff45dea1601d6d12438b5201ff09b8726899be
      https://github.com/llvm/llvm-project/commit/21ff45dea1601d6d12438b5201ff09b8726899be
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  Revert "[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)"

This reverts commit d0cf5cd5f9790dc21396936d076389c3be1a9599.

Error: "declaration of ‘clang::RISCV::RequiredExtensions
{anonymous}::SemaRecord::RequiredExtensions’ changes meaning of
‘RequiredExtensions’ [-fpermissive]"


  Commit: e57f4e8969db32f075d8f3e554506ec8b187a2f1
      https://github.com/llvm/llvm-project/commit/e57f4e8969db32f075d8f3e554506ec8b187a2f1
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [RISCV][NFC] Make generated intrinsic records more human-readable (#133710)

We add comment markers and print enum names instead of numbers.

For required extensions, we print the feature list instead of raw
bits.

This recommits d0cf5cd which was reverted by 21ff45d.


  Commit: 63e2963f4a24cb9365d1224e69f64bf643171023
      https://github.com/llvm/llvm-project/commit/63e2963f4a24cb9365d1224e69f64bf643171023
  Author: Michael Park <mcypark at gmail.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/relocatable-modules.cpp

  Log Message:
  -----------
  Support '-fmodule-file-home-is-cwd' for C++ modules. (#135147)


  Commit: a3f8359410eb7e14c4a52b47f36e433af40c05e9
      https://github.com/llvm/llvm-project/commit/a3f8359410eb7e14c4a52b47f36e433af40c05e9
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp

  Log Message:
  -----------
  [lldb][test] Fix NativePDB/inline_sites_live.cpp inlined frame format

Adjust after https://github.com/llvm/llvm-project/pull/135343


  Commit: 58b5df09dc6f899016fc707bf937b36b36934b6d
      https://github.com/llvm/llvm-project/commit/58b5df09dc6f899016fc707bf937b36b36934b6d
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/builtin-maxnum-minnum.c

  Log Message:
  -----------
  Clang: Add elementwise minnum/maxnum builtin functions (#129207)

With https://github.com/llvm/llvm-project/pull/112852, we claimed that
llvm.minnum and llvm.maxnum should treat +0.0>-0.0, while libc doesn't
require fmin(3)/fmax(3) for it.

To make llvm.minnum/llvm.maxnum easy to use, we define the builtin
functions for them, include
    __builtin_elementwise_minnum
    __builtin_elementwise_maxnum

All of them support _Float16, __bf16, float, double, long double.


  Commit: 9df153bc146eab7e6c48d5083acb87a6d5c42394
      https://github.com/llvm/llvm-project/commit/9df153bc146eab7e6c48d5083acb87a6d5c42394
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [LV] Remove unused requiresScalarEpilogue function. nfc (#135341)


  Commit: ffd5b148941a1146378a247c70c4faface3a1f96
      https://github.com/llvm/llvm-project/commit/ffd5b148941a1146378a247c70c4faface3a1f96
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll

  Log Message:
  -----------
  [LV] Add test cases for reverse accesses involving irregular types. nfc (#135139)

Add a test with irregular type to ensure the vector load/store
instructions are not generated.


  Commit: e710a5a9f274162c63e32aa8d88f6a734759b4a5
      https://github.com/llvm/llvm-project/commit/e710a5a9f274162c63e32aa8d88f6a734759b4a5
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/fabs-as-int.ll
    M llvm/test/Transforms/InstCombine/fneg-as-int.ll
    M llvm/test/Transforms/InstCombine/fneg-fabs-as-int.ll
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [InstCombine] Fold fneg/fabs patterns with ppc_f128 (#130557)

This patch is needed by
https://github.com/llvm/llvm-project/pull/130496.


  Commit: 1380a8259e5937d7e871c7a754bbf8a662aaa4da
      https://github.com/llvm/llvm-project/commit/1380a8259e5937d7e871c7a754bbf8a662aaa4da
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-13 (Sun, 13 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Use llvm::find and llvm::find_if (NFC) (#135582)


  Commit: 893cd69872ca8e7be8010699aac32c5678a0e2a6
      https://github.com/llvm/llvm-project/commit/893cd69872ca8e7be8010699aac32c5678a0e2a6
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    A llvm/test/CodeGen/RISCV/emit-x8-as-fp.ll
    A llvm/test/MC/Disassembler/RISCV/emit-x8-as-fp.txt
    A llvm/test/MC/RISCV/emit-x8-as-fp.s

  Log Message:
  -----------
  [RISCV][MC] Emit `x8` as `fp` instead of `s0` (#135500)

When emphasizing `X8`'s functionality related to Frame Pointer, this option can be passed.


  Commit: 150e7b14f9474bc4d6891faaae4de6b8c5f6c797
      https://github.com/llvm/llvm-project/commit/150e7b14f9474bc4d6891faaae4de6b8c5f6c797
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/X86/pr134602.ll

  Log Message:
  -----------
  [X86] Add test coverage for #134602


  Commit: cf188d650ce26b4ee3e11101d844361fca15ba64
      https://github.com/llvm/llvm-project/commit/cf188d650ce26b4ee3e11101d844361fca15ba64
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    A llvm/test/CodeGen/AMDGPU/promote-alloca-non-byte-sizes.ll

  Log Message:
  -----------
  [AMDGPU] Avoid crashes for non-byte-sized types in PromoteAlloca (#134042)

This patch addresses three problems when promoting allocas to vectors:
- Element types with size < 1 byte in allocas with a vector type caused
  divisions by zero.
- Element types whose size doesn't match their AllocSize hit an assertion.
- Access types whose size doesn't match their AllocSize hit an assertion.

With this patch, we do not attempt to promote affected allocas to vectors. In
principle, we could handle these cases in PromoteAlloca, e.g., by truncating
and extending elements from/to their allocation size. It's however unclear if
we ever encounter such cases in practice, so that doesn't seem worth the added
complexity.

For SWDEV-511252


  Commit: 53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
      https://github.com/llvm/llvm-project/commit/53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    A clang/test/Driver/arm-fpu-selection.s
    A clang/test/Driver/armv7-default-neon.s
    A clang/test/Driver/armv7s-default-vfpv4.s
    M clang/test/Driver/armv8.1m.main.s

  Log Message:
  -----------
  [Clang][ARM] Ensure FPU Features are parsed when targeting `cc1as` (#134612)

Previously, `cc1as` did not consider the Features that can be included
from a target's FPU. This could lead to a situation where assembly files
could not compile as cc1as did not know if a feature was supported.

With this change, all the features for the FPU will be passed to `cc1as`
as `-target-feature` lines. By making this change, it will enable
`+nosimd` to be functional, worked on in #130623, and fix a regression
introduced in 8fa0f0efce5fb81eb422e6d7eec74c66dafef4a3 so
armv7s-apple-darwin targets can utilise VFPv4 correctly.

---------

Co-authored-by: Martin Storsjö <martin at martin.st>


  Commit: 1df4af6cbcc3bda86fa76b9aba01424ab39077a4
      https://github.com/llvm/llvm-project/commit/1df4af6cbcc3bda86fa76b9aba01424ab39077a4
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    A llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
    A llvm/test/CodeGen/AArch64/sve-vls-ldst-opt.mir

  Log Message:
  -----------
  Reapply "[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128." (#135177)

Reapplies #134068.

The first patch was missing a check to prevent attempts to pair SVE
fill/spill with other Neon load/store instructions, which could happen
specifically if the Neon instruction was unscaled.


  Commit: ed96e4642c76fa199cc427129e6d03fba301a301
      https://github.com/llvm/llvm-project/commit/ed96e4642c76fa199cc427129e6d03fba301a301
  Author: Matthias Braun <matze at braunis.de>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  AArch64: Allow ZEXT+COPY -> FMOV peephole for ZPR registers as well (#135436)


  Commit: e29f986838bcd0ff60cf33e7ae5ee867bad0de00
      https://github.com/llvm/llvm-project/commit/e29f986838bcd0ff60cf33e7ae5ee867bad0de00
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/X86/fake-use-remove-loads.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port RemoveLoadsIntoFakeUses to NPM (#130068)


  Commit: 51fe5d2c314619796c29af6bd717c5c212faa811
      https://github.com/llvm/llvm-project/commit/51fe5d2c314619796c29af6bd717c5c212faa811
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/array.ll

  Log Message:
  -----------
  [InstCombine] Pre-commit tests related to ADDLIKE+GEP->GEP+GEP. NFC (#135154)

InstCombine can transform ADD+GEP into GEP+GEP. But those rewrites does
not currently trigger when the ADD is a disjoint OR (which happens to be
the canonical form for certain ADD operations). Add lit tests to show
that we are lacking such rewrites.

Also add a test case showing that we do not preserve "inbounds nuw",
"nusw nuw" and "nuw" when doing such transforms and the ADD/OR is
known to be NUW.


  Commit: 97bc9137e545423334b00d60ab64855ccc434c3a
      https://github.com/llvm/llvm-project/commit/97bc9137e545423334b00d60ab64855ccc434c3a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github][CI] Upload artifacts directory for premerge workflow

The premerge pipeline currently creates an artifacts directory with some
statistics that gets uploaded on the buildkite side for later
inspection. This patch adds support for this on the Github side by using
the upload artifacts action.

Reviewers: Keenuts, lnihlen, mizvekov, tstellar, Endilll

Reviewed By: mizvekov

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


  Commit: ebd1667059e7b2865a8e419a21df4d4c9735869c
      https://github.com/llvm/llvm-project/commit/ebd1667059e7b2865a8e419a21df4d4c9735869c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#135584)


  Commit: d792094c26dc6b40136f1e6c2e393c041062e371
      https://github.com/llvm/llvm-project/commit/d792094c26dc6b40136f1e6c2e393c041062e371
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Host/ProcessRunLock.h
    M lldb/source/Host/common/ProcessRunLock.cpp
    M lldb/source/Host/windows/ProcessRunLock.cpp
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb] Remove ProcessRunLock::TrySetRunning (#135455)

I traced the issue reported by Caroline and Pavel in #134757 back to the
call to ProcessRunLock::TrySetRunning. When that fails, we get a
somewhat misleading error message:

> process resume at entry point failed: Resume request failed - process
still running.

This is incorrect: the problem was not that the process was in a running
state, but rather that the RunLock was being held by another thread
(i.e. the Statusline). TrySetRunning would return false in both cases
and the call site only accounted for the former.

Besides the odd semantics, the current implementation is inherently
race-y and I believe incorrect. If someone is holding the RunLock, the
resume call should block, rather than give up, and with the lock held,
switch the running state and report the old running state.

This patch removes ProcessRunLock::TrySetRunning and updates all callers
to use ProcessRunLock::SetRunning instead. To support that,
ProcessRunLock::SetRunning (and ProcessRunLock::SetStopped, for
consistency) now report whether the process was stopped or running
respectively. Previously, both methods returned true unconditionally.

The old code has been around pretty much pretty much forever, there's
nothing in the git history to indicate that this was done purposely to
solve a particular issue. I've tested this on both Linux and macOS and
confirmed that this solves the statusline issue.

A big thank you to Jim for reviewing my proposed solution offline and
trying to poke holes in it.


  Commit: 73b554d7a0a666e252f3c837510a55ee1acb1df5
      https://github.com/llvm/llvm-project/commit/73b554d7a0a666e252f3c837510a55ee1acb1df5
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/source/Core/Statusline.cpp

  Log Message:
  -----------
  [lldb] Make sure the process is stopped when computing the symbol context (#135458)

Make sure the process is stopped when computing the symbol context. Both
Adrian and Felipe reported a handful of crashes in GetSymbolContext
called from Statusline::Redraw on the default event thread.

Given that we're handling a StackFrameSP, it's not clear to me how that
could have gotten invalidated, but Jim points out that it doesn't make
sense to compute the symbol context for the frame when the process isn't
stopped.

Depends on  #135455


  Commit: 931a78a1db3da210a1ed5681778e37fa011cdf23
      https://github.com/llvm/llvm-project/commit/931a78a1db3da210a1ed5681778e37fa011cdf23
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-trunc-sext.mir

  Log Message:
  -----------
  [AMDGPU] Add sext_trunc in RegBankCombiner (#131623)


  Commit: 95d526f7f587cc7a3db785169967f8dad0ba3978
      https://github.com/llvm/llvm-project/commit/95d526f7f587cc7a3db785169967f8dad0ba3978
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [MLIR][Tosa] Fix argmax NaN propagate lowering (#133074)

In the propagate mode, NaN compare equal to each other so in case of
several NaNs the index of the first one needs to be returned. This
commit changes the index update condition to check that the current
index is not that of a NaN.

The commit also simplifies argmax NaN ignore lowering to only use OGT.
This prevent any update in case of NaN. The only case where the index of
a NaN is returned is when all values are NaN and this is covered by the
fact that the initial index value is 0 so no update will result in 0
being returned.


  Commit: bcd7f54d340c54630a63659e439540891f7efb09
      https://github.com/llvm/llvm-project/commit/bcd7f54d340c54630a63659e439540891f7efb09
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M .mailmap

  Log Message:
  -----------
  [mailmap] Update my name


  Commit: 29555ad5efea20308c7a5ee851a4cba9093a607d
      https://github.com/llvm/llvm-project/commit/29555ad5efea20308c7a5ee851a4cba9093a607d
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/array.ll

  Log Message:
  -----------
  [InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (#135155)

Given that we have a "add nuw" and a "getelementptr inbounds nuw" like
this:
   %idx = add nuw i64 %idx1, %idx2
   %gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx

Then we can preserve the "inbounds nuw" flag when transforming that into
two getelementptr instructions:
   %gep1 = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx1
   %gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx2

Similarly for just having "nuw", and "nusw nuw" instead of "inbounds nuw"
on the getelementptr.

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


  Commit: dffef041d568e945efbd78c8eb1a3881b67cd405
      https://github.com/llvm/llvm-project/commit/dffef041d568e945efbd78c8eb1a3881b67cd405
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/IR/Type.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/lib/IR/Type.cpp
    M llvm/unittests/SandboxIR/TypesTest.cpp

  Log Message:
  -----------
  [IR][ADT] Remove `APFloat/Type::isIEEE` (#130496)

Address comment
https://github.com/llvm/llvm-project/pull/130477#issuecomment-2708801892.


  Commit: cbda72a5474112e6bc62d5c5978ada7581e80dad
      https://github.com/llvm/llvm-project/commit/cbda72a5474112e6bc62d5c5978ada7581e80dad
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    R libclc/generic/include/clc/atom_decl_int32.inc
    R libclc/generic/include/clc/atom_decl_int64.inc
    A libclc/generic/include/clc/atomic/atom_add.h
    A libclc/generic/include/clc/atomic/atom_and.h
    A libclc/generic/include/clc/atomic/atom_cmpxchg.h
    A libclc/generic/include/clc/atomic/atom_dec.h
    A libclc/generic/include/clc/atomic/atom_decl_int32.inc
    A libclc/generic/include/clc/atomic/atom_decl_int64.inc
    A libclc/generic/include/clc/atomic/atom_inc.h
    A libclc/generic/include/clc/atomic/atom_max.h
    A libclc/generic/include/clc/atomic/atom_min.h
    A libclc/generic/include/clc/atomic/atom_or.h
    A libclc/generic/include/clc/atomic/atom_sub.h
    A libclc/generic/include/clc/atomic/atom_xchg.h
    A libclc/generic/include/clc/atomic/atom_xor.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/clc.h
    M libclc/generic/lib/SOURCES
    R libclc/generic/lib/atom_int32_binary.inc
    A libclc/generic/lib/atomic/atom_add.cl
    A libclc/generic/lib/atomic/atom_and.cl
    A libclc/generic/lib/atomic/atom_cmpxchg.cl
    A libclc/generic/lib/atomic/atom_dec.cl
    A libclc/generic/lib/atomic/atom_inc.cl
    A libclc/generic/lib/atomic/atom_int32_binary.inc
    A libclc/generic/lib/atomic/atom_max.cl
    A libclc/generic/lib/atomic/atom_min.cl
    A libclc/generic/lib/atomic/atom_or.cl
    A libclc/generic/lib/atomic/atom_sub.cl
    A libclc/generic/lib/atomic/atom_xchg.cl
    A libclc/generic/lib/atomic/atom_xor.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl

  Log Message:
  -----------
  [NFC][libclc] Merge atomic extension built-ins with identical name into a single file (#134489)

llvm-diff shows there is no change to amdgcn--amdhsa.bc.

Similar to how cl_khr_fp64 and cl_khr_fp16 implementations are put in a
same file for math built-ins, this PR do the same to atom_* built-ins.

The main motivation is to prevent that two files with same base name
implementats different built-ins. In a follow-up PR, I'd like to relax
libclc_configure_lib_source to only compare filename instead of path for
overriding, since in our downstream the same category of built-ins, e.g.
math, are organized in several different folders.


  Commit: 77341388a77b1442b3a54d745fc269dabb175f0c
      https://github.com/llvm/llvm-project/commit/77341388a77b1442b3a54d745fc269dabb175f0c
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [mlir][OpenMP] allow cancellation to not be directly nested (#134084)

omp.cancel and omp.cancellationpoint contain an attribute describing the
type of parent construct which should be cancelled. e.g.
```
!$omp cancel do
```
Must be inside of a wsloop. Previously the verifer required the
immediate parent to be this operation. This is not quite right because
something like the following is valid:
```
!$omp parallel do
do i = 1, N
  if (cond) then
    !$omp cancel do
  endif
enddo
```

This patch relaxes the verifier to only require that some parent
operation matches (not necessarily the immediate parent).


  Commit: c9eebc7af440dc012c94d25351eaba92e6a57910
      https://github.com/llvm/llvm-project/commit/c9eebc7af440dc012c94d25351eaba92e6a57910
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-sext-inreg.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-sext-trunc-sextinreg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll

  Log Message:
  -----------
  [GlobalISel] Combine redundant sext_inreg (#131624)


  Commit: a9474191e059edbb9b25c769afbe52c7a823f359
      https://github.com/llvm/llvm-project/commit/a9474191e059edbb9b25c769afbe52c7a823f359
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
    M llvm/test/Transforms/SROA/readonlynocapture.ll

  Log Message:
  -----------
  [SROA] Improve handling of lifetimes in load-only promotion (#135382)

The propagateStoredValuesToLoads() transform currently bails out if
there is a lifetime intrinsic spanning the whole alloca, but the
individual loads/stores operate on some smaller part, because the slice
/ partition size does not match.
    
Fix this by ignoring assume-like slices early, regardless of which range
they cover.
    
I've changed the overall code structure here a bit because I was getting
confused by the different iterators.


  Commit: 1e2dc5b0873d990473bba4a52d5085a805f56845
      https://github.com/llvm/llvm-project/commit/1e2dc5b0873d990473bba4a52d5085a805f56845
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/SROA/readonlynocapture.ll

  Log Message:
  -----------
  [SROA] Add load-only promotion tests with dynamic offset load


  Commit: e4a672bc17a2a7dc39e51c9f5e656d705312a12b
      https://github.com/llvm/llvm-project/commit/e4a672bc17a2a7dc39e51c9f5e656d705312a12b
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Core/Mangled.h
    M lldb/include/lldb/Core/RichManglingContext.h
    M lldb/include/lldb/Target/Language.h
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/RichManglingContext.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/unittests/Core/CMakeLists.txt
    M lldb/unittests/Core/RichManglingContextTest.cpp
    M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
    M lldb/unittests/Language/ObjC/ObjCLanguageTest.cpp

  Log Message:
  -----------
  [LLDB] Reapply refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#135033)

The original PR is #132274.

Co-authored-by: @bulbazord Alex Langford


  Commit: 90c01f4bad3132fcff4a73fb39efb64fe4c524b6
      https://github.com/llvm/llvm-project/commit/90c01f4bad3132fcff4a73fb39efb64fe4c524b6
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Add missing bitmask for some extensions (#135599)

According to:
https://github.com/riscv-non-isa/riscv-c-api-doc/blob/main/src/c-api.adoc#extension-bitmask-definitions

And we sort the bitmask by group id and then bit position.


  Commit: 123993fd974629ca0a094918db4c21ad1c2624d0
      https://github.com/llvm/llvm-project/commit/123993fd974629ca0a094918db4c21ad1c2624d0
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  [SLP] Make getSameOpcode support interchangeable instructions. (#133888)

We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.

---------

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


  Commit: e8e98683d70b81802659fa31b458ce3251971248
      https://github.com/llvm/llvm-project/commit/e8e98683d70b81802659fa31b458ce3251971248
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/RISCVTargetParser.cpp

  Log Message:
  -----------
  [RISCV][NFC] Use bitmasks generated by TableGen

So that we don't need to sync-up the table manually.

Reviewers: BeMg, preames, lenary

Reviewed By: BeMg

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


  Commit: 1c04ebbbb5aff6da50aa62f08b2453e741484b85
      https://github.com/llvm/llvm-project/commit/1c04ebbbb5aff6da50aa62f08b2453e741484b85
  Author: Aaron Puchert <aaron.puchert at sap.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/utils/LLVMVisualizers/llvm.natvis
    M llvm/utils/gdb-scripts/prettyprinters.py
    M llvm/utils/lldbDataFormatters.py

  Log Message:
  -----------
  Remove debugger pretty printers for llvm::Optional (#135235)

Since 2916b99182752b1aece8cc4479d8d6a20b5e02da this is just an alias to
std::optional, and by now it has been removed entirely.


  Commit: 14cb8c56b26784c684865053a6deb066f9a5e5b5
      https://github.com/llvm/llvm-project/commit/14cb8c56b26784c684865053a6deb066f9a5e5b5
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Support/Endian.h
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp

  Log Message:
  -----------
  [lldb] add required for lldb RISCV relocations in MCJIT (#126266)

After implementing CFI instructions in the function prologue, LLDB
testing for RISC-V started failing due to insufficient relocations
(e.g., R_RISCV_SET8, R_RISCV_SET16).

This patch adds support for the necessary RISC-V relocations in MCJIT.


  Commit: fe54d1afcca055f464840654dd2ec3fd83aea688
      https://github.com/llvm/llvm-project/commit/fe54d1afcca055f464840654dd2ec3fd83aea688
  Author: Iris <0.0 at owo.li>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll

  Log Message:
  -----------
  [ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)

- Closes #135557


  Commit: 88d0b0835d030635c5d08c9a9754c21b5ac00be9
      https://github.com/llvm/llvm-project/commit/88d0b0835d030635c5d08c9a9754c21b5ac00be9
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/Basic/ABI.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/Modules/vtable-windows.cppm
    M clang/test/Profile/cxx-abc-deleting-dtor.cpp
    R clang/test/SemaCXX/gh134265.cpp

  Log Message:
  -----------
  [MS][clang] Revert vector deleting destructors support (#135611)

Finding operator delete[] is still problematic, without it the extension
is a security hazard, so reverting until the problem with operator
delete[] is figured out.

This reverts the following PRs:
Reland [MS][clang] Add support for vector deleting destructors (llvm#133451)
[MS][clang] Make sure vector deleting dtor calls correct operator delete (llvm#133950)
[MS][clang] Fix crash on deletion of array of pointers (llvm#134088)
[clang] Do not diagnose unused deleted operator delete[] (llvm#134357)
[MS][clang] Error about ambiguous operator delete[] only when required (llvm#135041)


  Commit: cbbf562d1c2a076de83d50fedfee78acfb4d8003
      https://github.com/llvm/llvm-project/commit/cbbf562d1c2a076de83d50fedfee78acfb4d8003
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [lldb][Format][NFC] Remove unused FormatEntity::FormatCString

One can use `FormatStringRef` instead anyway


  Commit: 0078cf79adc2f24a168bc774cba1f39dda5e3752
      https://github.com/llvm/llvm-project/commit/0078cf79adc2f24a168bc774cba1f39dda5e3752
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/docs/DeclarativeRewrites.md
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/docs/DefiningDialects/_index.md
    M mlir/docs/Diagnostics.md
    M mlir/docs/Interfaces.md
    M mlir/docs/PDLL.md
    M mlir/docs/Tutorials/QuickstartRewrites.md
    M mlir/docs/Tutorials/Toy/Ch-5.md
    M mlir/docs/Tutorials/Toy/Ch-7.md
    M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
    M mlir/docs/Tutorials/transform/Ch4.md
    M mlir/examples/transform-opt/mlir-transform-opt.cpp
    M mlir/include/mlir/IR/AffineExpr.h
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/ExtensibleDialect.h
    M mlir/include/mlir/IR/Location.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/IR/Value.h
    M mlir/include/mlir/Tools/PDLL/AST/Types.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
    M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/unittests/IR/SymbolTableTest.cpp

  Log Message:
  -----------
  [mlir] Remove deprecated cast member functions (#135556)

These have been deprecated for over two years now in favor of free
functions.

See the relevant discourse thread:

https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443
and the deprecation notice: https://mlir.llvm.org/deprecation/.


  Commit: 0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
      https://github.com/llvm/llvm-project/commit/0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc] Fix commands in compile_to_bc are executed sequentially (#130755)

In libclc, we observe that compiling OpenCL source files to bitcode is
executed sequentially on Windows, which increases debug build time by
about an hour.
add_custom_command may introduce additional implicit dependencies, see
https://gitlab.kitware.com/cmake/cmake/-/issues/17097
This PR adds a target for each command, enabling parallel builds of
OpenCL source files.
CMake 3.27 has fixed above issue with DEPENDS_EXPLICIT_ONLY. When LLVM
upgrades cmake vertion to 3.7, we can switch to DEPENDS_EXPLICIT_ONLY.


  Commit: 4eaf3a7596fb335edfa36368c2851a256b6e8d75
      https://github.com/llvm/llvm-project/commit/4eaf3a7596fb335edfa36368c2851a256b6e8d75
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Support/ELFAttrParserExtended.cpp
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-long.s
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-short.s
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-type.s
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-values.s
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-ver.s

  Log Message:
  -----------
  [readobj][ELF][AArch64] Handle misformed AArch64 build attribute section (#134888)

Report an error when the .ARM.attributes section for AArch64 is
malformed or violates expected format.


  Commit: 4cb1803ff9d052f1b75d90d5be87345e54aebf92
      https://github.com/llvm/llvm-project/commit/4cb1803ff9d052f1b75d90d5be87345e54aebf92
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc][NFC] Fix typo in comment


  Commit: 10a15024212fe9ac06adad7daad2c1bb510a612c
      https://github.com/llvm/llvm-project/commit/10a15024212fe9ac06adad7daad2c1bb510a612c
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/AST/ast-dump-array.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [clang] AST: remove source locations from [Variable/Dependent]SizedArrayType (#135511)


  Commit: efe9cb0f79a074ab472ec51d8463aac6931d670a
      https://github.com/llvm/llvm-project/commit/efe9cb0f79a074ab472ec51d8463aac6931d670a
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-extract-mova.ll

  Log Message:
  -----------
  [AArch64] Model ZA array using inaccessible memory (#132058)

This patch changes how ZA array is modelled at LLVM-IR level. Currently
accesses to ZA are represented at LLVM-IR level as memory reads and
writes and at instruction level as unmodeled side-effects. This patch
changes that and models them as purely Inaccessible memory accesses
without any unmodeled side-effects.


  Commit: 74e8f29f3138431abc9b393579733f3bbd0d85d8
      https://github.com/llvm/llvm-project/commit/74e8f29f3138431abc9b393579733f3bbd0d85d8
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/CalcSpillWeights.cpp
    M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
    A llvm/test/CodeGen/AArch64/csr-copy-hint.mir
    M llvm/test/CodeGen/AArch64/ptrauth-ret.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/basic_aggr.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/stack.ll
    M llvm/test/CodeGen/AVR/dynalloca.ll
    M llvm/test/CodeGen/AVR/return.ll
    M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
    M llvm/test/CodeGen/SPARC/32abi.ll
    M llvm/test/CodeGen/SPARC/64abi.ll
    M llvm/test/CodeGen/SPARC/bigreturn.ll
    M llvm/test/CodeGen/SPARC/fmuladd-soft-float.ll
    M llvm/test/CodeGen/SPARC/leafproc.ll
    M llvm/test/CodeGen/SPARC/parts.ll
    M llvm/test/CodeGen/SPARC/tailcall.ll
    M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/base-pointer-and-mwaitx.ll
    M llvm/test/CodeGen/X86/ghc-cc64.ll
    M llvm/test/CodeGen/X86/mwaitx.ll

  Log Message:
  -----------
  [RegAlloc] Sort CopyHint by IsCSR (#131046)

`weightCalcHelper` is responsible for adding hints to MRI. Prior to this
PR, we fell back on register ID as the last tie breaker for sorting
hints. However, there is an opportunity to add an additional sorting
characteristic: whether or not a register is a callee-saved-register.

I thought of this idea because I saw that `AllocationOrder::create`
calls `RegisterClassInfo::getOrder`, which returns a list of registers
such that the registers which alias callee-saved-registers come last.
>From this, I conclude that the register allocator prefers an order such
that callee-saved-registers are allocated after
non-callee-saved-registers to avoid having to spill the CSR.

This sorting characteristic occurs only as a tie breaker to the Weight
calculation. This is a good idea since the weight calculation is pretty
complex and I'm sure it is a pretty stable metric. I think its pretty
reasonable to agree that whether a register is callee-saved or not is a
better tie breaker than register ID. I think this is evident by the test
diff, since the changes all seem to have no impact or improve the
register allocation.


  Commit: bcbdbd25c0a2608299a4e97f12076be06a64d724
      https://github.com/llvm/llvm-project/commit/bcbdbd25c0a2608299a4e97f12076be06a64d724
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Support/ELFAttributes.h

  Log Message:
  -----------
  [llvm][ELF][build attributes] Change StringRef to std::string for BuildAttributeSubSection::Name (#135625)

BuildAttributeSubSection::Name must be a std::string instead of
StringRef because it may be assigned from non-persistent memory.
StringRef is non-owning and unsafe in this context. This change ensures
the subsection name owns its memory, preventing use-after-free or
dangling references.

Context: Work in progress in PR #131990.


  Commit: dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
      https://github.com/llvm/llvm-project/commit/dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [Github][CI] Upload .ninja_log as an artifact

This enables using tools like https://github.com/nico/ninjatracing for
performance introspection.

Reviewers: mizvekov, lnihlen, tstellar, Endilll, Keenuts

Reviewed By: Keenuts

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


  Commit: 40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
      https://github.com/llvm/llvm-project/commit/40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [clang] remove unused frontend flag -fretain-subst-template-type-parm-type-ast-nodes (#134177)

This is a follow-up to #132748, where we deferred the flag removal in
order to ease transition for external users.

The plan is to merge this in the nearish future, in two weeks or so is
my best guess.


  Commit: a485abbddda7997177b1b56f4dc8e9c069ae4d9a
      https://github.com/llvm/llvm-project/commit/a485abbddda7997177b1b56f4dc8e9c069ae4d9a
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/test/Driver/do_concurrent_to_omp_cli.f90

  Log Message:
  -----------
  [flang] Fix Driver/do_concurrent_to_omp_cli.f90 test not to use runtime (#135485)

Fix Flang invocation in `Driver/do_concurrent_to_omp_cli.f90` test to
run compilation step only, to fix testing when building with
`-DFLANG_INCLUDE_RUNTIME=OFF`. The test is only concerned with warning
being emitted by the compiler, so there is no need to link the resulting
executable.


  Commit: 092b6e73e651469527662443b592f98f442ece72
      https://github.com/llvm/llvm-project/commit/092b6e73e651469527662443b592f98f442ece72
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/array.ll
    M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
    M llvm/test/Transforms/InstCombine/gep-vector.ll
    M llvm/test/Transforms/InstCombine/vscale_gep.ll
    M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
    M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.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-uf4.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll

  Log Message:
  -----------
  [InstCombine] Handle "add like" in ADD+GEP->GEP+GEP rewrites (#135156)

Considering that "or disjoint" is the canonical for certain add
operations, then I think we want to support such "add like" operations
when doing ADD+GEP->GEP+GEP rewrites to make things more consistent.

Problem was found when improving ValueTracking, which turned an ADD into
OR, and then suddenly optimizations got worse due to these rewrites no
longer triggering.


  Commit: b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
      https://github.com/llvm/llvm-project/commit/b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    A flang/test/Lower/OpenMP/optional-argument-map.f90
    A offload/test/offloading/fortran/optional-mapped-arguments.f90

  Log Message:
  -----------
  [Flang][OpenMP][MLIR] Check for presence of Box type before emitting store in MapInfoFinalization pass (#135477)

Currently we don't check for the presence of descriptor/BoxTypes before
emitting stores which lower to memcpys, the issue with this is that
users can have optional arguments, where they don't provide an input,
making the argument effectively null. This can still be mapped and this
causes issues at the moment as we'll emit a memcpy for function
arguments to store to a local variable for certain edge cases, when we
perform this memcpy on a null input, we cause a segfault at runtime.

The fix to this is to simply create a branch around the store that
checks if the data we're copying from is actually present. If it is, we
proceed with the store, if it isn't we skip it.


  Commit: f133eae70c8b9f4e70372443b79995c5f39727f0
      https://github.com/llvm/llvm-project/commit/f133eae70c8b9f4e70372443b79995c5f39727f0
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/SanitizerBinaryMetadata.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/tools/llc/new-pm/pipeline.ll

  Log Message:
  -----------
  [CodeGen][NPM] Port MachineSanitizerBinaryMetadata to NPM (#130069)

Didn't find a test for this (but there are tests for the `Function`
version of this pass)


  Commit: 44e32a263a7a696e17f8785108e89e1cb1cbd850
      https://github.com/llvm/llvm-project/commit/44e32a263a7a696e17f8785108e89e1cb1cbd850
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll
    M llvm/test/Verifier/SystemZ/intrinsic-immarg.ll
    M llvm/test/Verifier/intrinsic-immarg.ll

  Log Message:
  -----------
  [Verifier] Fix intrinsic signatures in immarg tests (NFC)


  Commit: 2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
      https://github.com/llvm/llvm-project/commit/2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
  Author: John Harrison <harjohn at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A lldb/test/API/tools/lldb-dap/cancel/Makefile
    A lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
    A lldb/test/API/tools/lldb-dap/cancel/main.c
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    A lldb/tools/lldb-dap/Handler/CancelRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Transport.cpp
    M lldb/tools/lldb-dap/Transport.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Adding support for cancelling a request. (#130169)

Adding support for cancelling requests.

There are two forms of request cancellation.

* Preemptively cancelling a request that is in the queue.
* Actively cancelling the in progress request as a best effort attempt
using `SBDebugger.RequestInterrupt()`.


  Commit: b04045cc4165fae487d048bbf928be26e068284e
      https://github.com/llvm/llvm-project/commit/b04045cc4165fae487d048bbf928be26e068284e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

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


  Commit: fcf0f810ac4b22bda3f21048784ee114da1cb061
      https://github.com/llvm/llvm-project/commit/fcf0f810ac4b22bda3f21048784ee114da1cb061
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    A clang/test/Driver/hip-thinlto.hip

  Log Message:
  -----------
  [Clang][AMDGPU] Enable `avail-extern-to-local` for ThinLTO in HIP (#134476)

In HIP, the Clang driver already sets `force-import-all` when ThinLTO is
enabled. As a result, all imported functions get the
`available_externally`
linkage. However, these functions are later removed by the
`EliminateAvailableExternallyPass`, effectively undoing the forced
import and
eventually leading to link errors.

The `EliminateAvailableExternallyPass` provides an option to convert
`available_externally` functions into local functions, renaming them to
avoid
conflicts. This behavior is exactly what we need for HIP. This PR
enables that
option (`avail-extern-to-local`) alongside `force-import-all` when
ThinLTO is
used.

With this change, ThinLTO almost works correctly on AMDGPU. The only
remaining
issue is an undefined reference to `__assert_fail`, but that falls
outside the
scope of this PR.


  Commit: da6f493d4aab7ac18b680345701d210556438048
      https://github.com/llvm/llvm-project/commit/da6f493d4aab7ac18b680345701d210556438048
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/docs/ModFiles.md

  Log Message:
  -----------
  [flang][NFC] Update module file documentation (#135107)

The current module file documentation antedates the current
implementation of module files and contains many aspirational and
conditional statements, all of which can now be resolved with
descriptions of how things actually work.


  Commit: dba757a33c9a07a632c8f14d6820dd6cd90fc918
      https://github.com/llvm/llvm-project/commit/dba757a33c9a07a632c8f14d6820dd6cd90fc918
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    A flang/test/Preprocessing/bug518.F

  Log Message:
  -----------
  [flang] Rework preprocessor fix for replacement in kind suffixes (#135406)

Recent work to better handle macro replacement in literal constant kind
suffixes isn't handling fixed form well, leading to a crash in Fujitsu
test 0113/0113_0073.F. The look-ahead needs to be done with the
higher-level prescanner functions that skip over fixed form comment
fields after column 72. Rework.


  Commit: 13b55ad3bb6bafda7d8a62c5fe2fc98157442355
      https://github.com/llvm/llvm-project/commit/13b55ad3bb6bafda7d8a62c5fe2fc98157442355
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.cpp
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
    M clang/unittests/AST/TypePrinterTest.cpp

  Log Message:
  -----------
  [clang] implement printing of canonical expressions (#135133)

This patch extends the canonicalization printing policy to cover
expressions
and template names, and wires that up to the template argument printer,
covering expressions, and to the expression within a dependent decltype.

This is helpful for debugging, or if these expressions somehow end up
in diagnostics, as without this patch they can print as completely
unrelated
expressions, which can be quite confusing.

This is because expressions are not uniqued, unlike types, and
when a template specialization containing an expression is the first to
be
canonicalized, the expression ends up appearing in the canonical type of
subsequent equivalent specializations.

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


  Commit: 882200684bf1a0edcd3a8edd31c3fd601a2298df
      https://github.com/llvm/llvm-project/commit/882200684bf1a0edcd3a8edd31c3fd601a2298df
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    A flang/test/Parser/OpenMP/bug518.f

  Log Message:
  -----------
  [flang][OpenMP] Prescanning bug with !$ fixed form line continuation (#135416)

The logic for fixed form compiler directive line continuation has a hole
that can apply continuation for !$ even if the next line does not begin
with a fixed form comment character. Rearrange the nested if statements
to enforce that requirement for all compiler directives.


  Commit: 9f7aac177cac18e03ca68e2a69e06700250cd3d7
      https://github.com/llvm/llvm-project/commit/9f7aac177cac18e03ca68e2a69e06700250cd3d7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Support/Fortran-features.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Support/Fortran-features.cpp
    M flang/test/Semantics/spec-expr.f90

  Log Message:
  -----------
  [flang] Allow host-associated INTENT(OUT) in specification expr. (#135426)

Nearly, but not all, other compilers have a blanket prohibition against
the use of an INTENT(OUT) dummy argument in a specification expression.
Some compilers, however, permit an INTENT(OUT) dummy argument to appear
in a specification expression in a BLOCK construct or inner procedure
via host association.

The argument some have put forth to accept this usage comes from a
reading of 10.1.11 (specification expressions) in Fortran 2023 that, if
followed consistently, would also require host-associated OPTIONAL dummy
argument to be allowed. That would be dangerous for reasons that should
be obvious.

However, I can agree that a non-OPTIONAL dummy argument can't be assumed
to remain undefined on entry to a BLOCK construct or inner procedure, so
we can accept host-associated INTENT(OUT) in specification expressions
with a portability warning.


  Commit: 8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
      https://github.com/llvm/llvm-project/commit/8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
    M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
    M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
    M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
    M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/lib/Target/Mips/MipsAsmPrinter.h
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
    M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
    M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.h

  Log Message:
  -----------
  [NFC][MC] Use `StringRef` for Modifier in Inst/Asm Printers (#135403)

- Change various Inst/Asm Printer functions to use a StringRef for the
Modifier parameter (instead of a const char *).
- This simplifies various string comparisons used within these
functions.
- Remove these params for print functions that do not use them.


  Commit: 71d10590dbc041139644f00144513c7f487a94ba
      https://github.com/llvm/llvm-project/commit/71d10590dbc041139644f00144513c7f487a94ba
  Author: Camsyn <camsyn at foxmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [CaptureTracking][NFC] Clarify usage expectations in PointerMayBeCaptured comments (#132744)

Fixes issue #132739.

CaptureAnalysis only considers captures through the def-use chain of the
provided pointer, explicitly excluding captures of underlying values or
implicit captures like those involving external globals.

The previous comment for `PointerMayBeCaptured` did not clearly state
this limitation, leading to its incorrect usage in files such as
ThreadSanitizer.cpp and SanitizerMetadata.cpp.

This PR addresses this by refining the comments for the relevant APIs
within `PointerMayBeCaptured` to explicitly document this behavior.


  Commit: 2e353a635b90a6c31eee5fd4ec0335f37f130628
      https://github.com/llvm/llvm-project/commit/2e353a635b90a6c31eee5fd4ec0335f37f130628
  Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/docs/OpenACC.md
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenACC/acc-declare-validity.f90

  Log Message:
  -----------
  [flang][openacc] Relax constraint on OpenACC declare statement (#135238)

OpenACC declare statements are restricted from having having clauses
that reference assumed size arrays. It should be the case that we can
implement `deviceptr` and `present` clauses for assumed-size arrays.
This is a first step towards relaxing this restriction.

Note running flang on the following example results in an error in
lowering.
```
$ cat t.f90
subroutine vadd (a, b, c, n)
   real(8) :: a(*), b(*), c(*)
!$acc declare deviceptr(a, b, c)
!$acc parallel loop
   do i = 1,n
      c(i) = a(i) + b(i)
   enddo
end subroutine

$ flang -fopenacc -c t.f90
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":3:7): expect declare attribute on variable in declare operation
error: Lowering to LLVM IR failed
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): unsupported OpenACC operation: acc.private.recipe
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): LLVM Translation failed for operation: acc.private.recipe
error: failed to create the LLVM module
```

I would like to to share this code, because others are currently working
on the implementation of `deviceptr`, but it is obviously not running
end-to-end. I think the cleanest approach to this would be to put this
exception to the rule behind some feature flag, but I am not certain
what the precedence for that is.


  Commit: 04b6f541b7ab6c1b25371cb248277c2b391040c9
      https://github.com/llvm/llvm-project/commit/04b6f541b7ab6c1b25371cb248277c2b391040c9
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86Subtarget.h

  Log Message:
  -----------
  [NFC][llvm] Create UEFI helper function (#132462)

Create useful helper functions for UEFI 64 bit target that can be used in
tablegen files in future changes.


  Commit: fef5b6f9530c52d623f4729900855e626d5ee722
      https://github.com/llvm/llvm-project/commit/fef5b6f9530c52d623f4729900855e626d5ee722
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
    M llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp
    M llvm/lib/Target/PowerPC/PPCBranchSelector.cpp
    M llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
    M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
    M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
    M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
    M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
    M llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/lib/Target/PowerPC/PPCVSXCopy.cpp
    M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
    M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp

  Log Message:
  -----------
  [NFC][LLVM][PowerPC] Cleanup pass initialization for PowerPC (#134422)

- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767


  Commit: 4983aec494119048ccbdd19d237f92ebb24c5d62
      https://github.com/llvm/llvm-project/commit/4983aec494119048ccbdd19d237f92ebb24c5d62
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
    M flang/test/Lower/OpenMP/task-depend-array-section.f90

  Log Message:
  -----------
  [flang][OpenMP][HLFIR] Support vector subscripted array sections for DEPEND (#133892)

The OpenMP runtime needs the base address of the array section to
identify the dependency.

If we just put the vector subscript through the usual HLFIR expression
lowering, that would generate a new contiguous array representing the
values of the elements in the array which was sectioned. We cannot use
addresses from this array because these addresses would not match
dependencies on the original array. For example

```
integer :: array(1024)
integer :: indices(2)

indices(1) = 1
indices(2) = 100

!$omp task depend(out: array(1:512))
!$omp end task

!$omp task depend(in: array(indices))
!$omp end task
```

This requires taking the lowering path previously only used for ordered
assignments to get the address of the elements in the original array
which were indexed. This is done using `hlfir.elemental_addr`. e.g.
```
array(indices) = 2
```

`hlfir.elemental_addr` is awkward to use because it (by design) doesn't
return something like `!hlfir.expr<>` (like `hlfir.elemental`) and so it
can't have a generic lowering: each place it is used has to carefully
inline the contents of the operation and extract the needed address.

For this reason, `hlfir.elemental_addr` is not allowed outside of these
ordered assignments. In this commit I ignore this restriction so that I
can use `hlfir.elemental_addr` to lower the OpenMP DEPEND clause (this
works because the operation is inlined and removed before the verifier
runs).

One alternative solution would have been to provide my own more limited
re-implementation of `HlfirDesignatorBuilder` which skipped
`hlfir::elemental_addr`, instead inlining its body directly at the
current insertion point applying indices only for the first element.
This would have been difficult to maintain because designation in
Fortran is complex.


  Commit: f9b8971bea0d93fe6b86364bb02a96a35eee9aba
      https://github.com/llvm/llvm-project/commit/f9b8971bea0d93fe6b86364bb02a96a35eee9aba
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [mlir][tosa] Align RFFT2d and FFT2d operator examples (#135261)

* Minor variable name alignment

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 45aba5149b94412da01eef482e8b815a9889779b
      https://github.com/llvm/llvm-project/commit/45aba5149b94412da01eef482e8b815a9889779b
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [mlir][tosa] Align AddOp examples to spec (#135266)

* simple example variable name alignment

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 5d489f484867b7ddcb3efe51144a133970921082
      https://github.com/llvm/llvm-project/commit/5d489f484867b7ddcb3efe51144a133970921082
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [mlir][tosa] Align AbsOp example variable names (#135268)

* Minor example variable name alignment

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 88c3e0eecffd42c6743638db51ad6db379996ff2
      https://github.com/llvm/llvm-project/commit/88c3e0eecffd42c6743638db51ad6db379996ff2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/uscmp.ll

  Log Message:
  -----------
  [CVP] Add tests for ucmp/scmp with switch (NFC)


  Commit: 1175f5b988ce706fd3e084912ed34ae6254f5cc3
      https://github.com/llvm/llvm-project/commit/1175f5b988ce706fd3e084912ed34ae6254f5cc3
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__verbose_abort
    M libcxx/src/verbose_abort.cpp

  Log Message:
  -----------
  [libc++] Removes the _LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT macro. (#135494)

This makes __libcpp_verbose_abort unconditionally noexcept. This was
planned for the upcomming release.


  Commit: 9800c3489a06a285cbc469a9aab4601e57dac35a
      https://github.com/llvm/llvm-project/commit/9800c3489a06a285cbc469a9aab4601e57dac35a
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/test/Interpreter/inline-virtual.cpp

  Log Message:
  -----------
  [Interp] Mark inline-virtual.cpp as unsupported with ASan (#135402)

See https://github.com/llvm/llvm-project/issues/135401 for the full flakiness report.

It fails on stage2/asan_ubsan check with:
```
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/clang-repl -Xcc -fno-rtti -Xcc -fno-sized-deallocation
JIT session error: In graph incr_module_23-jitted-objectbuffer, section .text.startup: relocation target "_ZN1AD2Ev" at address 0x79618c48d040 is out of range of Delta32 fixup at 0x75618b40d02d (<anonymous block> @ 0x75618b40d010 + 0x1d)
error: Failed to materialize symbols: { (main, { $.incr_module_23.__inits.0, __orc_init_func.incr_module_23, a2 }) }
error: Failed to materialize symbols: { (main, { __orc_init_func.incr_module_23 }) }
The error message ("out of range of Delta32") appears similar to #102858, another Interpreter test that is flaky with ASan.
```

Recent test history on the x86_64-linux-fast bot:

- https://lab.llvm.org/buildbot/#/builders/169/builds/10339: fail
- 10340: buildbot logistical problem
- https://lab.llvm.org/buildbot/#/builders/169/builds/10341: fail
- https://lab.llvm.org/buildbot/#/builders/169/builds/10342: fail
- 10343: pass
- 10344: pass
- https://lab.llvm.org/buildbot/#/builders/169/builds/10345: fail
- 10346: pass
...


  Commit: 6b863e810d6decb689bff8f6620e8ea07b356d86
      https://github.com/llvm/llvm-project/commit/6b863e810d6decb689bff8f6620e8ea07b356d86
  Author: John Harrison <harjohn at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Transport.cpp

  Log Message:
  -----------
  [lldb-dap] Fix win32 build. (#135638)

This enum was not fully specified.


  Commit: 3b1dafd4271ced4c75625176c6d37f41fe85fc70
      https://github.com/llvm/llvm-project/commit/3b1dafd4271ced4c75625176c6d37f41fe85fc70
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [libc++][CI] Pin the XCode version. (#135412)

This version is the current version, to avoid unplanned automatic
updates in the future pin this version.


  Commit: e071233fa527027c021509fcbd41238aa9bae2e1
      https://github.com/llvm/llvm-project/commit/e071233fa527027c021509fcbd41238aa9bae2e1
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll

  Log Message:
  -----------
  [SystemZ] Consider VST/VL as SimpleBDXStore/Load (#135623)

Previously `vst` and `vl` were not considered "simple" BDX stores and
loads, leading to, among other things, some opportunities for `mvc`
optimization to be missed.

This PR addresses this and updates some tests to account for additional
`mvc` instructions being emitted.

This is observed to have a neutral or slightly beneficial effect
performance-wise.


  Commit: e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
      https://github.com/llvm/llvm-project/commit/e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
    M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll

  Log Message:
  -----------
  [ctxprof] Handle instrumenting functions with `musttail` calls (#135121)

Functions with `musttail` calls can't be roots because we can't instrument their `ret` to release the context. This patch tags their `CtxRoot` field in their `FunctionData`. In compiler-rt we then know not to allow such functions become roots, and also not confuse `CtxRoot == 0x1` with there being a context root.

Currently we also lose the context tree under such cases. We can, in a subsequent patch, have the root detector search past these functions.


  Commit: 305006179341d8f657b89fdc7d76502f9bc5f0aa
      https://github.com/llvm/llvm-project/commit/305006179341d8f657b89fdc7d76502f9bc5f0aa
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/AArch64/stack-size-section.ll
    M llvm/test/CodeGen/SystemZ/stack-size-section.ll

  Log Message:
  -----------
  [AsmPrinter] Link .section_sizes to the correct section (#135583)

AsmPrinter may switch the current section when e.g., emitting a jump
table for a switch. `.stack_sizes` should still be linked to the
function section. If the section is wrong, readelf emits a warning
"relocation symbol is not in the expected section".


  Commit: aad09da2adb67f5d2db83bed57c4e0d3f4821d86
      https://github.com/llvm/llvm-project/commit/aad09da2adb67f5d2db83bed57c4e0d3f4821d86
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fix linking to libMLIR (#135483)

Fix regression to MLIR dylib support introduced in #135240. Without the
fix, the build with no static libraries fails:

```
FAILED: bin/fir-opt 
: && /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-ctad-maybe-unsupported -fno-strict-aliasing -fno-semantic-interposition -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs    -Wl,-rpath-link,/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang_build/lib  -Wl,--gc-sections  -Wl,--dependency-file=tools/fir-opt/CMakeFiles/fir-opt.dir/link.d tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o -o bin/fir-opt -L/usr/lib/llvm/21/lib64 -Wl,-rpath,"\$ORIGIN/../lib64:/usr/lib/llvm/21/lib64:"  lib/libCUFAttrs.a  lib/libCUFDialect.a  lib/libFIRDialect.a  lib/libFIRSupport.a  lib/libFIRTransforms.a  lib/libFIRCodeGen.a  lib/libFIRCodeGenDialect.a  lib/libHLFIRDialect.a  lib/libHLFIRTransforms.a  lib/libFIROpenACCSupport.a  lib/libFIROpenMPSupport.a  lib/libFlangOpenMPTransforms.a  lib/libFIRAnalysis.a  lib/libFIRTransforms.a  lib/libFIRCodeGen.a  lib/libFIROpenACCSupport.a  lib/libFIRCodeGenDialect.a  -lMLIRIR  lib/libFIROpenMPSupport.a  lib/libFIRAnalysis.a  lib/libFIRBuilder.a  lib/libCUFDialect.a  lib/libFIRSupport.a  lib/libHLFIRDialect.a  lib/libFIRDialect.a  lib/libCUFAttrs.a  lib/libFIRDialectSupport.a  lib/libFortranEvaluate.a  lib/libFortranDecimal.a  lib/libFortranParser.a  lib/libFortranSupport.a  /usr/lib/llvm/21/lib64/libMLIR.so.21.0gitfa4ac19f  /usr/lib/llvm/21/lib64/libclang-cpp.so.21.0gitfa4ac19f  /usr/lib/llvm/21/lib64/libLLVM.so.21.0gitfa4ac19f  -lquadmath && :
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lMLIRIR: No such file or directory
collect2: error: ld returned 1 exit status
```


  Commit: 2a83c0cc134471bdbc8342041d12fa514e17eca1
      https://github.com/llvm/llvm-project/commit/2a83c0cc134471bdbc8342041d12fa514e17eca1
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/runtime/relative-vftable.cpp

  Log Message:
  -----------
  [BOLT] Support relative vtable (#135449)

To handle relative vftable, which is enabled with clang option
`-fexperimental-relative-c++-abi-vtables`, we look for PC relative
relocations whose fixup locations fall in vtable address ranges.
For such relocations, actual target is just virtual function itself,
and the addend is to record the distance between vtable slot for
target virtual function and the first virtual function slot in vtable,
which is to match generated code that calls virtual function. So
we can skip the logic of handling "function + offset" and directly
save such relocations for future fixup after new layout is known.


  Commit: 3e644859470e9ba77b8365cc7e2b5234492f4c30
      https://github.com/llvm/llvm-project/commit/3e644859470e9ba77b8365cc7e2b5234492f4c30
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp

  Log Message:
  -----------
  Remove the redundant check for "WeakPtr" in isSmartPtrClass to fix the issue 135612. (#135629)


  Commit: da17ced11b1cf44b433cb2b850978df4b6bff279
      https://github.com/llvm/llvm-project/commit/da17ced11b1cf44b433cb2b850978df4b6bff279
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
    M clang/test/CodeGenDirectX/Builtins/dot2add.c
    M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/test/CodeGen/DirectX/dot2_error.ll
    M llvm/test/CodeGen/DirectX/dot2add.ll
    M llvm/test/CodeGen/DirectX/dot3_error.ll
    M llvm/test/CodeGen/DirectX/dot4_error.ll
    M llvm/test/CodeGen/DirectX/fdot.ll
    M llvm/test/CodeGen/DirectX/normalize.ll

  Log Message:
  -----------
  [DirectX] Use scalar arguments for @llvm.dx.dot intrinsics (#134570)

The `dx.dot2`, `dot3`, and `dot4` intrinsics exist purely to lower
`dx.fdot`, and they map exactly to the DXIL ops of the same name. Using
vectors for their arguments adds unnecessary complexity and causes us to
have vector operations that are not trivial to lower post-scalarizer.

Similarly, the `dx.dot2add` intrinsic is overly generic for something
that only needs to lower to a single `dot2AddHalf` DXIL op. Update its
signature to match the operation it lowers to.

Fixes #134569.


  Commit: df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
      https://github.com/llvm/llvm-project/commit/df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
  Author: Mateusz Sokół <8431159+mtsokol at users.noreply.github.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/test/Dialect/Shape/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Shape] Support >2 args in `shape.broadcast` folder (#126808)

Hi!

As the title says, this PR adds support for >2 arguments in
`shape.broadcast` folder by sequentially calling `getBroadcastedShape`.


  Commit: c9ec1bc753b0bae7137547e1e39823b2effe82c1
      https://github.com/llvm/llvm-project/commit/c9ec1bc753b0bae7137547e1e39823b2effe82c1
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    A flang/test/HLFIR/volatile1.fir
    A flang/test/HLFIR/volatile2.fir
    A flang/test/HLFIR/volatile3.fir
    A flang/test/HLFIR/volatile4.fir

  Log Message:
  -----------
  [flang] Handle volatility in lowering and codegen (#135311)

* Enable lowering and conversion patterns to pass volatility information
from higher level operations to lower level ones.
* Enable codegen to pass volatility to LLVM dialect ops by setting an
attribute on loads, stores, and memory intrinsics.
* Add utilities for passing along the volatility from an input type to
an output type.

To introduce volatile types into the IR, entities with the volatile
attribute will be given a volatile type in the bridge; this is not
enabled in this patch. User code should not result in IR with volatile
types yet, so this patch contains no tests with Fortran source, only IR
that already contains volatile types.

Part 3 of #132486.


  Commit: da8ce56c53fe6e34809ba0b310fa90257e230a89
      https://github.com/llvm/llvm-project/commit/da8ce56c53fe6e34809ba0b310fa90257e230a89
  Author: aankit-ca <quic_aankit at quicinc.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
    A llvm/test/CodeGen/Hexagon/hwloop-dist-check.mir
    M llvm/test/CodeGen/Hexagon/swp-phi-start.ll

  Log Message:
  -----------
  [HEXAGON] Fix corner cases for hwloops pass (#135439)

Add check to make sure Dist > 0 or Dist < 0 for appropriate cmp cases to
hexagon hardware loops pass. The change modifies the
HexagonHardwareLoops pass to add runtime checks to make sure that
end_value > initial_value for less than comparisons and end_value <
initial_value for greater than comparisons.

Fix for https://github.com/llvm/llvm-project/issues/133241

@androm3da @iajbar PTAL

---------

Co-authored-by: aankit-quic <aankit at quicinc.com>


  Commit: c766d0c7321b12db12b3b087941e86df0f1a75d1
      https://github.com/llvm/llvm-project/commit/c766d0c7321b12db12b3b087941e86df0f1a75d1
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/jump-table-partition.ll

  Log Message:
  -----------
  [NFC][AsmPrinter] Refactor AsmPrinter and AArch64AsmPrinter to prepare for jump table partitions on aarch64 (#125993)

With
https://github.com/llvm/llvm-project/commit/3feb724496238ce10d32e8c2bd84b4ea50f9977e,
AsmPrinter can place jump table entries into `.hot` or `.unlikely`
prefixed data sections. This change refactors AsmPrinter and
AArch64AsmPrinter to prepare for the aarch64 port.

* Before this patch, the AsmPrinter class exposes `emitJumpTableInfo` as
a virtual method, and AArch64AsmPrinter overrides `emitJumpTableInfo`
for jump table emission.
* After this patch, both AsmPrinter and AArch64AsmPrinter shares
`AsmPrinter::emitJumpTableInfo`, and class-specific code are moved
inside each class's `emitJumpTableImpl` respectively.

This is a follow-up of https://github.com/llvm/llvm-project/pull/125987,
and https://github.com/llvm/llvm-project/pull/126018 implements the port
for aarch64.


  Commit: c5ac63e4fcd58c951f10c3902d8a6692e0a43c55
      https://github.com/llvm/llvm-project/commit/c5ac63e4fcd58c951f10c3902d8a6692e0a43c55
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    A llvm/test/Bitcode/thinlto-preserve-uselistorder.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
    M llvm/tools/opt/NewPMDriver.cpp

  Log Message:
  -----------
  ThinLTO: Add flag to print uselistorder in bitcode writer pass (#133230)

This is needed in llvm-reduce to avoid perturbing the uselistorder in
intermediate steps. Really llvm-reduce wants pure serialization with
no dependency on the pass manager. There are other optimizations mixed
in to the serialization here depending on metadata in the module, which
is also bad.
    
Part of #63621


  Commit: bae08dad69674385ee8bb2e97423e72dad98435a
      https://github.com/llvm/llvm-project/commit/bae08dad69674385ee8bb2e97423e72dad98435a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/thinlto-preserve-uselistorder.ll
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp

  Log Message:
  -----------
  llvm-reduce: Preserve uselistorder when writing thinlto bitcode (#133369)

Fixes #63621


  Commit: 904f1b17d30335b102bd05f63a73e9ed5576ba0a
      https://github.com/llvm/llvm-project/commit/904f1b17d30335b102bd05f63a73e9ed5576ba0a
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Configure ccache using command line options (#134857)

Since ccache 4.8, it is possible to pass configuration options directly
to ccache on the command line as opposed to through environment
variables.
This is the intended way for CMake to configure ccache, as described on
the GitHub wiki for the project:
https://github.com/ccache/ccache/wiki/CMake

This should allow for uniform ccache configuration that does not rely on
platform-specific environment setup.

Rework the way ccache is configured by LLVM accordingly.

---------

Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>


  Commit: a43ff0ec8a684b2f8e93bb9f6df3b513c577091b
      https://github.com/llvm/llvm-project/commit/a43ff0ec8a684b2f8e93bb9f6df3b513c577091b
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/aarch64/headers.txt
    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 extra baremetal headers and entrypoints (#135462)

These are all usable in baremetal environments.


  Commit: 2b58b3df0bad3de1887fcb113a5eed7ab714812a
      https://github.com/llvm/llvm-project/commit/2b58b3df0bad3de1887fcb113a5eed7ab714812a
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Revert "[CMake] Configure ccache using command line options" (#135664)

Reverts llvm/llvm-project#134857


  Commit: 9deb08a30196b5b3b3883b5c7be8c4251039bde7
      https://github.com/llvm/llvm-project/commit/9deb08a30196b5b3b3883b5c7be8c4251039bde7
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    A mlir/include/mlir-c/Dialect/SMT.h
    A mlir/include/mlir-c/Target/ExportSMTLIB.h
    M mlir/lib/CAPI/Dialect/CMakeLists.txt
    A mlir/lib/CAPI/Dialect/SMT.cpp
    M mlir/lib/CAPI/Target/CMakeLists.txt
    A mlir/lib/CAPI/Target/ExportSMTLIB.cpp
    M mlir/lib/Target/SMTLIB/CMakeLists.txt
    M mlir/test/CAPI/CMakeLists.txt
    A mlir/test/CAPI/smt.c
    M mlir/test/CMakeLists.txt

  Log Message:
  -----------
  [mlir][SMT] C APIs (#135501)

This PR upstreams/adds the C APIs for SMT dialect (from CIRCT).

---------

Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Co-authored-by: Clo91eaf <Clo91eaf at qq.com>


  Commit: b07fc0fd5e26f894e3a80373577cb5979b8b54bb
      https://github.com/llvm/llvm-project/commit/b07fc0fd5e26f894e3a80373577cb5979b8b54bb
  Author: Ashley Coleman <ascoleman at microsoft.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
    M llvm/unittests/Analysis/DXILResourceTest.cpp

  Log Message:
  -----------
  [HLSL] Move Resource Instance Properties from TypeInfo (#135259)

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

Moves Resource Instance properties from type info into resource info as
described in
https://github.com/llvm/wg-hlsl/blob/main/proposals/0022-resource-instance-analysis.md


  Commit: 202cd7bb33b8116bbfc6e25eef8ad8446c57bed5
      https://github.com/llvm/llvm-project/commit/202cd7bb33b8116bbfc6e25eef8ad8446c57bed5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/metadata.ll

  Log Message:
  -----------
  [LV] Extend metadata.ll tests to also check interleaving.

Adds missing test coverage for presering existing metadata when
interleaving.


  Commit: be4c99ae112f572695c3e187f4ef4ac4cd592783
      https://github.com/llvm/llvm-project/commit/be4c99ae112f572695c3e187f4ef4ac4cd592783
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/jump-table-partition.ll

  Log Message:
  -----------
  [AArch64AsmPrinter]Place jump tables into hot/unlikely-prefixed data sections for aarch64 (#126018)

This is a follow-up patch of
https://github.com/llvm/llvm-project/pull/125993 to port jump table
partitions for aarch64.

---------

Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>


  Commit: 061f87f75f38e80e7494b5f7235103f7f11a36c3
      https://github.com/llvm/llvm-project/commit/061f87f75f38e80e7494b5f7235103f7f11a36c3
  Author: MillePlateaux <liulambda at outlook.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaStmt.cpp
    A clang/test/Sema/attr-musttail.cpp

  Log Message:
  -----------
  [Clang][Sema]:Fix musttail attribute on a function with not_tail_called attribute has no warning/error (#134465)

The error is emitted when a musttail call is made to a function marked
with the not_tail_called attribute.Closes #133509


  Commit: a2c57e1dec7e5641a3cc82dbfb397bea058c03cd
      https://github.com/llvm/llvm-project/commit/a2c57e1dec7e5641a3cc82dbfb397bea058c03cd
  Author: David Green <david.green at arm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [AArch64][GlobalISel] Remove unnecessary fp convert patterns. NFC

We nowadays legalize the fp converts to legal operations earlier, not requiring
patterns that select to multiple instructions.


  Commit: f5c5f9f926cb93c58e8cc6302f788474909606b0
      https://github.com/llvm/llvm-project/commit/f5c5f9f926cb93c58e8cc6302f788474909606b0
  Author: Tsz Chan <keithcth2001 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_itimerval.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_itimerval.h
    M libc/include/sys/time.yaml
    M libc/src/sys/time/CMakeLists.txt
    A libc/src/sys/time/getitimer.h
    M libc/src/sys/time/linux/CMakeLists.txt
    A libc/src/sys/time/linux/getitimer.cpp
    A libc/src/sys/time/linux/setitimer.cpp
    A libc/src/sys/time/setitimer.h
    M libc/test/src/sys/time/CMakeLists.txt
    A libc/test/src/sys/time/getitimer_test.cpp
    A libc/test/src/sys/time/setitimer_test.cpp

  Log Message:
  -----------
  [libc] Implement getitimer and setitimer, add proxy headers for itimerval (#134773)

#133983


  Commit: 9332f1ea57fb7486c79003eaff43d27bfedea1af
      https://github.com/llvm/llvm-project/commit/9332f1ea57fb7486c79003eaff43d27bfedea1af
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/hip-options.hip

  Log Message:
  -----------
  [Clang] add option --offload-jobs=N (#135229)

for specifying number of threads for clang-linker-wrapper.


  Commit: 9ba65cbcb5ea24d8f65cbe82474b7513501c5470
      https://github.com/llvm/llvm-project/commit/9ba65cbcb5ea24d8f65cbe82474b7513501c5470
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [NFC][TableGen] Refactor DecoderEmitter.cpp (#135510)

- Add helper functions to insert ULEB128 encoded value and NumToSkip.
- Use ArrayRef<> instead of const vector references as function
  arguments.
- Return `OpHasCompleteDecoder` by value instead of by reference.
- Use range for loops.
- Remove {} around single line if/else bodies.
- In `emitSoftFailTableEntry`, unconditionally emit the Positive and
  Negative mask values, instead of explicitly emitting a 0 byte when
  the mask is not needed.


  Commit: 52166339f1f74f7d97a54eaf687bb5de167f040d
      https://github.com/llvm/llvm-project/commit/52166339f1f74f7d97a54eaf687bb5de167f040d
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
    A mlir/test/Dialect/LLVMIR/indirectbr.mlir
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    A mlir/test/Target/LLVMIR/Import/indirectbr.ll
    A mlir/test/Target/LLVMIR/indirectbr.mlir
    M mlir/test/mlir-translate/import-diagnostics.ll

  Log Message:
  -----------
  [MLIR][LLVM] Support for indirectbr (#135092)

Now that LLVM dialect has `blockaddress` support, introduce import/translation for `indirectbr` instruction.


  Commit: 41892fc4353d2dd705666783d799e79748467ed8
      https://github.com/llvm/llvm-project/commit/41892fc4353d2dd705666783d799e79748467ed8
  Author: Theo de Magalhaes <theo.de-magalhaes at epita.fr>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/RecordLayoutBuilder.cpp
    A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
    A clang/test/SemaCXX/windows-Wpadded.cpp

  Log Message:
  -----------
  [CLANG-CL] ignores Wpadded (#134426)

[clang] add support for -Wpadded on Windows

Implements the -Wpadded warning for --target=x86_64-windows-msvc etc.

Fixes #61702 .


  Commit: 924cf536cebffa7aa67e2dd2f7528fb9629a6f3e
      https://github.com/llvm/llvm-project/commit/924cf536cebffa7aa67e2dd2f7528fb9629a6f3e
  Author: Joy <yutche at qti.qualcomm.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [AArch64] Add missing test for Qualcomm Oryon-1 processor (#135258)

For completeness add oryon-1 test case to test verifying all valid
AArch64 CPUs are accepted by llc.


  Commit: 54b33eba1657f4bfe11db5cc1c562a2d2172c7e3
      https://github.com/llvm/llvm-project/commit/54b33eba1657f4bfe11db5cc1c562a2d2172c7e3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp

  Log Message:
  -----------
  [VPlan] Add opcode to create step for wide inductions. (#119284)

This patch adds a WideIVStep opcode that can be used to create a vector
with the steps to increment a wide induction. The opcode has 2 operands
* the vector step
* the scale of the vector step

The opcode is later converted into a sequence of recipes that convert
the scale and step to the target type, if needed, and then multiply
vector step by scale.

This simplifies code that needs to materialize step vectors, e.g.
replacing wide IVs as follow up to
https://github.com/llvm/llvm-project/pull/108378 with an increment of
the wide IV step.

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


  Commit: ff687af04f5b0e85305250587b524cb0b3849aa0
      https://github.com/llvm/llvm-project/commit/ff687af04f5b0e85305250587b524cb0b3849aa0
  Author: Jan Górski <jan.a.gorski at wp.pl>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/CodeGen/atomic-ops-load.c

  Log Message:
  -----------
  [clang][CodeGen] Add range metadata for atomic load of boolean type. #131476 (#133546)

Fixes #131476.

For `x86_64` it folds
```
movzbl	t1(%rip), %eax
andb	$1, %al
```
into
```
movzbl	t1(%rip), %eax
```
when run: `clang -S atomic-ops-load.c -o atomic-ops-load.s -O1
--target=x86_64`.

But for riscv replaces:
```
lb	a0, %lo(t1)(a0)
andi	a0, a0, 1
```
with
```
lb	a0, %lo(t1)(a0)
zext.b	a0, a0
``` 
when run: `clang -S atomic-ops-load.c -o atomic-ops-load.s -O1
--target=riscv64`.


  Commit: 557e931d958104eb5d11b93ad3a21e4017812fcd
      https://github.com/llvm/llvm-project/commit/557e931d958104eb5d11b93ad3a21e4017812fcd
  Author: Damien L-G <dalg24 at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__mdspan/aligned_accessor.h
    M libcxx/include/__mdspan/mdspan.h
    A libcxx/include/__memory/is_sufficiently_aligned.h
    M libcxx/include/mdspan
    M libcxx/include/memory
    M libcxx/include/module.modulemap
    M libcxx/include/version
    M libcxx/modules/std/mdspan.inc
    M libcxx/modules/std/memory.inc
    A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/byte_alignment.verify.cpp
    A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/element_type.verify.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/types.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/memory/ptr.align/is_sufficiently_aligned.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implement P2897R7 aligned_accessor: An mdspan accessor expressing pointer over-alignment (#122603)

Closes #118372


  Commit: cd7d2c3bf89c9f0e6b7467d9d5ac87ddc829975c
      https://github.com/llvm/llvm-project/commit/cd7d2c3bf89c9f0e6b7467d9d5ac87ddc829975c
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    A clang/test/CIR/CodeGen/struct.c
    A clang/test/CIR/CodeGen/struct.cpp
    A clang/test/CIR/CodeGen/union.c
    A clang/test/CIR/IR/struct.cir

  Log Message:
  -----------
  [CIR] Upstream minimal support for structure types (#135105)

This change adds minimal support for structure types. To keep the
initial change small, only incomplete declarations are being supported
in this patch. More complete support will follow.


  Commit: 1bcec036e197f6ab7461722502e4393396b46ec3
      https://github.com/llvm/llvm-project/commit/1bcec036e197f6ab7461722502e4393396b46ec3
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    A clang/test/CodeGenHipStdPar/rdc-does-not-enable-hipstdpar.cpp
    A clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

  Log Message:
  -----------
  [HIP][HIPSTDPAR][NFC] Re-order & adapt `hipstdpar` specific passes (#134753)

The `hipstdpar` specific passes were not ordered ideally, especially for
`fgpu-rdc` compilations, which meant that we'd eagerly run accelerator
code selection and remove symbols that might end up used. This change
corrects that aspect by ensuring that accelerator code selection is only
done after linking (this will have to be revisited in the future once
the closed-world assumption no longer holds). Furthermore, we take the
opportunity to move allocation interposition so that it properly gets
printed when print-pipeline-passes is requested. NFC.


  Commit: 68806b9c2cf732dc93b17e47e5321394e0fcf8bb
      https://github.com/llvm/llvm-project/commit/68806b9c2cf732dc93b17e47e5321394e0fcf8bb
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaFixupKinds.h
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
    M llvm/lib/Target/Xtensa/XtensaFeatures.td
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaOperands.td
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
    M llvm/lib/Target/Xtensa/XtensaSubtarget.h
    A llvm/test/CodeGen/Xtensa/minmax.ll
    A llvm/test/CodeGen/Xtensa/sext.ll
    M llvm/test/MC/Xtensa/Relocations/fixups-diagnostics.s
    M llvm/test/MC/Xtensa/Relocations/fixups.s
    M llvm/test/MC/Xtensa/Relocations/relocations.s
    A llvm/test/MC/Xtensa/loop.s
    A llvm/test/MC/Xtensa/minmax.s
    A llvm/test/MC/Xtensa/nsau.s
    A llvm/test/MC/Xtensa/sext.s
    A llvm/test/MC/Xtensa/sext_invalid.s

  Log Message:
  -----------
  [Xtensa] Implement SEXT, NSA, MINMAX and Loop Xtensa Options. (#133818)

Implement basic support of the several simple Xtensa Options with 1-4
instructions for each option. The Sign Extend Option (SEXT). The NSA
Option. The Minimum/Maximum Integer 32-bit Option and Loop Option.
Fixed address operands, added OPERAND_PCREL to operands descriptions.


  Commit: eb3ecd158a8aef854f23553f63d118a0c5ef69af
      https://github.com/llvm/llvm-project/commit/eb3ecd158a8aef854f23553f63d118a0c5ef69af
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [gn build] Port 557e931d9581


  Commit: 888b3ed5b4f441b0dea91d7ec2bda1426abeadec
      https://github.com/llvm/llvm-project/commit/888b3ed5b4f441b0dea91d7ec2bda1426abeadec
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

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

This patch fixes:

  llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:2417:13: error:
  unused variable 'ConstStep' [-Werror,-Wunused-variable]


  Commit: 2206e15e78bc3d5289fb2c2cf5a80d6f08412a58
      https://github.com/llvm/llvm-project/commit/2206e15e78bc3d5289fb2c2cf5a80d6f08412a58
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm

  Log Message:
  -----------
  [alpha.webkit.UnretainedCallArgsChecker] Don't emit a warning for RetainPtr::operator= (#135526)

Generalize the check for operator= so that it works for RetainPtr and
CheckedPtr instead of just RefPtr.


  Commit: 820a9b72b2e28b7607691485103f0d7e75baaf42
      https://github.com/llvm/llvm-project/commit/820a9b72b2e28b7607691485103f0d7e75baaf42
  Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  Fix build by marking possibly unused variable such. (#135689) [NFC]


  Commit: a9f73ae4494437c606c2b2e869358b75d8e2d45c
      https://github.com/llvm/llvm-project/commit/a9f73ae4494437c606c2b2e869358b75d8e2d45c
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp

  Log Message:
  -----------
  [CIR] Fix upstream issue. NFC

- 'PrintCanonicalTypes' from the printing policy is renamed as
  'PrintAsCanonical'


  Commit: 76db259080fa134579f31d76fe9ab462f47eca87
      https://github.com/llvm/llvm-project/commit/76db259080fa134579f31d76fe9ab462f47eca87
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
    R mlir/test/Dialect/LLVMIR/indirectbr.mlir
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    R mlir/test/Target/LLVMIR/Import/indirectbr.ll
    R mlir/test/Target/LLVMIR/indirectbr.mlir
    M mlir/test/mlir-translate/import-diagnostics.ll

  Log Message:
  -----------
  Revert "[MLIR][LLVM] Support for indirectbr" (#135695)

Reverts llvm/llvm-project#135092, broke
https://lab.llvm.org/buildbot/#/builders/169/builds/10469


  Commit: b9a3e998b1921f7d1e3093f27d288ee1a121ba4b
      https://github.com/llvm/llvm-project/commit/b9a3e998b1921f7d1e3093f27d288ee1a121ba4b
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    A clang/test/CodeGenCXX/bug135668.cpp
    A clang/test/SemaCXX/bug135668.cpp

  Log Message:
  -----------
  [Clang]Ensure correct handling of cleanup access control  (#135668) (#135686)

The P2719 implementation refactored diagnostics for cleanup delete, and
as part of that I attempted to fix handling of inaccessible cleanup
operator delete. Alas the new branch was incorrect as it was performing
an implicit bool conversion, which resulted in friend accessible cleanup
operators incorrectly being considered erroneous and the allocation path
errored out. This error however did not get diagnosed, so the result was
and so we did not actually error out before codegen.

Added both Sema and CodeGen tests to cover this.


  Commit: 23e92c985de96ec2f06be1c94228ad5dff2d9097
      https://github.com/llvm/llvm-project/commit/23e92c985de96ec2f06be1c94228ad5dff2d9097
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp

  Log Message:
  -----------
  [NFC] Fix bot breakage introduced by #134753 (#135697)

This test needs the amdgpu target, and its absence wreaked havoc with
some of the bots, therefore we now require it.


  Commit: 7491ff74d2b99c0e5e879ec7fd370fe9654528c4
      https://github.com/llvm/llvm-project/commit/7491ff74d2b99c0e5e879ec7fd370fe9654528c4
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M lldb/source/Target/StopInfo.cpp

  Log Message:
  -----------
  [lldb] Override Should{Select,Show} in StopReasonBreakpoint (#135637)

This is necessary so that LLDB does not select (or show the stop reason
for) a thread which stopped at an internal breakpoint.

Other than manual testing/inspection, which I've done, this does not
seem to lend itself to API testing, as we cannot set internal
breakpoints through the SBAPI.


  Commit: 3633de702985e1580d72223ae38a31d0e6fd480b
      https://github.com/llvm/llvm-project/commit/3633de702985e1580d72223ae38a31d0e6fd480b
  Author: nvptm <pmathew at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
    M mlir/test/Dialect/OpenACC/legalize-data.mlir

  Log Message:
  -----------
  [mlir][acc] Handle OpenACC host_data in LegalizeDataValues (#134767)

`LegalizeDataValuesInRegion` is intended to replace the SSA values used
in a region with the output of data operations, but misses the handling
of the OpenACC `host_data` construct. As a result, currently

```
 !$acc host_data use_device(%var)
   ...%var...
 !$acc end host_data

```
is lowered to

```
 %dev_var = acc.use_device(%var)
 acc.host_data data_operands(%dev_var) {
   ...%var...
 }
```

This pull request updates the LegalizeDataValuesInRegion to handle
HostDataOp such that lowering results in

```
 %dev_var = acc.use_device(%var)
 acc.host_data data_operands(%dev_var) {
   ...%dev_var...
 }
```


  Commit: 15932624537ddba61efae19c9af212d3e47a4c21
      https://github.com/llvm/llvm-project/commit/15932624537ddba61efae19c9af212d3e47a4c21
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  SanitizerCoverage: Remove unused field.


  Commit: 8fe5ac896f049020c739769c5186b472c639fd30
      https://github.com/llvm/llvm-project/commit/8fe5ac896f049020c739769c5186b472c639fd30
  Author: thetruestblue <bblueconway at gmail.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Posix/mmap_limit_mb.cpp

  Log Message:
  -----------
  [Test][Darwin] Disable test on watchos due to memory restraints (#135671)

Because of the nature of this test (mmap stress-test) it tests too large
of memory allocations to be stable on watchos. WatchOS has memory limits
that can lead to the termination of this process before it reaches the
limit set by the flag. Typical only on devices that are under heavy
load. disable on watchOS.

rdar://147222346


  Commit: 8e8d04870dbc3248301534796b4370f75e33f7c0
      https://github.com/llvm/llvm-project/commit/8e8d04870dbc3248301534796b4370f75e33f7c0
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
    M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp

  Log Message:
  -----------
  SampleProfileProbe: Remove unused field.


  Commit: 07fe9c6461dbdde6f619fc56bd021cd30b3f6327
      https://github.com/llvm/llvm-project/commit/07fe9c6461dbdde6f619fc56bd021cd30b3f6327
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/combine-mad.ll
    M llvm/test/CodeGen/NVPTX/copysign.ll
    M llvm/test/CodeGen/NVPTX/f16-instructions.ll
    M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
    M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
    M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
    M llvm/test/CodeGen/NVPTX/i128.ll
    M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
    M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
    M llvm/test/CodeGen/NVPTX/param-load-store.ll
    M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll

  Log Message:
  -----------
  [NVPTX] Use 0 immediate for i1 trunc, cleanup dead code (#135646)

Update the instruction selection for truncation to i1 to use "setp.ne
%v, 0" as the zero immediate is a preferable canonical form. Also remove
some dead code relating to the "set" instruction which we do not
actually support currently.


  Commit: fe9e2090be79a2b807d381a0a045bc606d59c33c
      https://github.com/llvm/llvm-project/commit/fe9e2090be79a2b807d381a0a045bc606d59c33c
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
    M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/fminimumnum.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fminimumnum.ll

  Log Message:
  -----------
  Vectorize: Support fminimumnum and fmaximumnum (#131781)

Support auto-vectorize for fminimum_num and fmaximum_num. 
For ARM64 with SVE, scalable vector cannot support yet.

---------

Co-authored-by: Your Name <you at example.com>


  Commit: a686b783ce244a6dfebd17b717532c516419fc32
      https://github.com/llvm/llvm-project/commit/a686b783ce244a6dfebd17b717532c516419fc32
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c

  Log Message:
  -----------
  [clang][tests] Add missing FileCheck check, NFC (#135687)


  Commit: 6ba32e8eb203ebabd3fc9fffcea2762500f82e3a
      https://github.com/llvm/llvm-project/commit/6ba32e8eb203ebabd3fc9fffcea2762500f82e3a
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/test/MC/AMDGPU/vinterp.s

  Log Message:
  -----------
  [AMDGPU][MC] test update with script for vinterp asm test (#135681)

This is a NFC patch.

Run test update with script with --unique options for vinterp test. This
reduce duplications. This prepares for the upcoming true16 clean up
patch


  Commit: cc354d6a6da542515fbd6f39dcb9665b7c26a008
      https://github.com/llvm/llvm-project/commit/cc354d6a6da542515fbd6f39dcb9665b7c26a008
  Author: Connector Switch <c8ef at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
    M flang/test/Lower/OpenMP/clause-cleanup.f90
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp

  Log Message:
  -----------
  [NFC] Fix destroy typo. (#135640)


  Commit: e96111d3e9ac67b14cab32925717a62258a2bd60
      https://github.com/llvm/llvm-project/commit/e96111d3e9ac67b14cab32925717a62258a2bd60
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [LV] Remove redundant check. nfc (#135605)

Remove the redundant `!TheLoop->contains(Op->getParent())` check since
`!TheLoop->contains(Op)` has already been verified.


  Commit: 9cdc3aab3eae55be30003cb486f290f3ee3df3a8
      https://github.com/llvm/llvm-project/commit/9cdc3aab3eae55be30003cb486f290f3ee3df3a8
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/Mapper.cpp

  Log Message:
  -----------
  [clang-doc] Use SmartMutex when visiting the AST (#135514)

The SmartMutex will allow us to have a cheap mutex implementation when
using the Standalone executor, since it's single threaded. Performance
should be about the same for AllTUs executor.


  Commit: 5df9658d4009e500be1421231b48b210e8c2cd69
      https://github.com/llvm/llvm-project/commit/5df9658d4009e500be1421231b48b210e8c2cd69
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
    M llvm/test/MC/RISCV/rv32zcmp-invalid.s
    M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
    M llvm/test/MC/RISCV/rv64zcmp-invalid.s

  Log Message:
  -----------
  [RISCV] Refactor register list parsing and improve error messages. (#134938)

Structure the code into a loop that parses a series of ranges and gives
an error when there are too many ranges.

Give errors when ABI and non-ABI names are mixed.

Properly diagnose 'x1-` starting a list.

Use a default bool argument to merge parseRegListCommon and
parseRegList.


  Commit: f4ff209e4384d8073f36fb7da9916b33f1140edf
      https://github.com/llvm/llvm-project/commit/f4ff209e4384d8073f36fb7da9916b33f1140edf
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [Clang] Forward two linker options to `lld` when ThinLTO is enabled for AMDGPU (#135690)


  Commit: a6b424e1e7e6aa83ae49e7e12454998d3b195054
      https://github.com/llvm/llvm-project/commit/a6b424e1e7e6aa83ae49e7e12454998d3b195054
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll

  Log Message:
  -----------
  [RISCV] Extend redundant vrgather.vx peephole to vfmv.v.f (#135503)

Extend the transform introduced in 336b290 to vfmv.v.f. This is fairly
trivial and would have been in the original commit except I hadn't
written the FP tests yet.

If the vrgather.vi is preceeded by a vfmv.v.f which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.


  Commit: 83344da69145a648aad3e0cd88eab4aaf60b2142
      https://github.com/llvm/llvm-project/commit/83344da69145a648aad3e0cd88eab4aaf60b2142
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/CodeGenCXX/local-class-instantiation.cpp

  Log Message:
  -----------
  [Clang] Fix dependent local class instantiation bugs (#134038)

This patch fixes two long-standing bugs that prevent Clang from
instantiating local class members inside a dependent context. These bugs
were introduced in commits 21eb1af469c3 and 919df9d75a.

21eb1af469c3 introduced a concept called eligible methods such that it
did an attempt to skip past ineligible method instantiation when
instantiating class members. Unfortunately, this broke the instantiation
chain for local classes - getTemplateInstantiationPattern() would fail
to find the correct definition pattern if the class was defined within a
partially transformed dependent context.

919df9d75a introduced a separate issue by incorrectly copying the
DeclarationNameInfo during function definition instantiation from the
template pattern, even though that DNI might contain a transformed
TypeSourceInfo. Since that TSI was already updated when the declaration
was instantiated, this led to inconsistencies. As a result, the final
instantiated function could lose track of the transformed declarations,
hence we crash: https://compiler-explorer.com/z/vjvoG76Tf.

This PR corrects them by

1. Removing the bypass logic for method instantiation. The eligible flag
is independent of instantiation and can be updated properly afterward,
so skipping instantiation is unnecessary.

2. Carefully handling TypeSourceInfo by creating a new instance that
preserves the pattern's source location while using the already
transformed type.

Fixes https://github.com/llvm/llvm-project/issues/59734
Fixes https://github.com/llvm/llvm-project/issues/132208


  Commit: f1dd6b3cf8d957f28e06f475c8a652f201fc830b
      https://github.com/llvm/llvm-project/commit/f1dd6b3cf8d957f28e06f475c8a652f201fc830b
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/test/Conversion/TensorToLinalg/tensor-ops-to-linalg.mlir

  Log Message:
  -----------
  [mlir][tensor] Fix `createFillOrGenerateOp` (#121205)

This PR clones the padding value defined inside the PadOp block to
outside to prevent a crash. Fixes #120947.


  Commit: 9ce8356acbe3e79764f4147a0e7cc30e1b759b45
      https://github.com/llvm/llvm-project/commit/9ce8356acbe3e79764f4147a0e7cc30e1b759b45
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ControlFlowIntegrity.rst

  Log Message:
  -----------
  Fix broken link.


  Commit: c3959f22abc62882be6c9df2fe4151c924ac3d9a
      https://github.com/llvm/llvm-project/commit/c3959f22abc62882be6c9df2fe4151c924ac3d9a
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp

  Log Message:
  -----------
  [MachineLICM] Remove CurPreheader parameter that is always nullptr (#135554)

Also, rename `getCurPreheader` -> `getOrCreatePreheader` to make it
clear that this method may alter CFG.

Update `Changed` if the method modified a loop by splitting a critical
edge (this change is not strictly NFC).

The removed parameter was probably intended to save compile time by not
trying to a critical edge after the first attempt has failed, but it is
only tried once per loop.

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


  Commit: 8c22f569b3b19450034832769ef77d5b2ec997d7
      https://github.com/llvm/llvm-project/commit/8c22f569b3b19450034832769ef77d5b2ec997d7
  Author: Matt <mattstark75 at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/test/Modules/safe_buffers_optout.cpp

  Log Message:
  -----------
  [Fix] Speedup -Wunsafe-buffer-usage when using clang modules. (#127161)

Each piece of code should have analysis run on it precisely once.
However, if you build a module, and then build another module depending
on it, the header file of the module you depend on will have
`-Wunsafe-buffer-usage` run on it twice. This normally isn't a huge
issue, but in the case of using the standard library as a module, simply
adding the line `#include <cstddef>` increases compile times by 900ms
(from 100ms to 1 second) on my machine. I believe this is because the
standard library has massive modules, of which only a small part is used
(the AST is ~700k lines), and because if what I've been told is correct,
the AST is lazily generated, and `-Wunsafe-buffer-usage` forces it to be
evaluated every time.

See https://issues.chromium.org/issues/351909443 for details and
benchmarks.


  Commit: 984ec70b61cb57b00e622a21b259aaf11775c5f0
      https://github.com/llvm/llvm-project/commit/984ec70b61cb57b00e622a21b259aaf11775c5f0
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/docs/ControlFlowIntegrity.rst

  Log Message:
  -----------
  Minor documentation update.


  Commit: 1cf9f764ac41fb3492e10c78640dd50e616388db
      https://github.com/llvm/llvm-project/commit/1cf9f764ac41fb3492e10c78640dd50e616388db
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/Frontend/CompilerInstance.cpp

  Log Message:
  -----------
  [clang][frontend] Make `CompilerInstance::FailedModules` thread-safe (#135473)

This PR makes some progress towards making it possible to create clones
of `CompilerInstance` that are independent of each other and can be used
in a multi-threaded setting. This PR tackles
`CompilerInstance::FailedModules`, makes it a value-type instead of a
mutable shared pointer, and adds explicit copies & moves where
appropriate.

Besides that change, this PR also turns two previously free functions
with internal linkage into member functions of `CompilerInstance`, which
makes it possible to reduce the public API of that class that relates to
`FailedModules`. This reduces some API churn that was necessary for each
new member of `CompilerInstance` that needs to be cloned.


  Commit: ab58bcfac43d1bf352d7129b786e9c7f28e81fdf
      https://github.com/llvm/llvm-project/commit/ab58bcfac43d1bf352d7129b786e9c7f28e81fdf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-debuginfo-analyzer/llvm-debuginfo-analyzer.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [tools] Use llvm::append_range (NFC) (#135721)


  Commit: 62ef10a0f62c668e1fa7e357f56052f3364544c5
      https://github.com/llvm/llvm-project/commit/62ef10a0f62c668e1fa7e357f56052f3364544c5
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)

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

Also adds few previously existing permlane64 tests which somehow got
removed in between.


  Commit: eb7f51485e8060a390a36a61a30a6f4332c24aae
      https://github.com/llvm/llvm-project/commit/eb7f51485e8060a390a36a61a30a6f4332c24aae
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
    M mlir/lib/Query/Query.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
    M mlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp

  Log Message:
  -----------
  [mlir] Use llvm::append_range (NFC) (#135722)


  Commit: 01c1c78103d026d0d0007ae7b7d54b36edef1324
      https://github.com/llvm/llvm-project/commit/01c1c78103d026d0d0007ae7b7d54b36edef1324
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

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

  Log Message:
  -----------
  [Scalar] Construct SmallVector with an iterator range (NFC) (#135725)


  Commit: 2538c607e903a1fe0cfcacd5732235cc8ff3adf7
      https://github.com/llvm/llvm-project/commit/2538c607e903a1fe0cfcacd5732235cc8ff3adf7
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp

  Log Message:
  -----------
  [CodeGen] Prune headers and move code out of line for build efficiency, NFC (#135622)

I noticed these destructors taking time with -ftime-trace and moved some
of them for minor build efficiency improvements.

The main impact of moving destructors out of line is that it avoids
requiring container fields containing other types from being complete,
i.e. one can have uptr<T> or vector<T> as a field with an incomplete
type T, and that means we can reduce transitive includes, as with
LegalizerInfo.h.

Move expensive getDebugOperandsForReg template out-of-line. The
std::function instantiation shows up in time trace even if you don't use
the function.


  Commit: f46cea5b42ed4d05fd11dc1e693ddc6153769cde
      https://github.com/llvm/llvm-project/commit/f46cea5b42ed4d05fd11dc1e693ddc6153769cde
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll

  Log Message:
  -----------
  Revert "[AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)"

This reverts commit 62ef10a0f62c668e1fa7e357f56052f3364544c5.

Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132358


  Commit: a388395b869ada3a4d104aa9963fa233b45522ea
      https://github.com/llvm/llvm-project/commit/a388395b869ada3a4d104aa9963fa233b45522ea
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/StackFrameLayoutAnalysisPass.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [CodeGen][NPM] Port StackFrameLayoutAnalysisPass to NPM (#130070)


  Commit: fceb9cecdf6264eb773ee826b72a51a9ec68ec74
      https://github.com/llvm/llvm-project/commit/fceb9cecdf6264eb773ee826b72a51a9ec68ec74
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/InternalsManual.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/C/C11/n1285.c
    M clang/test/CodeGenCXX/sections.cpp
    A clang/test/FixIt/fixit-bool.cpp
    M clang/test/Modules/odr_hash.cpp
    M clang/test/OpenMP/declare_variant_messages.c
    M clang/test/OpenMP/declare_variant_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/distribute_simd_linear_messages.cpp
    M clang/test/OpenMP/for_linear_messages.cpp
    M clang/test/OpenMP/for_simd_linear_messages.cpp
    M clang/test/OpenMP/for_simd_misc_messages.c
    M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_misc_messages.c
    M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/simd_linear_messages.cpp
    M clang/test/OpenMP/simd_misc_messages.c
    M clang/test/OpenMP/target_parallel_for_linear_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/target_simd_linear_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
    M clang/test/OpenMP/task_affinity_messages.cpp
    M clang/test/OpenMP/task_depend_messages.cpp
    M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
    M clang/test/Sema/code_align.c
    M clang/test/Sema/warn-int-in-bool-context.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/warn-dangling-local.cpp
    M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
    M clang/test/SemaHLSL/Language/OutputParameters.hlsl
    M clang/test/SemaHLSL/parameter_modifiers.hlsl
    M clang/test/SemaOpenCL/to_addr_builtin.cl
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp

  Log Message:
  -----------
  [clang] consistently quote expressions in diagnostics (#134769)


  Commit: 17b4cacbd48b75a6a4c9dfe687dd39f5e88189c3
      https://github.com/llvm/llvm-project/commit/17b4cacbd48b75a6a4c9dfe687dd39f5e88189c3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/X86/pr134602.ll

  Log Message:
  -----------
  [DAG] isSplatValue - only treat binop splats shared undef elements as undef (#135597)

#134602 demonstrated an issue where an AND node always had at least one demanded UNDEF element in either operand, and incorrectly reported this an all-undef result - despite the other element being 0 (so would correctly fold to 0).

This fix only assumes a binops splats element is undefined if both operands are undef.

Fixes #134602


  Commit: 0f526498a1b0819055d1094fd9850fdbcab5b903
      https://github.com/llvm/llvm-project/commit/0f526498a1b0819055d1094fd9850fdbcab5b903
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/FileEntry.h
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Lex/PPDirectives.cpp
    A clang/test/Preprocessor/embed-reject-device-files-lin.c
    A clang/test/Preprocessor/embed-reject-device-files-win.c

  Log Message:
  -----------
  [clang] Reject character devices in #embed for now (#135370)

See https://github.com/llvm/llvm-project/issues/126629 . Right now they
are not supported properly and support requires modifying several layers
of LLVM. For now simply reject them while proper support is being
developed to avoid potential security problems.


  Commit: 06da00ae2d116bb2c4063b124429c2d29eb69d87
      https://github.com/llvm/llvm-project/commit/06da00ae2d116bb2c4063b124429c2d29eb69d87
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/CodeGen/arm-target-features.c
    M clang/test/Driver/print-supported-extensions-arm.c
    M clang/test/Preprocessor/arm-target-features.c
    M llvm/include/llvm/TargetParser/ARMTargetParser.def
    M llvm/include/llvm/TargetParser/ARMTargetParser.h
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
    M llvm/lib/TargetParser/ARMTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [ARM][Clang] Make `+nosimd` functional for AArch32 Targets (#130623)

`+simd` and `+nosimd` are used to enable or disable NEON Instructions
when compiling for ARM Targets. However, up until now, using these
has not been possible. To enable this, these options are mapped to the
relevant LLVM backend option (`+neon` and `-neon`) so it can be both
enabled and disabled successfully by the user.

Tests have been added to ensure this behaviour is maintained in the
future, along with updates to existing tests as behaviour has now changed
relating to the use of `+simd` and `+nosimd`.

As `simd` has been mapped within the ARMTargetParser.def, support for
this extension is also added for the `--print-support-extensions` command
when the target is AArch32. This will print the `simd` option, along with the
description that relates to the Neon feature. This previously was not
possible as `simd` did not have a related Feature or Negative Feature.

To make this functional as intended, MVE and MVE.FP now rely on their
own Enum identifier, rather than `AEK_SIMD`. While SIMD does refer to
both Neon and Helium technologies, in terms of command line options,
SIMD relates to Neon. Helium relates to MVE and MVE.FP. The Enum
now reflects this too.


  Commit: ccbbb1722fc4b53a75dda59b613d7aea0a47b506
      https://github.com/llvm/llvm-project/commit/ccbbb1722fc4b53a75dda59b613d7aea0a47b506
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlowFramework.h
    M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
    M mlir/lib/Analysis/DataFlowFramework.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp

  Log Message:
  -----------
  [mlir] [dataflow] : Improve the time and space footprint of data flow. (#135325)

MLIR's data flow analysis (especially dense data flow analysis)
constructs a lattice at every lattice anchor (which, for dense data
flow, means every program point). As the program grows larger, the time
and space complexity can become unmanageable.

However, in many programs, the lattice values at numerous lattice
anchors are actually identical. We can leverage this observation to
improve the complexity of data flow analysis. This patch introducing
equivalence lattice anchor to group lattice anchors that must contains
identical lattice on certain state to improve the time and space
footprint of data flow.


  Commit: 3266f9c3d6ae07289d0253d1efeb3d951830105c
      https://github.com/llvm/llvm-project/commit/3266f9c3d6ae07289d0253d1efeb3d951830105c
  Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/docs/Traits/_index.md
    M mlir/include/mlir/IR/BuiltinAttributeInterfaces.td
    M mlir/lib/IR/SymbolTable.cpp

  Log Message:
  -----------
  [MLIR] Documentation updates and typo fixes (#125273)


  Commit: 440ae4be5be421a54b82f60899c1bc17d7fbc0c3
      https://github.com/llvm/llvm-project/commit/440ae4be5be421a54b82f60899c1bc17d7fbc0c3
  Author: Kristof Beyls <kristof.beyls at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/docs/CodeOfConduct.rst

  Log Message:
  -----------
  [doc][CoC] Update committee members list (#135594)

The list of Code of Conduct committee member names was out of date. This
updates it, and orders them alphabetically by last name.


  Commit: 17ac7e0e844331d6c4530a678e41ed109766947e
      https://github.com/llvm/llvm-project/commit/17ac7e0e844331d6c4530a678e41ed109766947e
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/test/CodeGen/X86/lea-8bit.ll

  Log Message:
  -----------
  [X86][APX] Fix a typo in LEA suffix (#135734)

Found during reviewing #135632


  Commit: 1ee8fe810fab9f660b72585a782a449c8f83d8e6
      https://github.com/llvm/llvm-project/commit/1ee8fe810fab9f660b72585a782a449c8f83d8e6
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/test/Driver/mips-abi.c

  Log Message:
  -----------
  [Mips] Fix clang compile error when -march=p5600 with -mmsa (#132679)

When -march=p5600 with -mmsa, the result of getISARev is 0, so report
error. Append p5600 to cases mips32r5.

Fix #91948.


  Commit: b4017d814217160fa776ca05afc711770a13ac13
      https://github.com/llvm/llvm-project/commit/b4017d814217160fa776ca05afc711770a13ac13
  Author: David Green <david.green at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/AArch64/neon-extmul.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Improve MULL generation (#112405)

This splits the existing post-legalize lowering of vector umull/smull
into two parts - one to perform the optimization of mul(ext,ext) -> mull
and one to perform the v2i64 mul scalarization. The mull part is moved
to post legalizer combine and has been taught a few extra tricks from
SDAG, using known bits to convert mul(sext, zext) or mul(zext,
zero-upper-bits) into umull. This can be important to prevent v2i64
scalarization of muls.


  Commit: 5307040473d9b4d78a9031fb072c1261275aa87e
      https://github.com/llvm/llvm-project/commit/5307040473d9b4d78a9031fb072c1261275aa87e
  Author: Iris <0.0 at owo.li>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [NFC] Fix auto* warning (#135765)


  Commit: 0f86e2395e4f22bf3cb05e38be05b90575066829
      https://github.com/llvm/llvm-project/commit/0f86e2395e4f22bf3cb05e38be05b90575066829
  Author: Miguel Saldivar <miguel.saldivar at hpe.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    A flang/test/HLFIR/minval-maxval-issue-134308.fir

  Log Message:
  -----------
  [flang] Avoid optimizing min and max if not valid type (#134972)

In `makeMinMaxInitValGenerator` it explicitly checks for only
`FloatType` and `IntegerType`, so we shouldn't match if we don't have
either of those types.

Fix for #134308


  Commit: e65faed187485db3638aa6415f7e9df053623dcf
      https://github.com/llvm/llvm-project/commit/e65faed187485db3638aa6415f7e9df053623dcf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

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

This patch fixes:

  lib/Target/AArch64/AArch64GenPostLegalizeGILowering.inc:570:42:
  error: unused variable 'GIMatchData_matchinfo'
  [-Werror,-Wunused-variable]


  Commit: 96e38766118c62ed42ddedd4642284cdca12904e
      https://github.com/llvm/llvm-project/commit/96e38766118c62ed42ddedd4642284cdca12904e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp

  Log Message:
  -----------
  [AsmPrinter] Migrate away from PointerUnion::dyn_cast (NFC) (#135740)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

We use dyn_cast_if_present here because Bound can be null.


  Commit: 00eaff3e9c897c263a879416d0f151d7ca7eeaff
      https://github.com/llvm/llvm-project/commit/00eaff3e9c897c263a879416d0f151d7ca7eeaff
  Author: Andrei Golubev <andrey.golubev at intel.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
    A mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.td
    M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    A mlir/test/Dialect/Bufferization/Transforms/tensorlike-bufferlike.mlir
    M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
    A mlir/test/lib/Dialect/Bufferization/TestTensorLikeAndBufferLike.cpp
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestTypeDefs.td
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir][bufferization] Add tensor-like and buffer-like interfaces (#134220)

Current one-shot bufferization infrastructure operates on top of
TensorType and BaseMemRefType. These are non-extensible base classes of
the respective builtins: tensor and memref. Thus, the infrastructure is
bound to work only with builtin tensor/memref types. At the same time,
there are customization points that allow one to provide custom logic to
control the bufferization behavior.

This patch introduces new type interfaces: tensor-like and buffer-like
that aim to supersede TensorType/BaseMemRefType within the bufferization
dialect and allow custom tensors / memrefs to be used. Additionally,
these new type interfaces are attached to the respective builtin types
so that the switch is seamless.

Note that this patch does very minimal initial work, it does NOT
refactor bufferization infrastructure.

See https://discourse.llvm.org/t/rfc-changing-base-types-for-tensors-and-memrefs-from-c-base-classes-to-type-interfaces/85509


  Commit: 81499edb30665d377a680990ef3c5129f9b54261
      https://github.com/llvm/llvm-project/commit/81499edb30665d377a680990ef3c5129f9b54261
  Author: Vy Nguyen <vyng at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [NFC][lldb]Fix stack-use-after-free bugs in exit-callbacks. (#135763)


  Commit: 03b0f55d9c6319a851a60bb084faca0e32a38f2b
      https://github.com/llvm/llvm-project/commit/03b0f55d9c6319a851a60bb084faca0e32a38f2b
  Author: Brian Cody <brian.j.cody at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/libclang.map

  Log Message:
  -----------
  [cindex] Add support for calling getFullyQualifiedName to the Python binding. (#135420)

We're coming from llvm 11. There was a change made back in 15f3cd6 that
changed how type spelling works. Previous we were given namespaces of
the types within the spelling, and this was necessary in our use-case.
There is a more appropriate function available but it was not being
exposed over the Python bindings. This PR is intended to make make this
already-existing functionality accessible.

---------

Co-authored-by: Jannick Kremer <jannick.kremer at mailbox.org>


  Commit: 7eae1a4d1fd84e87eb31ea263d0df838cce8fa1b
      https://github.com/llvm/llvm-project/commit/7eae1a4d1fd84e87eb31ea263d0df838cce8fa1b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github][CI] Name premerge artifacts per OS

This patch renames premerge artifacts per OS. Without this, the premerge
artifacts will conflict with each other and the slower running job will
fail to upload the artifact.


  Commit: 38faf32d23d1edb7708711d0f9e0db853ddf75a5
      https://github.com/llvm/llvm-project/commit/38faf32d23d1edb7708711d0f9e0db853ddf75a5
  Author: alekuz01 <aleksei.kuzmenko at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M bolt/CMakeLists.txt
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/runtime/common.h
    M bolt/runtime/hugify.cpp
    A bolt/test/runtime/Inputs/user_func_order.txt
    R bolt/test/runtime/X86/Inputs/user_func_order.txt
    R bolt/test/runtime/X86/hugify.c
    R bolt/test/runtime/X86/user-func-reorder.c
    A bolt/test/runtime/hugify.c
    A bolt/test/runtime/user-func-reorder.c

  Log Message:
  -----------
  [BOLT] Enable hugify for AArch64 (#117158)

Add required hugify instrumentation and runtime libraries support for AArch64.
Fixes #58226
Unblocks #62695


  Commit: 9a6c001b125d7d37b8f2c8b96461768c797c4e3f
      https://github.com/llvm/llvm-project/commit/9a6c001b125d7d37b8f2c8b96461768c797c4e3f
  Author: YLChenZ <chentongyongcz at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/AST/ast-dump-APValue-lvalue.cpp

  Log Message:
  -----------
  [clang][ast]: Add DynamicAllocLValue and TypeInfoLValue support to APValue::dump(). (#135178)

Closes #134996.
The crash about `TypeInfoLValue` is https://godbolt.org/z/73WY31s55. 
After the patch:
```cpp
//test.cpp
#include <typeinfo>
constexpr const std::type_info* val = &typeid(int);
```
```
lambda at ubuntu22:~/test$ clang++ -std=c++20 -Xclang -ast-dump -fsyntax-only test.cpp
LValue Base=TypeInfoLValue typeid(int), Null=0, Offset=0, HasPath=1, PathLength=0, Path=()
```

```cpp
//DAtest.cpp
constexpr int *m = new int(42);
```
```
lambda at ubuntu22:~/test$ clang++ -std=c++20 -Xclang -ast-dump -fsyntax-only DAtest.cpp
LValue Base=DynamicAllocLValue 'int', Null=0, Offset=0, HasPath=1, PathLength=0, Path=()
```


  Commit: 595cc960b6da7f55d64d2025abb67a9aabb01a85
      https://github.com/llvm/llvm-project/commit/595cc960b6da7f55d64d2025abb67a9aabb01a85
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
    A flang/test/Fir/target-rewrite-fmfs.fir
    M flang/test/Fir/target-rewrite-selective.fir

  Log Message:
  -----------
  [flang] Propagate fast-math flags in target-rewrite (#135723)

TargetRewritePass was dropping fast-math flags. Add the flags to the new
call ops and update tests.


  Commit: ddfd81bb76c05b095c8eca7a45f71547c3df2a89
      https://github.com/llvm/llvm-project/commit/ddfd81bb76c05b095c8eca7a45f71547c3df2a89
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LoopVersioning.h
    M llvm/lib/Transforms/Utils/LoopVersioning.cpp

  Log Message:
  -----------
  [LoopVer] Add function to get the alias_scope/noalias metadata (NFC).

Split out logic to get noalias/alias_scope metadata to separate function
in LoopVersioning. This will be used to migrate away from
annotateInstWithNoAlias in LV.


  Commit: e1382b3b459d39659694ee854073bbdb1aa1d98d
      https://github.com/llvm/llvm-project/commit/e1382b3b459d39659694ee854073bbdb1aa1d98d
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    R llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    R llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  Revert "[SLP] Make getSameOpcode support interchangeable instructions. (#133888)"

This reverts commit 123993fd974629ca0a094918db4c21ad1c2624d0.


  Commit: 535eaa4f3be5dda5cf3aa13348aac8d9a27d20f0
      https://github.com/llvm/llvm-project/commit/535eaa4f3be5dda5cf3aa13348aac8d9a27d20f0
  Author: earnol <earnol at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h

  Log Message:
  -----------
  [clang][test] Improve unit tests for Fixed point AST matchers. (#134398)

We have AST matchers for fixed point float numbers since commits
789215dc0db174c9fdd273436fdd60d8289a9fc0 and
ff9120636e9c890b4db735d252d16b92091dde55. However in those commits the
unit tests were not added. Amending the test suit by adding missing
tests.

Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>


  Commit: 72560e7b0d3ab30da362eccc6a7586663690fab6
      https://github.com/llvm/llvm-project/commit/72560e7b0d3ab30da362eccc6a7586663690fab6
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/test/MC/AMDGPU/bf16_imm.s
    M llvm/test/MC/AMDGPU/gfx11-promotions.s
    M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vinterp_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_features.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s

  Log Message:
  -----------
  [AMDGPU][MC] test update with script for gfx11/gfx12 mc test (#135527)

This is a NFC patch.

Run test update with script with --unique options for many gfx11/gfx12
mc test. This format files. This prepares for the upcoming true16 clean
up patch


  Commit: bf3b3d012c6b6b4369ac76e467f7fc78ee5aaca8
      https://github.com/llvm/llvm-project/commit/bf3b3d012c6b6b4369ac76e467f7fc78ee5aaca8
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp

  Log Message:
  -----------
  [mlir][GPU] Don't look into neighboring functions for barrier elimination (#135293)

If a `func.func` is nested in some other operation, the barrier
eliminator's recursion into parents will examine the neighbors of each
function. Therefore, don't recurse into the parent of an operation if
that operation is IsolatedFromAbove, like a func.func is.

Furthermore, define functions as a region that executes only once,
since, within the context of this pass (which runs on functions) it is
true.


  Commit: 7f2587a23919c841584dce345ca42b9802410281
      https://github.com/llvm/llvm-project/commit/7f2587a23919c841584dce345ca42b9802410281
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/smin-reduction-unsigned-missing-sign.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with missing zext on signed minimum reduction, NFC


  Commit: 552902455c7a3958930d4607ac8b85fd39d7c8a3
      https://github.com/llvm/llvm-project/commit/552902455c7a3958930d4607ac8b85fd39d7c8a3
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A libclc/clc/include/clc/integer/clc_ctz.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/integer/clc_ctz.cl
    M libclc/generic/include/clc/clc.h
    A libclc/generic/include/clc/integer/ctz.h
    M libclc/generic/lib/SOURCES
    A libclc/generic/lib/integer/ctz.cl

  Log Message:
  -----------
  [libclc] Add ctz built-in implementation to clc and generic (#135309)


  Commit: 57025b42c43b2f14f7e58692bc19cd53d1b8a45e
      https://github.com/llvm/llvm-project/commit/57025b42c43b2f14f7e58692bc19cd53d1b8a45e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/smin-reduction-unsigned-missing-sign.ll

  Log Message:
  -----------
  [SLP]Mark smin reduction as signed compare

Reduction signed min must be marked as signed compare, fixing the
analysis for the cases, where the incoming arguments are unsigned.

Fixes #133943


  Commit: 478065882303823623e1bc2d62b2a98097f9f53d
      https://github.com/llvm/llvm-project/commit/478065882303823623e1bc2d62b2a98097f9f53d
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [NFC][TableGen] DecoderEmitter optimize scope stack in `Filter::emitTableEntry`  (#135693)

- Create a new stack scope only in the fallthrough case.
- For the non-fallthrough cases, any fixup entries will naturally be
added to the existing scope without needing to copy them manually.
- Verified that the generated `GenDisassembler` files are identical with
and without this change.


  Commit: f215a61891b0368d2d7e329bc994c9053dc3fac9
      https://github.com/llvm/llvm-project/commit/f215a61891b0368d2d7e329bc994c9053dc3fac9
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [mlir][linalg][vector] Refine create{Read|Write}OrMasked{Read|Write} (nfc) (#135350)

The semantics of `createReadOrMaskedRead` and `createWriteOrMaskedWrite`
are currently a bit inconsistent and not fully documented:

* The input vector sizes are passed as `readShape` and
  `inputVectorSizes`, respectively — inconsistent naming.

* Currently, the input vector sizes in `createWriteOrMaskedWrite` are
  not required to be complete: any missing trailing sizes are inferred
  from the destination tensor. This only works when the destination
  tensor is statically shaped.

* Unlike `createReadOrMaskedRead`, the documentation for
  `createWriteOrMaskedWrite` does not specify that write offsets are
  hard-coded to 0.

This PR only updates the documentation and unifies the naming. As such,
it is NFC.

A follow-up PR will generalize and unify the implementation to support,
for example, dynamically shaped destination tensors — a requirement for
enabling scalable vectorization of `linalg.pack` and `linalg.unpack`.


  Commit: 9ab2dea61eee82faae8b85c99e889026e8b4f2c1
      https://github.com/llvm/llvm-project/commit/9ab2dea61eee82faae8b85c99e889026e8b4f2c1
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp
    M mlir/test/Dialect/Math/algebraic-simplification.mlir

  Log Message:
  -----------
  [mlir][math] powi with negative exponent should invert at the end (#135735)

Previously, an FPowI operation would invert the base *before* performing
a sequence of multiplications, but this led to discrepancies between
LLVM pow intrinsic folding and that coming from the math dialect.

See compiler-rt's version, which does the inverse at the end of the
calculation: compiler-rt/lib/builtins/powidf2.c


  Commit: bcfc9f452983f9b0b14f2cda8f4d212a0821c972
      https://github.com/llvm/llvm-project/commit/bcfc9f452983f9b0b14f2cda8f4d212a0821c972
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
    A llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll

  Log Message:
  -----------
  [SLP][REVEC] VectorValuesAndScales should be supported by REVEC. (#135762)

We should align REVEC with the SLP algorithm as closely as possible. For
example, by applying REVEC-specific handling when calling IRBuilder's
Create methods, performing cost analysis via TTI, and expanding shuffle
masks using transformScalarShuffleIndicesToVector.

reference commit: 3b18d47ecbaba4e519ebf0d1bc134a404a56a9da


  Commit: 637f352c3edc207f6f79c16f4760d218904fb9f7
      https://github.com/llvm/llvm-project/commit/637f352c3edc207f6f79c16f4760d218904fb9f7
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/cmp.ll
    M llvm/test/Analysis/CostModel/AArch64/vector-select.ll

  Log Message:
  -----------
  [NFC][CostModel][AArch64] Add bf16 coverage for compare tests.


  Commit: d0e4af8a88dc7a0377677000d0c92104ff215347
      https://github.com/llvm/llvm-project/commit/d0e4af8a88dc7a0377677000d0c92104ff215347
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCast.cpp
    A clang/test/Sema/warn-cast-function-type-win.c

  Log Message:
  -----------
  Silence -Wcast-function-type warnings on idiomatic Windows code (#135660)

On Windows, GetProcAddress() is the API used to dynamically load
function pointers (similar to dlsym on Linux). This API returns a
function pointer (a typedef named FARPROC), which means that casting
from the call to the eventual correct type is technically a function
type mismatch on the cast. However, because this is idiomatic code on
Windows, we should accept it unless -Wcast-function-type-strict is
passed.

This was brought up in post-commit review feedback on
https://github.com/llvm/llvm-project/pull/86131


  Commit: 88b6229dc3f65876b3f627616a024cd5dbcadcb0
      https://github.com/llvm/llvm-project/commit/88b6229dc3f65876b3f627616a024cd5dbcadcb0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [TableGen] Remove unhelpful error messages from PseudoLoweringEmitter. (#135747)

All of the notes using the location of ResultInst will just print the
location inside of the PseudoInstExpansion class.

There was one note using the location of DI->getDef(), but knowing where
one of the two mismatched types is defined isn't helpful. The operand
types need to be the same, so the mismatch message we already printed
should be enough.


  Commit: 7b5a459611212b650e863c0ad6a9fa49c07e29df
      https://github.com/llvm/llvm-project/commit/7b5a459611212b650e863c0ad6a9fa49c07e29df
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
    M llvm/test/MC/RISCV/target-abi-invalid.s

  Log Message:
  -----------
  [RISCV] Just reporting an error shouldn't generate a crash diagnostic (#134040)

Wanting to examine some of generated code, I tried MCA with the command:
~~~bash
llvm-mca -mtriple=riscv32-unknown-unknown -mcpu=rocket -iterations=300
core_list_join.s
~~~
I was greeted with the following error message:
~~~
LLVM ERROR: RV32 target requires an RV32 CPU
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/ and include the crash
backtrace.
Stack dump:
…
~~~
On beginning to investigate the “bug”, I discovered that the code was
simply attempting to report a user error. It used report_fatal_error()
to do so but with the “bool GenCrashDiag” argument enabled (the
default). This tiny change adds a wrapper function which calls
report_fatal_error() as before but with GenCrashDiag disabled.


  Commit: a399c6926a8701083c767cbb041e22ff92e9d717
      https://github.com/llvm/llvm-project/commit/a399c6926a8701083c767cbb041e22ff92e9d717
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/monolithic-linux.sh
    M lldb/test/requirements.txt

  Log Message:
  -----------
  [CI] monolithic-linux improvements (#135499)

Some improvements to monolithic-linux CI:

1) Add correct configuration and dependencies for LLDB testing which
   is actually relevant for clang changes.
2) Skip clang installation and separate configuration for runtimes.
   They will be built with the just built clang either way.
   This avoids building the runtimes twice when LLDB is also tested.
3) Make sure any generated clang reproducers end up as artifacts.
4) Set up llvm-symbolizer environment variable so that its preferred
over
any symbolizer just built, as it can be much slower when built for
debugging.
5) Add all projects as dependencies of `.ci`, to make sure everything is
   tested when it changes.


  Commit: 289baf1f42c8b5773271b611cd235d4ab94bb4e8
      https://github.com/llvm/llvm-project/commit/289baf1f42c8b5773271b611cd235d4ab94bb4e8
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [clang][AST] Handle implicit first argument in CallExpr::getBeginLoc() (#135757)

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


  Commit: d41e517748e2dbb51e27bed217f3dd7a4c4fb86f
      https://github.com/llvm/llvm-project/commit/d41e517748e2dbb51e27bed217f3dd7a4c4fb86f
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    A llvm/test/Transforms/SLPVectorizer/bbi-106161.ll
    A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  [SLP] Make getSameOpcode support interchangeable instructions. (#135797)

We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.

---------

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


  Commit: c8121b99a99fe1785add732aa062039b7c5fdd32
      https://github.com/llvm/llvm-project/commit/c8121b99a99fe1785add732aa062039b7c5fdd32
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqcilb-invalid.s
    M llvm/test/MC/RISCV/xqcilb-relocations.s

  Log Message:
  -----------
  [RISCV] Xqcilb: remove RISCVMCExpr::VK_QC_E_JUMP_PLT and drop `@plt` parsing

Follow-up to the just landed #135044 . Remove `@plt` parsing (only
needed by legacy `call foo at plt`). MCParser's `@` parsing is problematic.
Supporting target variations like (`foo+2 at plt foo at plt+2 (foo+2)@plt`)
involves messy hacks. We should refrain from adding new `@` uses.

Remove unneeded `RISCVMCExpr::VK_QC_E_JUMP_PLT` (should only be used
when an instruction might have multiple reasonable relocations
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers).

---

GCC's initial initial RISC-V port made a mistake by having both `call
foo` (non-PIC) and `call foo at plt` (PIC), likely misled by x86/SystemZ.
It was determined that the `@plt` was not needed. Since R_RISCV_CALL had
questionable undefined weak semantics in GNU ld (which has been removed
then), we kept R_RISCV_CALL_PLT and deprecated R_RISCV_CALL.

For RISC-V instructions, we only keep `@` in call/jump for backward
compatibility and discourage it for all other instructions.

(
There is disagreement about whether `PLT` in `JUMP_PLT` is useful or
misleading.
MaskRay's opnion: For new branch relocations with procedure call
semantics, use `_CALL` and avoid `_PLT` in the relocation name.
`_PLT` should only be used in data directives (e.g. R_RISCV_PLT32) to
indicate that the address of a function is not significant.
)

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


  Commit: 98534eee847dfa80ff88b213a628a6149f8754d9
      https://github.com/llvm/llvm-project/commit/98534eee847dfa80ff88b213a628a6149f8754d9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [mlir] Migrate away from PointerUnion::dyn_cast (NFC) (#135770)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we have a call to dyn_cast earlier in the function, implying
that attrOrProp is nonnull.


  Commit: ece10a64cb180ba931b60cbd939d80412973eada
      https://github.com/llvm/llvm-project/commit/ece10a64cb180ba931b60cbd939d80412973eada
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Sema/attr-decl-after-definition-std.c

  Log Message:
  -----------
  Allow some attributes on declarations after definitions (#135791)

The deprecated, maybe_unused, and nodiscard standard attributes may all
be applied to a redeclaration after a definition has already appeared.
We were previously dropping the attribute in that case, now we retain
the attribute after the redeclaration.

Note: someday we may want to tablegen this as part of information from
Attr.td. We may also want to relax the restriction here so that the
syntax used does not matter. This is an intentionally conservative fix.

Fixes #135481


  Commit: a9553990fb6de8b4d99d05c95fe949deef6357e1
      https://github.com/llvm/llvm-project/commit/a9553990fb6de8b4d99d05c95fe949deef6357e1
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
    R llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.exe
    R llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.o

  Log Message:
  -----------
  [DWARFLinker] Update `stmt-seq-macho.test` to use `update_test_body.py` (#133363)

In this change we update DWARFLinker test
`llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test` to be self-contained
and easy to regenerate via `update_test_body.py`. As relating to [this
comment](https://github.com/llvm/llvm-project/pull/132875/files#r2012471834)
- this would be approach nr.2

Updating the test can be done via:
```
PATH=/path/to/llvm/bin:$PATH llvm/utils/update_test_body.py llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
```


  Commit: 40050888a11a92a2fbf4da5dda5956ca9ecb6b55
      https://github.com/llvm/llvm-project/commit/40050888a11a92a2fbf4da5dda5956ca9ecb6b55
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp

  Log Message:
  -----------
  [clang][depscan] Centralize logic for populating StableDirs, NFC (#135704)

Pass a reference to `StableDirs` when creating ModuleDepCollector. This
avoids needing to create one from the same ScanInstance for each call to
`handleTopLevelModule` & reduces the amount of potential downstream
changes needed for handling StableDirs.


  Commit: 3192ecfa89a48b5f56ff36956abe7e84327ced5d
      https://github.com/llvm/llvm-project/commit/3192ecfa89a48b5f56ff36956abe7e84327ced5d
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/member-access.c

  Log Message:
  -----------
  [CodeComplete] Don't drop ArrayToPointerDecay when doing member completion (#134951)

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

rdar://138851576


  Commit: 1545f1139127b92be15fcd2964114028a2d07194
      https://github.com/llvm/llvm-project/commit/1545f1139127b92be15fcd2964114028a2d07194
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h

  Log Message:
  -----------
  [NFC][NVPTX] Use StringRef for Modifier arg in NVPTXInstPrinter (#135793)

- Use StringRef type for Modifier instead of const char *.
- Remove Modifier arg from functions that do not need them.


  Commit: 68383fc20880f2d6ec6618d8870cd89e727bdc19
      https://github.com/llvm/llvm-project/commit/68383fc20880f2d6ec6618d8870cd89e727bdc19
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp

  Log Message:
  -----------
  [NFC][clang-tidy] Remove {{^}} clauses in some tests (1/N) (#134737)

`check_clang_tidy` now matches full lines only, so `{{^}}` clauses are
no longer necessary.

I am splitting those changes over multiple PRs to make review easier.
Numbering them but the actual order doesn't matter.


  Commit: 7a41761407c485d18b7d48232b308556b3b43934
      https://github.com/llvm/llvm-project/commit/7a41761407c485d18b7d48232b308556b3b43934
  Author: Wanyi <wanyi at meta.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/source/API/SBProcess.cpp
    M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h

  Log Message:
  -----------
  [lldb] Make SBProcess thread related actions listen to StopLocker (#134339)

# Summary

This PR updates `SBProcess::GetNumThreads()` and
`SBProcess::GetThreadAtIndex()` to listen to the stop locker.
`SBProcess::GetNumThreads()` will return 0 if the process is running.

## Problem Description

Recently upon debugging a program with thousands of threads in VS Code,
lldb-dap would hang at a `threads` request sent right after receiving
the `configurationDone` response. Soon after it will end the debug
session with the following error
```
Process <pid> exited with status = -1 (0xffffffff) lost connection
```

This is because LLDB is still in the middle of resuming all the threads.
And requesting threads will end up interrupt the process on Linux. From
the gdb-remote log it ended up getting `lldb::StateType::eStateInvalid`
and just exit with status -1.

I don't think it's reasonable to allow getting threads from a running
process. There are a few approaches to fix this:
1) Send the stopped event to IDE after `configurationDone`. This aligns
with the CLI behavior.
2) However, the above approach will break the existing user facing
behavior. The alternative will be reject the `threads` request if the
process is not stopped.
3) Improve the run lock. This is a synchronize issue where process was
in the middle of resuming while lldb-dap attempts to interrupt it.

**This PR implements the option 3**

## HOWEVER

This fixed the "lost connection" issue below but new issue has surfaced.
>From testing, and also from checking the [VSCode source
code](https://github.com/microsoft/vscode/blob/174af221c9ea2ccdb64abe4aab8e1a805e77beae/src/vs/workbench/contrib/debug/browser/debugSession.ts#L791),
it expects having threadID to perform `pause`. So after attaching,
without any threads reported to the client, the user will not be able to
pause the attached process. `setBreakpoint` will still work and once we
make a stop at the bp (or any stop that will report threads, client can
perform pause again.

## NEXT
1) Made an attempt to return initial thread list so that VSCode can
pause (second commit in the PR)
2) Investigate why threads will trigger unwinding the second frame of a
thread, which leads to sending the interrupt
3) Decided if we want to support `stopOnEntry` for attaching, given
  i. This is not an official specification
ii. If enable stopOnEntry, we need to fix attaching on Linux, to send
only one stopped event. Currently, all threads upon attaching will have
stop reason `SIGSTOP` and lldb-dap will send `stopped` event for each
one of them. Every `stopped` will trigger the client request for
threads.
iii. Alternatively, we can support auto continue correspond to `(lldb)
process attach --continue`. This require the ii above.


### Additionally

lldb-dap will not send a `continued` event after `configurationDone`
because it checks `dap.focus_tid == LLDB_INVALID_THREAD_ID` (so that we
don't send it for `launch` request). Notice `dap.focus_tid` will only
get assigned when handling stop or stepping.

According to DAP

> Please note: a debug adapter is not expected to send this event in
response to a request that implies that execution continues, e.g. launch
or continue.
It is only necessary to send a continued event if there was no previous
request that implied this.

So I guess we are not violating DAP if we don't send `continued` event.
But I'd like to get some sense about this.


## Test Plan
Used following program for testing:
https://gist.github.com/kusmour/1729d2e07b7b1063897db77de194e47d
**NOTE: Utilize stdin to get pid and attach AFTER hitting enter. Attach
should happen when all the threads start running.**

DAP messages before the change
<img width="1165" alt="image"
src="https://github.com/user-attachments/assets/a9ad85fb-81ce-419c-95e5-612639905c66"
/>

DAP message after the change - report zero threads after attaching
<img width="1165" alt="image"
src="https://github.com/user-attachments/assets/a1179e18-6844-437a-938c-0383702294cd"
/>

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: 9b13d345303d819bb83de7ebbeb826d704add0bc
      https://github.com/llvm/llvm-project/commit/9b13d345303d819bb83de7ebbeb826d704add0bc
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl

  Log Message:
  -----------
  [libc][bazel] Remove a no-op libc_internal_target macro. (#135818)

This macro is a no-op after 90c001ac9e1d92a1a95d191d1640ab5337a937e5:
libc_function macro now produce a "regular" cc_library target, without
modifying its name, and this target is intended to only be used in
tests.

Thus, libc_internal_target macro is no longer needed, and we can safely
treat libc_function rules and libc_support_library rules identically for
test purposes.

`libc_function_deps` attribute of a `libc_test` macro can also be
cleaned up, but I plan to do this in a subsequent change.


  Commit: 3b9103044361094a8fde16a877f2e8cb0f96ce24
      https://github.com/llvm/llvm-project/commit/3b9103044361094a8fde16a877f2e8cb0f96ce24
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/docs/InterfaceExportAnnotations.rst
    M llvm/docs/Reference.rst

  Log Message:
  -----------
  [llvm] add documentation for public interface annotations (LLVM_ABI, etc)

## Purpose
Add documentation for the existing family of `LLVM_ABI` annotation
macros defined in llvm/Support/Compiler.h. These annotations are used to
describe LLVM's public interface.

## Background
This documentation is in support of the annotation effort described
[here](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307/).

## Validation
Manually inspected rendered ReST document on GitHub.

Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>


  Commit: 30d13e359190f7a0e2122292ec4a4fc1a6c71acc
      https://github.com/llvm/llvm-project/commit/30d13e359190f7a0e2122292ec4a4fc1a6c71acc
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/test/CIR/CodeGen/array.cpp

  Log Message:
  -----------
  [CIR] Upstream ArraySubscriptExpr from function parameter with pointer base (#135493)

This change adds an ArraySubscriptExpr from the function parameter with
base type as Pointer

Issue https://github.com/llvm/llvm-project/issues/130197


  Commit: 3f58ff20fe540fbbc2e5bfea1606f8cdc00d4157
      https://github.com/llvm/llvm-project/commit/3f58ff20fe540fbbc2e5bfea1606f8cdc00d4157
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    R llvm/test/CodeGen/AArch64/ptrauth-pseudo-instructions.mir

  Log Message:
  -----------
  AArch64: Remove the PAUTH_BLEND pseudo-instruction.

It can be represented using a regular MOVK instruction
which also has the advantage of sometimes being selectable
without a preceding MOV.

Reviewers: ahmedbougacha, asl, atrosinenko

Reviewed By: atrosinenko

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


  Commit: a5aa0c46c3274eaf25dde4d792a1abd6191cccf9
      https://github.com/llvm/llvm-project/commit/a5aa0c46c3274eaf25dde4d792a1abd6191cccf9
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ControlFlowIntegrity.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGen/unique-source-file-names.c
    A clang/test/Driver/unique-source-file-names.c
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    A llvm/test/Transforms/ThinLTOBitcodeWriter/unique-source-file-names.ll

  Log Message:
  -----------
  Introduce -funique-source-file-names flag.

The purpose of this flag is to allow the compiler to assume that each
object file passed to the linker has been compiled using a unique
source file name. This is useful for reducing link times when doing
ThinLTO in combination with whole-program devirtualization or CFI,
as it allows modules without exported symbols to be built with ThinLTO.

Reviewers: vitalybuka, teresajohnson

Reviewed By: teresajohnson

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


  Commit: d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b
      https://github.com/llvm/llvm-project/commit/d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Stack.h
    M clang/lib/Basic/Stack.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M llvm/include/llvm/Support/CrashRecoveryContext.h
    A llvm/include/llvm/Support/ProgramStack.h
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CrashRecoveryContext.cpp
    A llvm/lib/Support/ProgramStack.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/ProgramStackTest.cpp

  Log Message:
  -----------
  [llvm][clang] Allocate a new stack instead of spawning a new thread to get more stack space (#133173)

Clang spawns a new thread to avoid running out of stack space. This can
make debugging and performance analysis more difficult as how the
threads are connected is difficult to recover.

This patch introduces `runOnNewStack` and applies it in Clang. On
platforms that have good support for it this allocates a new stack and
moves to it using assembly. Doing split stacks like this actually runs
on most platforms, but many debuggers and unwinders reject the large or
backwards stack offsets that occur. Apple platforms and tools are known
to support this, so this only enables it there for now.


  Commit: 429a84f8a4bf559f43f50072747ef49d3e3b2cf1
      https://github.com/llvm/llvm-project/commit/429a84f8a4bf559f43f50072747ef49d3e3b2cf1
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Support/ProgramStack.h

  Log Message:
  -----------
  [clang] Fix ambiguity in `runOnNewStack`


  Commit: 227f4066befadf0d10eddb39947e35dbf820b1bb
      https://github.com/llvm/llvm-project/commit/227f4066befadf0d10eddb39947e35dbf820b1bb
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

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


  Commit: 13615f7b506a693783764da87dc80e97cf59b95c
      https://github.com/llvm/llvm-project/commit/13615f7b506a693783764da87dc80e97cf59b95c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
    M llvm/include/llvm/Frontend/OpenACC/ACC.td

  Log Message:
  -----------
  [flang][openacc] Allow if clause on atomic directives (#135451)

The new version of the OpenACC specification will allow the if clause on
the atomic directives. Allow it in `ACC.td` and update the parse node
and parser in flang to support it.

OpenACC dialect will need to be updated to support it as well.


  Commit: 8f25e43055058a6a16bf44573feb37a9ce51dc1a
      https://github.com/llvm/llvm-project/commit/8f25e43055058a6a16bf44573feb37a9ce51dc1a
  Author: AdityaK <hiraditya at msn.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/IR/BuiltinAttributes.cpp

  Log Message:
  -----------
  [NFC] Rename hasSameElementsOrSplat to hasSameNumElementsOrSplat (#133183)

Makes it less confusing as this function only matches the number of
elements


  Commit: 9a1ece26126363c64c67d9a6e357076e814acf9e
      https://github.com/llvm/llvm-project/commit/9a1ece26126363c64c67d9a6e357076e814acf9e
  Author: marius doerner <marius.doerner1 at icloud.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/test/Preprocessor/embed___has_embed.c
    M clang/test/Preprocessor/has_attribute.c
    M clang/test/Preprocessor/has_attribute.cpp
    M clang/test/Preprocessor/has_c_attribute.c
    M clang/test/Preprocessor/has_include.c
    A clang/test/Preprocessor/pr133574.c

  Log Message:
  -----------
  [clang] Clear `NeedsCleaning` flag after `ExpandBuiltinMacro` (#133574)

After builtin macro expansion in `Preprocessor::ExpandBuiltinMacro` the
result token may have the `Token::NeedsCleaning` flag set which causes
an assertion failure later on when the lexer retrieves the spelling of
the token in `getSpellingSlow`.

This commit adds an `Tok.clearFlag(Token::NeedsCleaning)` call to the
end of `ExpandBuiltinMacro`.

Closes #128384


  Commit: b581bd3429b28420ff473f700fe96c18127a475d
      https://github.com/llvm/llvm-project/commit/b581bd3429b28420ff473f700fe96c18127a475d
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-private.f90

  Log Message:
  -----------
  [flang][OpenACC] use correct type when create private box init recipe (#135698)

The recipe for initializing private box types was incorrect because
hlfir::createTempFromMold() is not a suitable utility function when the
box element type is a trivial type.


  Commit: bd9c5112c750f07df2886562b227d9e2aeb338c8
      https://github.com/llvm/llvm-project/commit/bd9c5112c750f07df2886562b227d9e2aeb338c8
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir
    A mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Add error_if checks for Transpose (#135219)

This adds missing error_if checking for Transpose Op 
also moved all transpose op's verifier tests from
invalid.mlir to verifier.mlir

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 96064e1b516aba4d7cbea2ab183b20b19b7eea86
      https://github.com/llvm/llvm-project/commit/96064e1b516aba4d7cbea2ab183b20b19b7eea86
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/dynamic_extension.mlir
    M mlir/test/Dialect/Tosa/error_if_check.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir

  Log Message:
  -----------
  [mlir][tosa] Add table size check for Table Op (#135262)

Add table size check for Table Op
and add lit tests to error_if_check.mlir
also corrected some existing tests that violated the table size checks

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 4f64c80d5a23c244f942193e58ecac666c173308
      https://github.com/llvm/llvm-project/commit/4f64c80d5a23c244f942193e58ecac666c173308
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Support/thread.h

  Log Message:
  -----------
  [llvm] Add missing include for !LLVM_ENABLE_THREADS

thread.h used report_fatal_error without including ErrorHandling.h


  Commit: e6e56f5b6a80c6ce55630d6075475cb363afb149
      https://github.com/llvm/llvm-project/commit/e6e56f5b6a80c6ce55630d6075475cb363afb149
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/Transforms/MemProfContextDisambiguation/inlined2.ll

  Log Message:
  -----------
  [MemProf] Handle recursion during stack node update (#135837)

If we are replacing a sequence of stack nodes with a single node
representing inlined IR, and the stack id sequence contains recursion,
we may have already removed some edges. Handle this case correctly by
skipping the now removed edge.


  Commit: a3283a92aea147e89d9d404fa7c8500223c7c22a
      https://github.com/llvm/llvm-project/commit/a3283a92aea147e89d9d404fa7c8500223c7c22a
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/PointerAuthentication.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-ptrauth-json.cpp
    A clang/test/CodeGen/ptrauth-debuginfo.c
    A clang/test/CodeGen/ptrauth-qualifier-const-init.c
    A clang/test/CodeGen/ptrauth-qualifier-function.c
    A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
    A clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
    A clang/test/CodeGenCXX/mangle-ms-ptrauth.cpp
    A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
    A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
    A clang/test/Parser/ptrauth-qualifier.c
    A clang/test/Preprocessor/ptrauth_extension.c
    A clang/test/Sema/ptrauth-atomic-ops.c
    A clang/test/Sema/ptrauth-qualifier.c
    A clang/test/SemaCXX/ptrauth-qualifier.cpp
    A clang/test/SemaCXX/ptrauth-template-parameters.cpp
    A clang/test/SemaObjC/ptrauth-qualifier.m
    M libcxxabi/test/test_demangle.pass.cpp
    M llvm/include/llvm/Demangle/MicrosoftDemangle.h
    M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
    M llvm/lib/Demangle/MicrosoftDemangle.cpp
    M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
    A llvm/test/Demangle/ms-ptrauth.test

  Log Message:
  -----------
  [PAC] Add support for __ptrauth type qualifier (#100830)

The qualifier allows programmer to directly control how pointers are
signed when they are stored in a particular variable.

The qualifier takes three arguments: the signing key, a flag specifying
whether address discrimination should be used, and a non-negative
integer that is used for additional discrimination.

```
typedef void (*my_callback)(const void*);
my_callback __ptrauth(ptrauth_key_process_dependent_code, 1, 0xe27a) callback;
```

Co-Authored-By: John McCall rjmccall at apple.com


  Commit: a1d52fcdca8bda4fe8c6652b2de83f408f4ad4f2
      https://github.com/llvm/llvm-project/commit/a1d52fcdca8bda4fe8c6652b2de83f408f4ad4f2
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/UsersManual.rst

  Log Message:
  -----------
  Clarify documentation for -funique-source-file-names.



Reviewers: efriedma-quic, teresajohnson

Reviewed By: teresajohnson, efriedma-quic

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


  Commit: 2271f0bebd48c9ed8b16b500886a819c4f269a6a
      https://github.com/llvm/llvm-project/commit/2271f0bebd48c9ed8b16b500886a819c4f269a6a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/split-node-full-match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll

  Log Message:
  -----------
  [SLP]Check for perfect/shuffled match for the split node

If the potential split node is a perfect/shuffled match of another split
node, need to skip creation of the another split node with the same
scalars, it should be a buildvector.

Fixes #135800


  Commit: 823adc7a2dc90cdd0f953f3dc9684481368f2b62
      https://github.com/llvm/llvm-project/commit/823adc7a2dc90cdd0f953f3dc9684481368f2b62
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/test/AArch64/validate-secondary-entry-point.s
    A bolt/test/RISCV/validate-secondary-entry-point.s

  Log Message:
  -----------
  [BOLT] Validate secondary entry point (#135731)

Some functions have their sizes as zero in input binary's symbol
table, like those compiled by assembler. When figuring out function
sizes, we may create label symbol if it doesn't point to any constant
island. However, before function size is known, marker symbol can
not be correctly associated to a function and therefore all such
checks would fail and we could end up adding a code label pointing
to constant island as secondary entry point and later mistakenly
marking the function as not simple.

Querying the global marker symbol array has big throughput overhead.
Instead we can run an extra check when post processing entry points
to identify such label symbols that actually point to constant islands.


  Commit: 14cb6566d6701feaef2ffd686af5de4ff9e3eb29
      https://github.com/llvm/llvm-project/commit/14cb6566d6701feaef2ffd686af5de4ff9e3eb29
  Author: John Harrison <harjohn at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp

  Log Message:
  -----------
  [lldb-dap] Improve error reporting for dap command arguments. (#135684)

Previously the error only contained the failed to parse JSON message,
which has no additional context.

This improves the error messages and improves the consistency of
handling properties in protocol structures. Updating the fields to use
'ObjectMapper.map' instead of 'ObjectMapper.mapOptional' caught that
adapterID was misspelled as well.

For example, previously:

```
$ echo 'Content-Length: 81\r\n\r\n{"type":"request","command":"initialize","seq":1,"arguments":{"adapterID":12345}} | lldb-dap
```

Worked without an error but now it reports:

```
invalid arguments for request 'initialize': expected string at arguments.adapterID
{
  "adapterID": /* error: expected string */ 12345
}
```


  Commit: 85eb44e304e0a0a7da78448ceee60fdfec235edb
      https://github.com/llvm/llvm-project/commit/85eb44e304e0a0a7da78448ceee60fdfec235edb
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/split-node-num-operands.ll

  Log Message:
  -----------
  [SLP]Fix number of operands for the split node

FOr the split node number of operands should be requested via
getNumOperands() function, even if the main op is CallInst.


  Commit: 2b983a24583dd4e131d727717872a56712b5dd52
      https://github.com/llvm/llvm-project/commit/2b983a24583dd4e131d727717872a56712b5dd52
  Author: Zhuoran Yin <zhuoryin at amd.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
    M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
    M mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [MLIR][AMDGPU] Adding dynamic size check to avoid subword buffer load (#135014)

Motivation: amdgpu buffer load instruction will return all zeros when
loading sub-word values. For example, assuming the buffer size is
exactly one word and we attempt to invoke
`llvm.amdgcn.raw.ptr.buffer.load.v2i32` starting from byte 2 of the
word, we will not receive the actual value of the buffer but all zeros
for the first word. This is because the boundary has been crossed for
the first word.

This PR come up with a fix to this problem, such that, it creates a
bounds check against the buffer load instruction. It will compare the
offset + vector size to see if the upper bound of the address will
exceed the buffer size. If it does, masked transfer read will be
optimized to `vector.load` + `arith.select`, else, it will continue to
fall back to default lowering of the masked vector load.


  Commit: f83c5fe01fbee0f53ecf69d887e7a7b054f2a9ae
      https://github.com/llvm/llvm-project/commit/f83c5fe01fbee0f53ecf69d887e7a7b054f2a9ae
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp

  Log Message:
  -----------
  [nfc] Expose `canReturn` from FunctionAttrs (#135650)

This is a fairly light-weight traversal and is needed in instrumentation. No need to run the whole `FunctionAttrs` pass at this stage. To avoid layering issues, this patch factors `canRun` and related under Analysis/CFG.


  Commit: 12697c5516f8a9e4407e01d99324ce6958910184
      https://github.com/llvm/llvm-project/commit/12697c5516f8a9e4407e01d99324ce6958910184
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/AArch64/pr135776.ll

  Log Message:
  -----------
  [LegalizeTypes] Check getTypeAction before calling GetScalarizedVector. (#135838)

Use getTypeAction instead of trying to guess how a type will be
legalized. On AArch64, v1f16 is scalarized but v1f16 is widened.

Fixes #135776


  Commit: ddb12674300eb1af5e6945b5447e7bff7cff4cd8
      https://github.com/llvm/llvm-project/commit/ddb12674300eb1af5e6945b5447e7bff7cff4cd8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/landing-pad-for-split-node.ll

  Log Message:
  -----------
  [SLP]Insert vector instruction after landingpad

If the node must be emitted in the landingpad block, need to insert the
instructions after the landingpad instruction to avoid a crash.

Fixes #135781


  Commit: 0f3e460e06e03ce37445546457a16d6f1eee1e21
      https://github.com/llvm/llvm-project/commit/0f3e460e06e03ce37445546457a16d6f1eee1e21
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
    M mlir/test/Dialect/Tensor/bubble-reshapes.mlir

  Log Message:
  -----------
  [mlir][Tensor] Generalize the pattern to swap `tensor.collapse_shape` -> `tensor.expand_shape`. (#133819)

The current patterns compared the reassocation indices for the two ops
and failed if neither of them were of size 1. This patch relaxes this
restriction by handling a new case where the reassociation indices might
be of the same size.

Also generalizes to cases where when generating the swapped
`tensor.expand_shape` -> `tensor.collapse_shape` if one of them is
degenerate, those are not generated.

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: d30a5b41fe72a1dd83714d3e21fd539b91e63c8c
      https://github.com/llvm/llvm-project/commit/d30a5b41fe72a1dd83714d3e21fd539b91e63c8c
  Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/CodeGen/RISCV/select-and.ll
    M llvm/test/CodeGen/RISCV/select-bare.ll
    M llvm/test/CodeGen/RISCV/select-cc.ll
    M llvm/test/CodeGen/RISCV/select-or.ll
    M llvm/test/MC/RISCV/xmips-invalid.s
    M llvm/test/MC/RISCV/xmips-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Fix xmipscmov extension name (#135647)

The right name was used in riscv-toolchain-conventions docs.


  Commit: 9c73eba8aa17cb7ca4248ab1c7f67ea7ec9b50b1
      https://github.com/llvm/llvm-project/commit/9c73eba8aa17cb7ca4248ab1c7f67ea7ec9b50b1
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/Sema/attr-capabilities.c
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  Merge similar Clang Thread Safety attributes (#135561)

Some of the old lock-based and new capability-based spellings behave
basically in the same way, so merging them simplifies the code
significantly.

There are two minor functional changes: we only warn (instead of an
error) when the try_acquire_capability attribute is used on something
else than a function. The alternative would have been to produce an
error for the old spelling, but we seem to only warn for all function
attributes, so this is arguably more consistent.

The second change is that we also check the first argument (which is the
value returned for a successful try-acquire) for `this`. But from what I
can tell, this code is defunct anyway at the moment (see #31414).


  Commit: 7cb7b2d39d3b4aa984bfaeaf5e69fbfb074edd41
      https://github.com/llvm/llvm-project/commit/7cb7b2d39d3b4aa984bfaeaf5e69fbfb074edd41
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  [llvm] Build Windows release package with clang-cl if possible (#135446)

If `clang-cl.exe` and `lld-link.exe` are installed in `%PATH%`, the
Windows release build script will now use these by default, in place of
MSVC. The reason for doing this is that MSVC still has, for the past
year(s), a O(N^2) behavior when building certain LLVM source files,
which leads to long build times (minutes per file). A report was filled
here:
https://developercommunity.visualstudio.com/t/ON2-in-SparseBitVectorBase-when-com/10657991

Also added a `--force-msvc` option to the script, to use MSVC even if
clang-cl is installed.


  Commit: d0372179fbbcb7b3fa680a78919a980fa4384c46
      https://github.com/llvm/llvm-project/commit/d0372179fbbcb7b3fa680a78919a980fa4384c46
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [nfc] Add doc comment for `canReturn` in Analysis/CFG.h (#135862)


  Commit: 2d98bdc12c291523c3543ceaf1c526e25dcaedc6
      https://github.com/llvm/llvm-project/commit/2d98bdc12c291523c3543ceaf1c526e25dcaedc6
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Stack.h
    M clang/lib/Basic/Stack.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M llvm/include/llvm/Support/CrashRecoveryContext.h
    R llvm/include/llvm/Support/ProgramStack.h
    M llvm/include/llvm/Support/thread.h
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CrashRecoveryContext.cpp
    R llvm/lib/Support/ProgramStack.cpp
    M llvm/unittests/Support/CMakeLists.txt
    R llvm/unittests/Support/ProgramStackTest.cpp

  Log Message:
  -----------
  Revert "[llvm][clang] Allocate a new stack instead of spawning a new … (#135865)

…thread to get more stack space (#133173)"

This change breaks the Clang build on Mac AArch64.

This reverts commit d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b. This
reverts commit 429a84f8a4bf559f43f50072747ef49d3e3b2cf1. This reverts
commit 4f64c80d5a23c244f942193e58ecac666c173308.


  Commit: 8ed397d8e4d014ecc5df89a9d908c5808f201b65
      https://github.com/llvm/llvm-project/commit/8ed397d8e4d014ecc5df89a9d908c5808f201b65
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/pr135821.ll

  Log Message:
  -----------
  [DAGCombiner] Disable narrowExtractedVectorLoad for indexed loads. (#135847)

The later code does not expect or preserve the index output.

Fixes #135821


  Commit: a6208ce4c15142c26c6b73651bf466ae6b470cb0
      https://github.com/llvm/llvm-project/commit/a6208ce4c15142c26c6b73651bf466ae6b470cb0
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp

  Log Message:
  -----------
  [nfc] move `isPresplitCoroSuspendExitEdge` to Analysis/CFG (#135849)


  Commit: 6e2bca840df9dfcffc5068c1ad0c9575f0c57e76
      https://github.com/llvm/llvm-project/commit/6e2bca840df9dfcffc5068c1ad0c9575f0c57e76
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

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


  Commit: 31f39c83259401a26b3660dd75f645002258571d
      https://github.com/llvm/llvm-project/commit/31f39c83259401a26b3660dd75f645002258571d
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/always-uniform.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
    M llvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.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/attr-amdgpu-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
    A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
    A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
    M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
    M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
    M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
    M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
    M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/flat-for-global-subtarget-feature.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
    M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
    M llvm/test/CodeGen/AMDGPU/half.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
    M llvm/test/CodeGen/AMDGPU/invalid-cast-load-i1.ll
    M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-select-ptr.ll
    M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
    M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
    M llvm/test/CodeGen/AMDGPU/min.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/sad.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
    M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-no-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/shift-i128.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
    M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll

  Log Message:
  -----------
  [AMDGPU] Remove the AnnotateKernelFeatures pass (#130198)

Previously the AnnotateKernelFeatures pass infers two attributes:
amdgpu-calls and amdgpu-stack-objects, which are used to help determine
if flat scratch init is allowed. PR #118907 created the
amdgpu-no-flat-scratch-init attribute. Continuing with that work, this
patch makes use of this attribute to determine flat scratch init,
replacing amdgpu-calls and amdgpu-stack-objects. This also leads to the
removal of the AnnotateKernelFeatures pass.


  Commit: 16980d5463c787a48ffb78fd9bbe3d9d32757f34
      https://github.com/llvm/llvm-project/commit/16980d5463c787a48ffb78fd9bbe3d9d32757f34
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    R clang/test/CodeGenCXX/local-class-instantiation.cpp

  Log Message:
  -----------
  Revert "[Clang] Fix dependent local class instantiation bugs" (#135870)

Reverts llvm/llvm-project#134038

This crashes clang as reported here:
https://github.com/llvm/llvm-project/pull/134038#issuecomment-2807092646


  Commit: af63e1b505453de3e6a281d1b72e62fa8d396b23
      https://github.com/llvm/llvm-project/commit/af63e1b505453de3e6a281d1b72e62fa8d396b23
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/serial.c

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'self' lowering on compute constructs (#135851)

This is our first attempt at lowering a clause that is an 'operand' in
the OpenACC operand, so it does quite a bit of refactoring. My previous
plans on how to emit the clauses was not viable, so we instead do
'create the op, then use the visitor to fill in the operands'. This
resulted in the 'applyAttributes' function getting removed and a few
other functions simplified.

Additionally, it requires setting the insertion point a little to make
sure we're inserting 'around' the operation correctly.

Finally, since the OpenACC dialect only understands the MLIR types, we
had to introduce a use of the unrealized-conversion-cast, which we'll
probably getting good use out of in the future.


  Commit: e4d951d2e42a9124bd87275a864804c4b84b62e3
      https://github.com/llvm/llvm-project/commit/e4d951d2e42a9124bd87275a864804c4b84b62e3
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp

  Log Message:
  -----------
  LowerTypeTests: Fix quadratic complexity.

Currently we have quadratic complexity in LowerTypeTests because
ScopedSaveAliaseesAndUsed loops over all aliases for each disjoint
set, and the number of aliases and number of disjoint sets is
roughly proportional to the program size. Fix that by moving
ScopedSaveAliaseesAndUsed to LowerTypeTestsModule::lower() so that
we do this only once.

Reviewers: fmayer, vitalybuka

Reviewed By: vitalybuka

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


  Commit: 3428cc94c893f9a09728c707baf018b9cdfaf243
      https://github.com/llvm/llvm-project/commit/3428cc94c893f9a09728c707baf018b9cdfaf243
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/extensions.cpp
    M flang/include/flang/Runtime/extensions.h

  Log Message:
  -----------
  [flang] Implement external routine usage of hostnm() (#134900)

Previously, `hostnm` extended intrinsic was implemented as proper
intrinsic. Since then we found out that some applications use `hostnm`
as external routine via `external hostnm`. This prevents `hostnm` from
being recognized as an intrinsic. This PR implements `hostnm` as
external routine.


  Commit: 58c3fba7063eaca926931a412c329e9ac4deefd6
      https://github.com/llvm/llvm-project/commit/58c3fba7063eaca926931a412c329e9ac4deefd6
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp

  Log Message:
  -----------
  Revert "LowerTypeTests: Fix quadratic complexity."

This reverts commit e4d951d2e42a9124bd87275a864804c4b84b62e3.

Need to investigate some test failures.


  Commit: 860d0383db80ea881e957a5628d04e9d725b919d
      https://github.com/llvm/llvm-project/commit/860d0383db80ea881e957a5628d04e9d725b919d
  Author: Haowei <haowei at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [Fuchsia] Not building llvm-mt when LIBXML2 is not enabled. (#135877)

This patch prevents including the llvm-mt to `LLVM_TOOLCHAIN_TOOLS` in the
Fuchsia toolchain when LIBXML2 is not explicitly enabled.


  Commit: 6ad922b75a41911e0e394d5d367bee1240ad509f
      https://github.com/llvm/llvm-project/commit/6ad922b75a41911e0e394d5d367bee1240ad509f
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/serial.c

  Log Message:
  -----------
  [OpenACC][CIR] Implement lowering for 'if' on compute constructs

This is the same for these as the 'self' was, except it doesn't support
the 'empty' variant, so we have to just generate the condition.  This
patch does that, and extracts the 'condition' emission to a separate
function since the two share it.


  Commit: 0b8f817aab7a242e0bfb519cb07c8979ffadef36
      https://github.com/llvm/llvm-project/commit/0b8f817aab7a242e0bfb519cb07c8979ffadef36
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M bolt/runtime/hugify.cpp

  Log Message:
  -----------
  [BOLT] Fix conditional compilation of hugify.cpp (#135880)

Fix builds after #117158: do not build hugify.cpp on Apple platforms.


  Commit: bd4d3519c708d70ed8c827a27b63f13b0229ef00
      https://github.com/llvm/llvm-project/commit/bd4d3519c708d70ed8c827a27b63f13b0229ef00
  Author: Camsyn <camsyn at foxmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_report.cpp
    A compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp

  Log Message:
  -----------
  [ASan] Prevent ASan/LSan deadlock by preloading modules before error reporting (#131756)

### Description  
This PR resolves a deadlock between AddressSanitizer (ASan) and
LeakSanitizer (LSan)
that occurs when both sanitizers attempt to acquire locks in conflicting
orders across
threads. The fix ensures safe lock acquisition ordering by preloading
module information
before error reporting.  

---  

### Issue Details  
**Reproducer**
```cpp  
// Thread 1: ASan error path 
int arr[1] = {0};
std::thread t([&]() {  
  arr[1] = 1; // Triggers ASan OOB error  
});  

// Thread 2: LSan check path  
__lsan_do_leak_check();   
```  

**Lock Order Conflict**:  

- Thread 1 (ASan error reporting):  
  1. Acquires ASan thread registry lock (B)  
  1. Attempts to acquire libdl lock (A) via `dl_iterate_phdr`

- Thread 2 (LSan leak check):  
  1. Acquires libdl lock (A) via `dl_iterate_phdr`
  1. Attempts to acquire ASan thread registry lock (B)  
  

This creates a circular wait condition (A -> B -> A) meeting all four
Coffman deadlock criteria.

---  

### Fix Strategy  
The root cause lies in ASan's error reporting path needing
`dl_iterate_phdr` (requiring lock A)
while already holding its thread registry lock (B). The solution:  

1. **Preload Modules Early**: Force module list initialization _before_
acquiring ASan's thread lock
2. **Avoid Nested Locking**: Ensure symbolization (via dl_iterate_phdr)
completes before error reporting locks

Key code change:  
```cpp  
// Before acquiring ASan's thread registry lock:  
Symbolizer::GetOrInit()->GetRefreshedListOfModules();  
```  

This guarantees module information is cached before lock acquisition,
eliminating
the need for `dl_iterate_phdr` calls during error reporting.  

---  

### Testing  
Added **asan_lsan_deadlock.cpp** test case:  
- Reproduces deadlock reliably without fix **under idle system
conditions**
   - Uses watchdog thread to detect hangs  
   - Verifies ASan error reports correctly without deadlock  

**Note**: Due to the inherent non-determinism of thread scheduling and
lock acquisition timing,
this test may not reliably reproduce the deadlock on busy systems (e.g.,
during parallel
   `ninja check-asan` runs).



---  

### Impact  
- Fixes rare but severe deadlocks in mixed ASan+LSan environments  
- Maintains thread safety guarantees for both sanitizers  
- No user-visible behavior changes except deadlock elimination  

---

### Relevant Buggy Code
- Code in ASan's asan_report.cpp
```cpp
  explicit ScopedInErrorReport(bool fatal = false)
      : halt_on_error_(fatal || flags()->halt_on_error) {
    // Acquire lock B
    asanThreadRegistry().Lock();
  }
  ~ScopedInErrorReport() {
    ...
    // Try to acquire lock A under holding lock B via the following path
    // #4  0x000071a353d83e93 in __GI___dl_iterate_phdr (
    //     callback=0x5d1a07a39580 <__sanitizer::dl_iterate_phdr_cb(dl_phdr_info*, unsigned long, void*)>, 
    //     data=0x6da3510fd3f0) at ./elf/dl-iteratephdr.c:39
    // #5  0x00005d1a07a39574 in __sanitizer::ListOfModules::init (this=0x71a353ebc080)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:784
    // #6  0x00005d1a07a429e3 in __sanitizer::Symbolizer::RefreshModules (this=0x71a353ebc058)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:188
    // #7  __sanitizer::Symbolizer::FindModuleForAddress (this=this at entry=0x71a353ebc058, 
    //     address=address at entry=102366378805727)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:214
    // #8  0x00005d1a07a4291b in __sanitizer::Symbolizer::SymbolizePC (this=0x71a353ebc058, addr=102366378805727)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:88
    // #9  0x00005d1a07a40df7 in __sanitizer::(anonymous namespace)::StackTraceTextPrinter::ProcessAddressFrames (
    //     this=this at entry=0x6da3510fd520, pc=102366378805727)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:37
    // #10 0x00005d1a07a40d27 in __sanitizer::StackTrace::PrintTo (this=this at entry=0x6da3510fd5e8, 
    //     output=output at entry=0x6da3510fd588)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:110
    // #11 0x00005d1a07a410a1 in __sanitizer::StackTrace::Print (this=0x6da3510fd5e8)
    //     at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:133
    // #12 0x00005d1a0798758d in __asan::ErrorGeneric::Print (
    //     this=0x5d1a07aa4e08 <__asan::ScopedInErrorReport::current_error_+8>)
    //     at llvm-project/compiler-rt/lib/asan/asan_errors.cpp:617    
    current_error_.Print();
    ... 
  }
```

- Code in LSan's lsan_common_linux.cpp
```cpp
void LockStuffAndStopTheWorld(StopTheWorldCallback callback,
                              CheckForLeaksParam *argument) {
  // Acquire lock A
  dl_iterate_phdr(LockStuffAndStopTheWorldCallback, &param);
}

static int LockStuffAndStopTheWorldCallback(struct dl_phdr_info *info,
                                            size_t size, void *data) {
  // Try to acquire lock B under holding lock A via the following path
  // #3  0x000055555562b34a in __sanitizer::ThreadRegistry::Lock (this=<optimized out>)
  //     at llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_thread_registry.h:99
  // #4  __lsan::LockThreads () at llvm-project/compiler-rt/lib/asan/asan_thread.cpp:484
  // #5  0x0000555555652629 in __lsan::ScopedStopTheWorldLock::ScopedStopTheWorldLock (this=<optimized out>)
  //     at llvm-project/compiler-rt/lib/lsan/lsan_common.h:164
  // #6  __lsan::LockStuffAndStopTheWorldCallback (info=<optimized out>, size=<optimized out>, data=0x0, 
  //     data at entry=0x7fffffffd158) at llvm-project/compiler-rt/lib/lsan/lsan_common_linux.cpp:120
  ScopedStopTheWorldLock lock;
  DoStopTheWorldParam *param = reinterpret_cast<DoStopTheWorldParam *>(data);
  StopTheWorld(param->callback, param->argument);
  return 1;
}
```


  Commit: 77f0708b9d4feee8b8a67a5f571be741be4e26af
      https://github.com/llvm/llvm-project/commit/77f0708b9d4feee8b8a67a5f571be741be4e26af
  Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [libc]: Remove `-Wglobal-constructors` for libc tests (#131485)

* Relates to: https://github.com/llvm/llvm-project/issues/119281
* Removes `-Wglobal-constructors` as per:
https://github.com/llvm/llvm-project/pull/131485#pullrequestreview-2728020622


  Commit: 6c6ab2a270b799f1397926c9064fa30fe2be1d96
      https://github.com/llvm/llvm-project/commit/6c6ab2a270b799f1397926c9064fa30fe2be1d96
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll

  Log Message:
  -----------
  AArch64: Set FMAXIMUMNUM and FMINIMUMNUM as Promote if not fullfp16 (#135708)

Since Promote will emit FP_EXTEND, the result of it will never be sNaN,
so we don't need worry about duplicated of FCANONICALIZE in
expandFMINIMUMNUM_FMAXIMUMNUM.


  Commit: 4c97c5131f9ca32ce644a0be6e3586077ee03aa6
      https://github.com/llvm/llvm-project/commit/4c97c5131f9ca32ce644a0be6e3586077ee03aa6
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    A llvm/test/CodeGen/RISCV/xqcilia.ll

  Log Message:
  -----------
  [RISCV] Add ISel patterns for Xqcilia instructions (#135724)

This patch adds instruction selection patterns for generating the long
immediate arithmetic instructions.

We prefer generating instructions that have a 26 bit immediate to a 32
bit immediate given that both are of the same size but the former might
be easier to register allocate for. Base RISC-V arithmetic instructions
will be preferred, when applicable.


  Commit: 0ce8ad68e44aaf50d1e2aa304fa8a1127e311e1d
      https://github.com/llvm/llvm-project/commit/0ce8ad68e44aaf50d1e2aa304fa8a1127e311e1d
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.h
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    M llvm/test/CodeGen/SPARC/float-constants.ll

  Log Message:
  -----------
  [SPARC] Use fzero/fzeros to materialize FP zeros when we have VIS



Reviewers: rorth, brad0, s-barannikov

Reviewed By: s-barannikov

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


  Commit: f3de63c64998eb46db9cf26aca9ebcc5453f6f44
      https://github.com/llvm/llvm-project/commit/f3de63c64998eb46db9cf26aca9ebcc5453f6f44
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcInstr64Bit.td
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    M llvm/test/CodeGen/SPARC/2011-01-11-CC.ll

  Log Message:
  -----------
  [SPARC] Use addxccc to do multiword addition when we have VIS3



Reviewers: brad0, s-barannikov, rorth

Reviewed By: s-barannikov

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


  Commit: e4f2191f568db718ed67defa664f83f763e7e74a
      https://github.com/llvm/llvm-project/commit/e4f2191f568db718ed67defa664f83f763e7e74a
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    A llvm/test/CodeGen/SPARC/multiply-extension.ll
    M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  [SPARC] Use umulxhi to do extending 64x64->128 multiply when we have VIS3



Reviewers: s-barannikov, rorth, brad0

Reviewed By: s-barannikov

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


  Commit: 0439a4eca78fa1e3aa45b49ff349c3da4fb02f48
      https://github.com/llvm/llvm-project/commit/0439a4eca78fa1e3aa45b49ff349c3da4fb02f48
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [RISCV] Add new CondCode COND_CV_BEQIMM/COND_CV_BNEIMM for CV immediate branch (#135771)

If there is another branch instruction also with immediate operand, but
it is used to specify which bit to be tested is set or clear. We only
check whether operand2 is immediate or not here. There are no way to
distinguish between them.

So add new CondCode COND_CV_BEQIMM/COND_CV_BNEIMM that we can know what
kinds of immediate branch instruction are matched in Select_* Pseudo.


  Commit: 5e9650ec2deb2f2bb6d5ad28e83bb6cd3c4189e4
      https://github.com/llvm/llvm-project/commit/5e9650ec2deb2f2bb6d5ad28e83bb6cd3c4189e4
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    R llvm/test/CodeGen/SPARC/multiply-extension.ll
    M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  Revert "[SPARC] Use umulxhi to do extending 64x64->128 multiply when we have VIS3" (#135897)

This change breaks multiply tests on SPARC.

https://lab.llvm.org/buildbot/#/builders/108/builds/11691/steps/6/logs/FAIL__LLVM__multiply-extension_ll

Reverts llvm/llvm-project#135714


  Commit: bed03ae36600f83f214c41af333f47fe8ead9ede
      https://github.com/llvm/llvm-project/commit/bed03ae36600f83f214c41af333f47fe8ead9ede
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    A llvm/test/CodeGen/X86/apx/ndd-neg-addr-index.ll

  Log Message:
  -----------
  [X86] Fix the issue of creating index reg negations (#135632)

The 8 and 16 bit LEA instruction support was added by PR #122102, and we
have to update creating index register negations accordingly. The issue
is exposed with APX NDD instructions.


  Commit: e676866368a84c88aad90e138268e00a1c56a230
      https://github.com/llvm/llvm-project/commit/e676866368a84c88aad90e138268e00a1c56a230
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h
    M llvm/lib/Target/Mips/MipsCallLowering.cpp
    M llvm/lib/Target/Mips/MipsCallingConv.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    A llvm/test/CodeGen/Mips/vararg.ll

  Log Message:
  -----------
  [Mips] Fix clang crashes when compiling a variadic function while targeting mips3 (#130558)

issue reason:
Because mips3 has the feature 'FeatureGP64Bit', when target mips3
process function `writeVarArgRegs`, the result of `getGPRSizeInBytes` is
8 and the result of `GetVarArgRegs` is `Mips::A0, Mips::A1, Mips::A2,
Mips::A3`. This would generate `gpr64 = COPY $a1` which should be `gpr64
= COPY $a1_64`.

Also when process `CC_Mips_FixedArg`, mips would CCDelegateTo
    `CC_MipsO32_FP`. In fact, it should CCDelegateTo `CC_MipsN`.

Fix #98716.


  Commit: 517605c20e6014543e91d45524a17c443aa11bd4
      https://github.com/llvm/llvm-project/commit/517605c20e6014543e91d45524a17c443aa11bd4
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm

  Log Message:
  -----------
  [alpha.webkit.UnretainedCallArgsChecker] Add the support for RetainPtrArc (#135532)

WebKit uses #define to rename RetainPtr to RetainPtrArc so add the
support for it.


  Commit: 71d091699f956c89135bc165165e815ab7876359
      https://github.com/llvm/llvm-project/commit/71d091699f956c89135bc165165e815ab7876359
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/complex/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/inttypes/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/stdbit/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/strings/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/unistd/BUILD.bazel

  Log Message:
  -----------
  [libc][bazel] Fold "libc_function_deps" into "deps" for libc_tests. (#135835)

libc_function_deps and deps are now identical, as we no longer need or
have special treatment for libc_function targets. Merge these attributes
passed to the libc_test macro, and fix all relevant libc_test macro
invocations. This change is a no-op.

This concludes cleanup started in
9b13d345303d819bb83de7ebbeb826d704add0bc.


  Commit: a024d13f84dbe7b3d1eee555ddc82cdd1af814e0
      https://github.com/llvm/llvm-project/commit/a024d13f84dbe7b3d1eee555ddc82cdd1af814e0
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/absd.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/absd.ll

  Log Message:
  -----------
  [LoongArch] make ABDS/ABDU legal for lsx/lasx (#134190)


  Commit: b07c88563febdb62b82daad0480d7b6131bc54d4
      https://github.com/llvm/llvm-project/commit/b07c88563febdb62b82daad0480d7b6131bc54d4
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/include/llvm/Support/InterleavedRange.h
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/InterleavedRangeTest.cpp

  Log Message:
  -----------
  [Support] Add format object for interleaved ranges (#135517)

Add two new format functions for printing ranges: `interleaved` and
`interleaved_array`.

This is meant to improve the ergonomics of printing ranges. Before this
patch, we have to either use `llvm::interleave` or write a for loop by
hand. For example:

Before:
```c++
ArrayRef<Type> types = ...;
ArrayRef<Values> values = ...;
LLVM_DEBUG({
  llvm::dbgs() << "Types: ";
  llvm::interleave_comma(llvm::dbgs(), types);
  llvm::dbgs() << "\n";
  llvm::dbgs() << "Values: [";
  llvm::interleave_comma(llvm::dbgs(), values);
  llvm::dbgs() << "]\n";
}):
```

After:
```c++
ArrayRef<Type> types = ...;
ArrayRef<Values> values = ...;
LLVM_DEBUG(llvm::dbgs() << "Types: " << interleaved(types) << "\n");
LLVM_DEBUG(llvm::dbgs() << "Values: " << interleaved_array(values) << "\n");
```

The separator and the prefix/suffix strings are customizable.


  Commit: 04b87e15e40f8857e29ade8321b8b67691545a50
      https://github.com/llvm/llvm-project/commit/04b87e15e40f8857e29ade8321b8b67691545a50
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/test/Lower/do_concurrent.f90
    M flang/test/Lower/do_concurrent_local_default_init.f90
    M flang/test/Lower/loops.f90
    M flang/test/Lower/loops3.f90
    M flang/test/Lower/nsw.f90
    M flang/test/Transforms/DoConcurrent/basic_host.f90
    M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
    M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
    M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
    M flang/test/Transforms/DoConcurrent/non_const_bounds.f90
    M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90

  Log Message:
  -----------
  [flang][fir] Lower `do concurrent` loop nests to `fir.do_concurrent` (#132904)

Adds support for lowering `do concurrent` nests from PFT to the new
`fir.do_concurrent` MLIR op as well as its special terminator
`fir.do_concurrent.loop` which models the actual loop nest.

To that end, this PR emits the allocations for the iteration variables
within the block of the `fir.do_concurrent` op and creates a region for
the `fir.do_concurrent.loop` op that accepts arguments equal in number
to the number of the input `do concurrent` iteration ranges.

For example, given the following input:
```fortran
   do concurrent(i=1:10, j=11:20)
   end do
```
the changes in this PR emit the following MLIR:
```mlir
    fir.do_concurrent {
      %22 = fir.alloca i32 {bindc_name = "i"}
      %23:2 = hlfir.declare %22 {uniq_name = "_QFsub1Ei"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
      %24 = fir.alloca i32 {bindc_name = "j"}
      %25:2 = hlfir.declare %24 {uniq_name = "_QFsub1Ej"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
      fir.do_concurrent.loop (%arg1, %arg2) = (%18, %20) to (%19, %21) step (%c1, %c1_0) {
        %26 = fir.convert %arg1 : (index) -> i32
        fir.store %26 to %23#0 : !fir.ref<i32>
        %27 = fir.convert %arg2 : (index) -> i32
        fir.store %27 to %25#0 : !fir.ref<i32>
      }
    }
```


  Commit: 3264a50fe2b61e79572d1623d0cceb2fe88da533
      https://github.com/llvm/llvm-project/commit/3264a50fe2b61e79572d1623d0cceb2fe88da533
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/convert-sm100a.ll

  Log Message:
  -----------
  [clang][NVPTX] Add builtins and intrinsics for conversions of new FP types (#134345)

This change:
- Adds NVVM intrinsics and clang builtins for the cvt instruction
variants of types (FP6) `.e2m3x2`, `.e3m2x2`, and (FP8) `.ue8m0x2`
introduced in PTX 8.6 for `sm_100a`, `sm_101a`, and `sm_120a`.
- Adds clang builtins for cvt instruction variant of type tf32.

Tests are added in `NVPTX/convert-sm100a.ll` and
`clang/test/CodeGen/builtins-nvptx.c` and verified through ptxas 12.8.0.

PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt


  Commit: 2a024046217a1acae4806328ac77bd88648c2bab
      https://github.com/llvm/llvm-project/commit/2a024046217a1acae4806328ac77bd88648c2bab
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaTemplate/recovery-crash.cpp

  Log Message:
  -----------
  [clang] fix a crash in error recovery in expressions resolving to templates (#135893)

We were using AssumedTemplate incorrectly for error recovery.

Fixes #135621


  Commit: 3de88fe40fd0dc5f52ba0bc7ebbaf16e938d6670
      https://github.com/llvm/llvm-project/commit/3de88fe40fd0dc5f52ba0bc7ebbaf16e938d6670
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A llvm/include/llvm/Frontend/HLSL/CBuffer.h
    A llvm/lib/Frontend/HLSL/CBuffer.cpp
    M llvm/lib/Frontend/HLSL/CMakeLists.txt
    M llvm/lib/Target/DirectX/CMakeLists.txt
    A llvm/lib/Target/DirectX/DXILCBufferAccess.cpp
    A llvm/lib/Target/DirectX/DXILCBufferAccess.h
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    A llvm/test/CodeGen/DirectX/CBufferAccess/array-typedgep.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/arrays.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/float.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/gep-ce-two-uses.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/scalars.ll
    A llvm/test/CodeGen/DirectX/CBufferAccess/vectors.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [DirectX] Implement the DXILCBufferAccess pass (#134571)

This introduces a pass that walks accesses to globals in cbuffers and
replaces them with accesses via the cbuffer handle itself. The logic to
interpret the cbuffer metadata is kept in `lib/Frontend/HLSL` so that it
can be reused by other consumers of that metadata.

Fixes #124630.


  Commit: 40460a5cf76c973a783fb2f5229e1076398df96e
      https://github.com/llvm/llvm-project/commit/40460a5cf76c973a783fb2f5229e1076398df96e
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    A llvm/test/CodeGen/RISCV/xqcilo.ll

  Log Message:
  -----------
  [RISCV] Add basic ISel patterns for Xqcilo instructions (#135901)

This patch adds basic instruction selection patterns for generating the
48 bit load/store instructions that are a part of the Qualcomm uC Xqcilo
vendor extension.


  Commit: 123b0e2a1e9de7465be8fb337a80d5d8984f93ae
      https://github.com/llvm/llvm-project/commit/123b0e2a1e9de7465be8fb337a80d5d8984f93ae
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll

  Log Message:
  -----------
  Reapply "[AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)" (#135758)

reapply https://github.com/llvm/llvm-project/pull/132358, tests updated.


  Commit: f3c77445791b510858561cb424ffa1cd7513250b
      https://github.com/llvm/llvm-project/commit/f3c77445791b510858561cb424ffa1cd7513250b
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/Sema/complex-div-warn-higher-precision.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix -Whigher-precision-for-complex-division (#131477)

- Fix false positive when divisor is a real number.
- Fix false negative when divident is real, but divisor is complex.
- Fix false negative when due to promotion the division is performed in
higher precision than the divident.
- Fix false negative in divide and assign (`a /= b`).

Fixes: #131127

---------

Co-authored-by: Zahira Ammarguellat <zahira.ammarguellat at intel.com>


  Commit: dfb5b6e27ca3f8b79ebd3346d11b3088c1600b81
      https://github.com/llvm/llvm-project/commit/dfb5b6e27ca3f8b79ebd3346d11b3088c1600b81
  Author: leecheechen <chenli at loongson.cn>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    A llvm/test/CodeGen/LoongArch/prefetchi.ll

  Log Message:
  -----------
  [LoongArch] Don't crash on instruction prefetch intrinsics (#135760)

Instead of failing to select during isel, drop the intrinsic in
lowering.

Similar as the X86's PR. Seeing: https://reviews.llvm.org/D151050.

Fixes #134624


  Commit: 9e650349bfdcd34998c461e1441f02a79c664d38
      https://github.com/llvm/llvm-project/commit/9e650349bfdcd34998c461e1441f02a79c664d38
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp

  Log Message:
  -----------
  [mlir] Construct SmallVector with ArrayRef (NFC) (#135899)


  Commit: 52e3f3d68cbabf81c4c118cfb823828f03b712c4
      https://github.com/llvm/llvm-project/commit/52e3f3d68cbabf81c4c118cfb823828f03b712c4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

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

  Log Message:
  -----------
  [mlir] Use llvm::make_first_range (NFC) (#135900)


  Commit: ac4712482e3ff886eee7c044dd33dd4b5d648036
      https://github.com/llvm/llvm-project/commit/ac4712482e3ff886eee7c044dd33dd4b5d648036
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCFixup.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h

  Log Message:
  -----------
  [LoongArch] Use FirstRelocationKind to remove ELFObjectWriter::recordRelocation special case

The current implementation of R_LARCH_SUB{8,16,32,64} and TLS relocation types relies on fixup kinds FirstLiteralRelocationKind + offset (originally intended for .reloc directives). While this is clever and prevents switch cases like

```
case fixup_...sub8:
  return ELF::R_LARCH_SUB8;
```

it needs revision.

GNU Assembler treats .reloc directives differently from standard relocations, notably by skipping

* Skipping STT_SECTION adjustments (when a referenced symbol is local and satisfies certain conditions, it can be redirected to a section symbol).
* Skipping STT_TLS symbol type setting for TLS relocations.

Encode relocatin type t with FirstRelocationKind+t instead of
FirstLiteralRelocationKind+t. The new value is less than
FirstLiteralRelocationKind and will not be treated as a .reloc
directive.

Close #135521


  Commit: a56f966417bc53051fa39e3db6fcc95f9abf0b5c
      https://github.com/llvm/llvm-project/commit/a56f966417bc53051fa39e3db6fcc95f9abf0b5c
  Author: Mythreya <git at mythreya.dev>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [clangd][docs] Fix incorrect docstring for header-insertion "Never" (#135921)

Docstring fix for changes introduced in PR #128503


  Commit: 05eafd9f2b14f2e8d2d95f46465c5cc53aafbc56
      https://github.com/llvm/llvm-project/commit/05eafd9f2b14f2e8d2d95f46465c5cc53aafbc56
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/test/AST/ByteCode/codegen.cpp

  Log Message:
  -----------
  [clang][bytecode] Explicitly mark constexpr-unknown variables as such (#135806)

Instead of trying to figure out what's constexpr-unknown later on.


  Commit: c1fc4c6a69c6ca0ae6aa060e4377ab5040505a66
      https://github.com/llvm/llvm-project/commit/c1fc4c6a69c6ca0ae6aa060e4377ab5040505a66
  Author: Clo91eaf <Clo91eaf at qq.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td

  Log Message:
  -----------
  [mlir][SMT] fix the operation name in ArrayBroadcastOp description (#135746)


  Commit: a630ef71e84a6bf09a99053ea42d37632ca0d18a
      https://github.com/llvm/llvm-project/commit/a630ef71e84a6bf09a99053ea42d37632ca0d18a
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/MC/ELF/reloc-directive.s

  Log Message:
  -----------
  ELFObjectWriter: Disable STT_SECTION adjustment for .reloc

... to match GNU Assembler. This generalizes the
SHT_LLVM_CALL_GRAPH_PROFILE special case (which uses .reloc with
BFD_RELOC_NONE https://reviews.llvm.org/D104080).

Targets that want STT_SECTION adjustment cannot use
FirstLiteralRelocationKind derived fixup kinds.

Depends on the fix of #135521

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


  Commit: 507d7dc651b28d8a975ba8ca6e8f5906b07e37e7
      https://github.com/llvm/llvm-project/commit/507d7dc651b28d8a975ba8ca6e8f5906b07e37e7
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp

  Log Message:
  -----------
  [LoongArch] Simplify getRelocType


  Commit: 3d97d71e66036f51cf0b45cc7d5f3a0a14192eb4
      https://github.com/llvm/llvm-project/commit/3d97d71e66036f51cf0b45cc7d5f3a0a14192eb4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/Lex/HeaderSearch.cpp

  Log Message:
  -----------
  [Lex] Use llvm::make_second_range (NFC) (#135902)


  Commit: 1256ca04c2064f2ef05625ff93a7954642af84a1
      https://github.com/llvm/llvm-project/commit/1256ca04c2064f2ef05625ff93a7954642af84a1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineFunction.cpp

  Log Message:
  -----------
  [CodeGen] Call DenseMap::erase directly (NFC) (#135898)


  Commit: bf0de88696095342aaa58e5e0a0105403d5ebd5e
      https://github.com/llvm/llvm-project/commit/bf0de88696095342aaa58e5e0a0105403d5ebd5e
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  code format checker: fix python error when the diff becomes empty


  Commit: 11857bef8a5fdfb8ab65971c3da6593c6076ff62
      https://github.com/llvm/llvm-project/commit/11857bef8a5fdfb8ab65971c3da6593c6076ff62
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    A llvm/test/CodeGen/RISCV/xqcisls.ll

  Log Message:
  -----------
  [RISCV] Add basic ISel patterns for Xqcisls instructions (#135918)

This patch adds basic instruction selection patterns for generating the
scaled load/store instructions that are a part of the Qualcomm uC
Xqcisls vendor extension.


  Commit: 559df834df4c5653227cb85129904004164e4c4f
      https://github.com/llvm/llvm-project/commit/559df834df4c5653227cb85129904004164e4c4f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix subtracting zero-sized pointers (#135929)

Add the appropriate diagnostic and fix the d-d case.


  Commit: 70d34e4bfd32d8518a70226d3d68398d94c1d68f
      https://github.com/llvm/llvm-project/commit/70d34e4bfd32d8518a70226d3d68398d94c1d68f
  Author: Hendrik_Klug <43926224+Jimmy2027 at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [MLIR][Linalg] Remove debug print from FoldIntoElementwise pass (#135928)


  Commit: 51b8c66b0867154730d07e1ee4016b5116440293
      https://github.com/llvm/llvm-project/commit/51b8c66b0867154730d07e1ee4016b5116440293
  Author: Дмитрий Изволов <dmitriy at izvolov.ru>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp

  Log Message:
  -----------
  [libc++] Extend the scope of radix sorting inside std::stable_sort to floating-point types (#129452)

These changes speed up `std::stable_sort` in the case of sorting
floating-point types.
This applies only to IEEE 754 floats.
The speedup is similar to that achieved for integers in PR #104683 (see
benchmarks below).

Why does this worth doing?
Previously, `std::stable_sort` had almost no chance of beating
`std::sort`.
Now there are cases when `std::stable_sort` is preferrable, and the
difference is significant.
```
---------------------------------------------------------------------------
Benchmark             |  std::stable_sort  |   std::sort | std::stable_sort
                      | without radix_sort |             | with radix_sort 
---------------------------------------------------------------------------
float_Random_1        |       1.62 ns      |     2.15 ns |          1.61 ns
float_Random_4        |       18.0 ns      |     2.71 ns |          16.3 ns
float_Random_16       |        118 ns      |      113 ns |           112 ns
float_Random_64       |        751 ns      |      647 ns |           730 ns
float_Random_256      |       4715 ns      |     2937 ns |          4669 ns
float_Random_1024     |      25713 ns      |    13172 ns |          5959 ns <--
float_Random_4096     |     131307 ns      |    56870 ns |         19294 ns <--
float_Random_16384    |     624996 ns      |   242953 ns |         64264 ns <--
float_Random_65536    |    2895661 ns      |  1027279 ns |        288553 ns <--
float_Random_262144   |   13285372 ns      |  4342593 ns |       3022377 ns <--
float_Random_1048576  |   60595871 ns      | 19087591 ns |      18690457 ns <--
float_Random_2097152  |  131336117 ns      | 38800396 ns |      52325016 ns
float_Random_4194304  |  270043042 ns      | 79978019 ns |     102907726 ns
double_Random_1       |       1.60 ns      |     2.15 ns |          1.61 ns
double_Random_4       |       15.2 ns      |     2.70 ns |          16.9 ns
double_Random_16      |        104 ns      |      112 ns |           119 ns
double_Random_64      |        712 ns      |      614 ns |           755 ns
double_Random_256     |       4496 ns      |     2966 ns |          4820 ns
double_Random_1024    |      24722 ns      |    12679 ns |          6189 ns <--
double_Random_4096    |     126075 ns      |    54484 ns |         20999 ns <--
double_Random_16384   |     613782 ns      |   232557 ns |        110276 ns <--
double_Random_65536   |    2894972 ns      |   988531 ns |        774302 ns <--
double_Random_262144  |   13460273 ns      |  4278059 ns |       5115123 ns
double_Random_1048576 |   61119996 ns      | 18408462 ns |      27166574 ns
double_Random_2097152 |  132511525 ns      | 37986158 ns |      54423869 ns
double_Random_4194304 |  272949862 ns      | 77912616 ns |     147670834 ns
```

Comparison for only `std::stable_sort`:
```
Benchmark                                                         Time      Time Old      Time New
--------------------------------------------------------------------------------------------------
BM_StableSort_float_Random_1024                                -0.7997         25438          5096
BM_StableSort_float_Random_4096                                -0.8731        128157         16260
BM_StableSort_float_Random_16384                               -0.9024        621271         60623
BM_StableSort_float_Random_65536                               -0.9081       2922413        268619
BM_StableSort_float_Random_262144                              -0.7766      13386345       2990408
BM_StableSort_float_Random_1048576                             -0.6954      60673010      18481751
BM_StableSort_float_Random_2097152                             -0.6026     130977358      52052182
BM_StableSort_float_Random_4194304                             -0.6252     271556583     101770500
BM_StableSort_float_Ascending_1024                             -0.6430          6711          2396
BM_StableSort_float_Ascending_4096                             -0.7979         38460          7773
BM_StableSort_float_Ascending_16384                            -0.8471        191069         29222
BM_StableSort_float_Ascending_65536                            -0.8683        882321        116194
BM_StableSort_float_Ascending_262144                           -0.8346       3868552        639937
BM_StableSort_float_Ascending_1048576                          -0.7460      16521233       4195953
BM_StableSort_float_Ascending_2097152                          -0.5439      21757532       9922776
BM_StableSort_float_Ascending_4194304                          -0.7525      67847496      16791582
BM_StableSort_float_Descending_1024                            -0.6359         15038          5475
BM_StableSort_float_Descending_4096                            -0.7090         62810         18278
BM_StableSort_float_Descending_16384                           -0.7763        311844         69750
BM_StableSort_float_Descending_65536                           -0.7228       1270513        352202
BM_StableSort_float_Descending_262144                          -0.6785       5484173       1763045
BM_StableSort_float_Descending_1048576                         -0.5084      20223149       9941852
BM_StableSort_float_Descending_2097152                         -0.7646      60523254      14247014
BM_StableSort_float_Descending_4194304                         -0.5638      95706839      41748858
BM_StableSort_float_SingleElement_1024                         +0.3715          1732          2375
BM_StableSort_float_SingleElement_4096                         -0.1685          9357          7781
BM_StableSort_float_SingleElement_16384                        -0.3793         47307         29362
BM_StableSort_float_SingleElement_65536                        -0.4925        227666        115536
BM_StableSort_float_SingleElement_262144                       -0.4271       1075853        616387
BM_StableSort_float_SingleElement_1048576                      -0.3736       5097599       3193279
BM_StableSort_float_SingleElement_2097152                      -0.2470       9854161       7420158
BM_StableSort_float_SingleElement_4194304                      -0.3384      22175964      14670720
BM_StableSort_float_PipeOrgan_1024                             -0.4885         10664          5455
BM_StableSort_float_PipeOrgan_4096                             -0.6340         50095         18337
BM_StableSort_float_PipeOrgan_16384                            -0.7078        238700         69739
BM_StableSort_float_PipeOrgan_65536                            -0.6740       1102419        359378
BM_StableSort_float_PipeOrgan_262144                           -0.7460       4698739       1193511
BM_StableSort_float_PipeOrgan_1048576                          -0.5657      18493972       8032392
BM_StableSort_float_PipeOrgan_2097152                          -0.7116      41089206      11850349
BM_StableSort_float_PipeOrgan_4194304                          -0.6650      83445011      27955737
BM_StableSort_float_QuickSortAdversary_1024                    -0.6863         17402          5460
BM_StableSort_float_QuickSortAdversary_4096                    -0.7715         79864         18247
BM_StableSort_float_QuickSortAdversary_16384                   -0.7800        317480         69839
BM_StableSort_float_QuickSortAdversary_65536                   -0.7400       1357601        352967
BM_StableSort_float_QuickSortAdversary_262144                  -0.6450       5662094       2009769
BM_StableSort_float_QuickSortAdversary_1048576                 -0.5092      21173627      10392107
BM_StableSort_float_QuickSortAdversary_2097152                 -0.7333      61748178      16469993
BM_StableSort_float_QuickSortAdversary_4194304                 -0.5607      98459863      43250182
BM_StableSort_double_Random_1024                               -0.7657         24769          5802
BM_StableSort_double_Random_4096                               -0.8441        126449         19717
BM_StableSort_double_Random_16384                              -0.8269        614910        106447
BM_StableSort_double_Random_65536                              -0.7413       2905000        751427
BM_StableSort_double_Random_262144                             -0.6287      13449514       4994348
BM_StableSort_double_Random_1048576                            -0.5635      60863246      26568349
BM_StableSort_double_Random_2097152                            -0.5959     130293892      52654532
BM_StableSort_double_Random_4194304                            -0.4772     272616445     142526267
BM_StableSort_double_Ascending_1024                            -0.4870          6757          3466
BM_StableSort_double_Ascending_4096                            -0.7360         37592          9923
BM_StableSort_double_Ascending_16384                           -0.7971        183967         37324
BM_StableSort_double_Ascending_65536                           -0.7465        897116        227398
BM_StableSort_double_Ascending_262144                          -0.6764       4020980       1301033
BM_StableSort_double_Ascending_1048576                         -0.6407      16421799       5900751
BM_StableSort_double_Ascending_2097152                         -0.6380      29347139      10622419
BM_StableSort_double_Ascending_4194304                         -0.5934      70439925      28644185
BM_StableSort_double_Descending_1024                           -0.5988         15216          6105
BM_StableSort_double_Descending_4096                           -0.6857         65069         20449
BM_StableSort_double_Descending_16384                          -0.6922        329321        101381
BM_StableSort_double_Descending_65536                          -0.7038       1367970        405242
BM_StableSort_double_Descending_262144                         -0.6472       5361644       1891429
BM_StableSort_double_Descending_1048576                        -0.6656      22031404       7366459
BM_StableSort_double_Descending_2097152                        -0.7593      68922467      16591242
BM_StableSort_double_Descending_4194304                        -0.6392      96283643      34743223
BM_StableSort_double_SingleElement_1024                        +0.9128          1895          3625
BM_StableSort_double_SingleElement_4096                        +0.1475         10013         11490
BM_StableSort_double_SingleElement_16384                       -0.1901         52382         42424
BM_StableSort_double_SingleElement_65536                       -0.2096        254698        201313
BM_StableSort_double_SingleElement_262144                      -0.1833       1248478       1019648
BM_StableSort_double_SingleElement_1048576                     -0.1741       5703397       4710603
BM_StableSort_double_SingleElement_2097152                     -0.1751      10922197       9009835
BM_StableSort_double_SingleElement_4194304                     -0.1538      26571923      22485137
BM_StableSort_double_PipeOrgan_1024                            -0.4406         10752          6014
BM_StableSort_double_PipeOrgan_4096                            -0.5917         49456         20195
BM_StableSort_double_PipeOrgan_16384                           -0.6258        270515        101221
BM_StableSort_double_PipeOrgan_65536                           -0.7098       1159462        336457
BM_StableSort_double_PipeOrgan_262144                          -0.6591       4735711       1614433
BM_StableSort_double_PipeOrgan_1048576                         -0.6620      19353110       6541172
BM_StableSort_double_PipeOrgan_2097152                         -0.7288      49131812      13323391
BM_StableSort_double_PipeOrgan_4194304                         -0.5988      81958974      32878171
BM_StableSort_double_QuickSortAdversary_1024                   -0.6516         17948          6254
BM_StableSort_double_QuickSortAdversary_4096                   -0.7527         82359         20363
BM_StableSort_double_QuickSortAdversary_16384                  -0.7009        340410        101811
BM_StableSort_double_QuickSortAdversary_65536                  -0.6854       1487480        467928
BM_StableSort_double_QuickSortAdversary_262144                 -0.6386       5648460       2041377
BM_StableSort_double_QuickSortAdversary_1048576                -0.6127      22859142       8852587
BM_StableSort_double_QuickSortAdversary_2097152                -0.7161      68693975      19499381
BM_StableSort_double_QuickSortAdversary_4194304                -0.5909      95532179      39077491
OVERALL_GEOMEAN                                                -0.6472             0             0
```


  Commit: 1f96aea037e612d87b4e2e20825973e45680921c
      https://github.com/llvm/llvm-project/commit/1f96aea037e612d87b4e2e20825973e45680921c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/X86/pr135917.ll

  Log Message:
  -----------
  [X86] Add test coverage for #135917


  Commit: b9ce185d4e542dde5e8d152f30314b6637a0d87b
      https://github.com/llvm/llvm-project/commit/b9ce185d4e542dde5e8d152f30314b6637a0d87b
  Author: Robert Konicar <rkonicar at mail.muni.cz>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/IR/AttrTypeBase.td
    A mlir/test/Dialect/LLVMIR/range-attr.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix #llvm.constant_range crashing in storage uniquer (#135772)

Add APIntParameter with custom implementation for comparison and use it
in llvm.constant_range attribute. This is necessary because the default
equality operator of APInt asserts when the bit widths of the compared
APInts differ. The comparison is used by StorageUniquer when hashes of
two ranges with different bit widths collide.


  Commit: 3d7e56fd28cd2195e7f330f933d491530e274401
      https://github.com/llvm/llvm-project/commit/3d7e56fd28cd2195e7f330f933d491530e274401
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_tmop.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
    M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
    M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-tmop.ll

  Log Message:
  -----------
  [AArch64][clang][llvm] Add structured sparsity outer product (TMOP) intrinsics (#135145)

Implement all {BF/F/S/U/SU/US}TMOP intrinsics in clang and llvm
following the ACLE in https://github.com/ARM-software/acle/pull/380/files


  Commit: d508f0cb009a0be98ca97f4dc0498294e0681a66
      https://github.com/llvm/llvm-project/commit/d508f0cb009a0be98ca97f4dc0498294e0681a66
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sme-write-fpmr.ll

  Log Message:
  -----------
  [AArch64] Fix FPMR handling when switching streaming mode (#135827)

According to the
[documentation](https://developer.arm.com/documentation/ddi0601/latest/AArch64-Registers/FPMR--Floating-point-Mode-Register),
the FPMR register is set to 0 when entering or exiting streaming mode.
This patch models that behavior by adding FPMR as an implicit def to the
instructions used for entering and exiting streaming mode.


  Commit: 41c97afea055a5b7264167ec47b8c14c0f471f2f
      https://github.com/llvm/llvm-project/commit/41c97afea055a5b7264167ec47b8c14c0f471f2f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Remove handling of duplicates from getGatherCost

Duplicates are handled in BoUpSLP::processBuildVector (see TryPackScalars), support for duplicates in getGatherCost is not needed anymore.

Reviewers: hiraditya, RKSimon

Reviewed By: hiraditya, RKSimon

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


  Commit: 1e61b374ba3ba2891dc1abda732b0b9263216785
      https://github.com/llvm/llvm-project/commit/1e61b374ba3ba2891dc1abda732b0b9263216785
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] Tighten the semantics of vector.gather (#135749)

This patch restricts `vector.gather` to only accept tensors and memrefs
as valid sources. Currently, the source is typed as `AnyShaped`, which
also includes vectors—allowing the following (invalid) construct to pass
verification:

```mlir
  %0 = vector.gather %base[%c0][%indices], %mask, %pass_thru
       : vector<16xf32>, vector<16xi32>, vector<16xi1>, vector<16xf32> into vector<16xf32>
```
(Note: the source %base here is a vector, which is incorrect.)

In contrast, `vector.scatter` currently only accepts memrefs, so some
asymmetry remains between the two ops. This PR is a step toward aligning
their semantics.


  Commit: 2d63faead4e6339e679ab62113f47112d67a5b06
      https://github.com/llvm/llvm-project/commit/2d63faead4e6339e679ab62113f47112d67a5b06
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/FunctionPointer.cpp
    M clang/lib/AST/ByteCode/FunctionPointer.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/PrimType.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove PT_FnPtr (#135947)

We don't need this anymore since we don't return it from classify()
anymore.


  Commit: bc03d6cce25712601423398350f56114e64e4e29
      https://github.com/llvm/llvm-project/commit/bc03d6cce25712601423398350f56114e64e4e29
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [VPlan] Introduce all loop regions as VPlan transform. (NFC) (#129402)

Further simplify VPlan CFG builder by moving introduction of inner
regions to a VPlan transform, building on
https://github.com/llvm/llvm-project/pull/128419.

The HCFG builder now only constructs plain CFGs. I will move it to
VPlanConstruction as follow-up.

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

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


  Commit: bb5f53c727419c90e3ad6ca7db49330c64a8f54c
      https://github.com/llvm/llvm-project/commit/bb5f53c727419c90e3ad6ca7db49330c64a8f54c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/X86/pr134602.ll
    M llvm/test/CodeGen/X86/pr135917.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll

  Log Message:
  -----------
  [DAG] isSplatValue - only treat binop splats with repeated undef elements as undef (#135945)

#135597 didn't correctly fix the issue of binops with an undef element
from only one operand - only reporting the common undef elements could
incorrectly recognise splats where the (binop X, undef) fold might
actually be different - we need to ensure both operands have the same
demanded undefs for certainty.

Fixes #135917


  Commit: cf2399a2ee5b8a721eff385acbaa68fb9b00127c
      https://github.com/llvm/llvm-project/commit/cf2399a2ee5b8a721eff385acbaa68fb9b00127c
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [CI] enable code-format-helper for .cl files (#135748)

In clang-format, OpenCL .cl file uses default C++ formatting. There are
many pull-requests in libclc project that change OpenCL files. It is
beneficial to enable clang-format for them in CI.


  Commit: 38ca73db223031b1831cd24ef66ddb6a8546a16c
      https://github.com/llvm/llvm-project/commit/38ca73db223031b1831cd24ef66ddb6a8546a16c
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp

  Log Message:
  -----------
  [clang][bytecode] Give typeinfo APValues an LValuePath (#135948)

That's what the current interpreter does as well.


  Commit: 27c1aa9b9cf9e0b14211758ff8f7d3aaba24ffcf
      https://github.com/llvm/llvm-project/commit/27c1aa9b9cf9e0b14211758ff8f7d3aaba24ffcf
  Author: mgschossmann <109181247+mgschossmann at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    A clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp

  Log Message:
  -----------
  [Clang,debuginfo] added vtt parameter in destructor DISubroutineType (#130674)

Fixes issue #104765: When creating a virtual destructor with an
artificial "vtt" argument, the type of "vtt" was previously missing in
the `DISubroutineType` `types` array.

This commit fixes this behavior and adds a regression test.


  Commit: 616613c80b75614736d0781d12c0e1237d79738f
      https://github.com/llvm/llvm-project/commit/616613c80b75614736d0781d12c0e1237d79738f
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/cxx2c-delete-with-message.cpp

  Log Message:
  -----------
  [Clang] [Sema] Fix a crash when a `friend` function is redefined as deleted (#135679)

NB: This only fixes the crash introduced in Clang 19; we still accept
this code even though we shouldn’t:
```c++
struct S {
    friend int f() { return 3; }
    friend int f() = delete;
};
```
I tried figuring out a way to diagnose this redeclaration, but it seems
tricky because I kept running into issues around defaulted comparison
operators. From my testing, however, this fix here would still be
required even once we do start diagnosing this.

Fixes #135506.


  Commit: 30990c09c99bdcbfa7084d32b2b9851e19b6fb2a
      https://github.com/llvm/llvm-project/commit/30990c09c99bdcbfa7084d32b2b9851e19b6fb2a
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/test/Lower/do_concurrent.f90
    M flang/test/Lower/do_concurrent_local_default_init.f90
    M flang/test/Lower/loops.f90
    M flang/test/Lower/loops3.f90
    M flang/test/Lower/nsw.f90
    M flang/test/Transforms/DoConcurrent/basic_host.f90
    M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
    M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
    M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
    M flang/test/Transforms/DoConcurrent/non_const_bounds.f90
    M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90

  Log Message:
  -----------
  Revert "[flang][fir] Lower `do concurrent` loop nests to `fir.do_concurrent` (#132904)" (#135904)

This reverts commit 04b87e15e40f8857e29ade8321b8b67691545a50.

The reasons for reverting is that the following:
1. I still need need to upstream some part of the do concurrent to
OpenMP pass from our downstream implementation and taking this in
downstream will make things more difficult.
2. I still need to work on a solution for modeling locality specifiers
on `hlfir.do_concurrent` ops. I would prefer to do that and merge the
entire stack together instead of having a partial solution.

After merging the revert I will reopen the origianl PR and keep it
updated against main until I finish the above.


  Commit: fe4a31d59db7b18dc45c3593bf100c101e725b79
      https://github.com/llvm/llvm-project/commit/fe4a31d59db7b18dc45c3593bf100c101e725b79
  Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [bazel] Fix bazel build after 00eaff3e9c897c263a879416d0f151d7ca7eeaff. (#135949)


  Commit: d3153ad66c539ad146062b6e65741901e5b5e1cc
      https://github.com/llvm/llvm-project/commit/d3153ad66c539ad146062b6e65741901e5b5e1cc
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Lex/ModuleLoader.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/LoopHint.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp

  Log Message:
  -----------
  [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (#135808)

I found this issue when I working on
https://github.com/llvm/llvm-project/pull/107168.

Currently we have many similiar data structures like:
 - `std::pair<IdentifierInfo *, SourceLocation>`.
 - Element type of `ModuleIdPath`.
 - `IdentifierLocPair`.
 - `IdentifierLoc`.
 
This PR unify these data structures to `IdentifierLoc`, moved
`IdentifierLoc` definition to SourceLocation.h, and deleted other
similer data structures.

---------

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


  Commit: af28c9c65a23806a09d7929792df5ed2e9bdf946
      https://github.com/llvm/llvm-project/commit/af28c9c65a23806a09d7929792df5ed2e9bdf946
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/split-vector-operand-with-reuses.ll

  Log Message:
  -----------
  [SLP]Do not reorder split node operand with reuses, if not possible

Need to check if the operand node of the split vectorize node has reuses
and check if it is possible to build the order for this node to reorder
it correctly.

Fixes #135912


  Commit: 1bfd44462886b167f0d82e44e6a9856a830c1f8b
      https://github.com/llvm/llvm-project/commit/1bfd44462886b167f0d82e44e6a9856a830c1f8b
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/NVPTX/and-or-setcc.ll
    A llvm/test/CodeGen/X86/and-or-setcc.ll

  Log Message:
  -----------
  [DAGCombiner] Fold and/or of NaN SETCC (#135645)

Fold an AND or OR of two NaN SETCC nodes into a single SETCC where
possible. This optimization already exists in InstCombine but adding in
here as well can allow for additional folding if more logical operations
are exposed.


  Commit: 181872ffcc7dc7f20ed2b84e8fa39beba41cb6d3
      https://github.com/llvm/llvm-project/commit/181872ffcc7dc7f20ed2b84e8fa39beba41cb6d3
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    A llvm/test/MC/AMDGPU/bf16_imm-fake16.s
    M llvm/test/MC/AMDGPU/bf16_imm.s
    A llvm/test/MC/AMDGPU/gfx11-promotions-fake16.s
    M llvm/test/MC/AMDGPU/gfx11-promotions.s
    A llvm/test/MC/AMDGPU/gfx1150_asm_features-fake16.s
    M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vinterp_err-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3_features.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] update a few mc test for true16 (#135816)

This is another NFC patch.

Update mc test for a few true16 instructions by duplicating the file to
fake16 versions and udpate `mattr` flag with +/-real-true16. Also added
some fake16 file that are not properly created before


  Commit: 6cfec29cb9bc44ec907eeda99df508985ecbd49b
      https://github.com/llvm/llvm-project/commit/6cfec29cb9bc44ec907eeda99df508985ecbd49b
  Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/Driver/linker-wrapper-image.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M llvm/include/llvm/Object/OffloadBinary.h

  Log Message:
  -----------
  [Offload][SYCL] Refactor OffloadKind implementation (#135809)

Following are the changes:

1. Make OffloadKind enum values to be powers of two so we can use them
like a bitfield
2. Include OFK_SYCL enum value
3. Modify ActiveOffloadKinds support in clang-linker-wrapper to use
bitfields instead of a vector.

Thanks

---------

Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>


  Commit: de90487fc17fb928de7d0cd75d47a44db5181c14
      https://github.com/llvm/llvm-project/commit/de90487fc17fb928de7d0cd75d47a44db5181c14
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_expa.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-intrinsics-fexpa.ll
    M llvm/test/MC/AArch64/SVE/fexpa.s

  Log Message:
  -----------
  [AARCH64] Add FEAT_SSVE_FEXPA and fix unsupported features list (#134368)

This patch adds new feature introduced in [2025-03
release](https://developer.arm.com/documentation/ddi0602/2025-03/SVE-Instructions/FEXPA--Floating-point-exponential-accelerator-)
and changes feature requirements for fexpa instructions and intrinsics.

Additionally it fixes unsupported features list by moving fearures
dependent on sme2p1 to correct location.


  Commit: 9483aaaaaa427b5dcb9a7af8f232a4696eef94bf
      https://github.com/llvm/llvm-project/commit/9483aaaaaa427b5dcb9a7af8f232a4696eef94bf
  Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h

  Log Message:
  -----------
  [bazel] Fix bazel build after 00eaff3 #2. (#135962)

The linter messed up the order of includes, which is necessary as is.


  Commit: 183cb45c1280b80a0022649d1db8a93544bb97b0
      https://github.com/llvm/llvm-project/commit/183cb45c1280b80a0022649d1db8a93544bb97b0
  Author: John Harrison <harjohn at google.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp

  Log Message:
  -----------
  [lldb-dap] Fixing a race during disconnect. (#135872)

While attempting to disconnect the DAP transport reader thread is
setting
`disconnecting` as soon as it sees a [disconnect
request](https://microsoft.github.io/debug-adapter-protocol/specification#Requests_Disconnect).

However, if it is processing another request when this disconnect
arrives the `DAP::Loop` handler may exit the loop without replying to
the disconnect request.

There has been some instability on the CI jobs due to this race, for
example https://lab.llvm.org/buildbot/#/builders/59/builds/16076

To address this, ensure we only return from `DAP::Loop` once we've
emptied the queue.


  Commit: ef1abbe32e66c16118ded6dd9f7b1a55dea8c2b6
      https://github.com/llvm/llvm-project/commit/ef1abbe32e66c16118ded6dd9f7b1a55dea8c2b6
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

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

  Log Message:
  -----------
  [NVPTX] Remove extraneous initializeNVVMReflectLegacyPassPass declaration (#135825)

This was already declared in NVPTX.h and I accidentally added it back in
#134416.


  Commit: 31c6f5af1028c979ba2226db2c615682b4e41a4c
      https://github.com/llvm/llvm-project/commit/31c6f5af1028c979ba2226db2c615682b4e41a4c
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-04-17 (Thu, 17 Apr 2025)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/generate_test_report_lib.py
    M .ci/generate_test_report_lib_test.py
    M .ci/metrics/metrics.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .github/new-prs-labeler.yml
    M .github/workflows/ci-post-commit-analyzer.yml
    M .github/workflows/containers/github-action-ci-windows/Dockerfile
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/spirv-tests.yml
    M .mailmap
    M bolt/CMakeLists.txt
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/Relocation.h
    M bolt/include/bolt/Passes/DataflowAnalysis.h
    M bolt/include/bolt/Passes/PAuthGadgetScanner.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Passes/AsmDump.cpp
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/runtime/common.h
    M bolt/runtime/hugify.cpp
    M bolt/test/AArch64/tls.c
    A bolt/test/AArch64/validate-secondary-entry-point.s
    A bolt/test/RISCV/validate-secondary-entry-point.s
    M bolt/test/X86/callcont-fallthru.s
    M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
    M bolt/test/binary-analysis/AArch64/cmdline-args.test
    M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
    A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
    A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
    M bolt/test/link_fdata.py
    A bolt/test/runtime/Inputs/user_func_order.txt
    R bolt/test/runtime/X86/Inputs/user_func_order.txt
    R bolt/test/runtime/X86/hugify.c
    R bolt/test/runtime/X86/user-func-reorder.c
    A bolt/test/runtime/hugify.c
    A bolt/test/runtime/relative-vftable.cpp
    A bolt/test/runtime/user-func-reorder.c
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/CMakeLists.txt
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M clang-tools-extra/clang-doc/CMakeLists.txt
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    A clang-tools-extra/clang-doc/support/CMakeLists.txt
    A clang-tools-extra/clang-doc/support/File.cpp
    A clang-tools-extra/clang-doc/support/File.h
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/Headers.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
    M clang-tools-extra/clangd/test/CMakeLists.txt
    M clang-tools-extra/clangd/test/lit.site.cfg.py.in
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/include-cleaner.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.rst
    M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
    M clang-tools-extra/test/clang-doc/basic-project.test
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
    M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
    M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
    M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
    M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
    M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/swapped-arguments.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
    M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
    M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
    M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.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
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/HLSL.cmake
    M clang/docs/ClangFormat.rst
    M clang/docs/ControlFlowIntegrity.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/PointerAuthentication.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTImporter.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/ASTStructuralEquivalence.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclOpenACC.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/DeclarationName.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprObjC.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/include/clang/AST/Mangle.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    A clang/include/clang/ASTMatchers/LowLevelHelpers.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    A clang/include/clang/Analysis/Support/FixitUtil.h
    M clang/include/clang/Basic/ABI.h
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    A clang/include/clang/Basic/BuiltinsDirectX.td
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/DarwinSDKInfo.h
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticAST.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticAnalysis.h
    M clang/include/clang/Basic/DiagnosticComment.h
    M clang/include/clang/Basic/DiagnosticCrossTU.h
    M clang/include/clang/Basic/DiagnosticDriver.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontend.h
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticInstallAPI.h
    M clang/include/clang/Basic/DiagnosticLex.h
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParse.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticRefactoring.h
    M clang/include/clang/Basic/DiagnosticSema.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerialization.h
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/SyncScope.h
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TokenKinds.def
    A clang/include/clang/Basic/UnsignedOrNone.h
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    A clang/include/clang/CIR/LoweringHelpers.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Lex/LexHLSLRootSignature.h
    M clang/include/clang/Lex/ModuleLoader.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/LoopHint.h
    M clang/include/clang/Parse/ParseHLSLRootSignature.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/HeuristicResolver.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaCodeCompletion.h
    A clang/include/clang/Sema/SemaDirectX.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaLambda.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Sema/TemplateDeduction.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/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/FunctionPointer.cpp
    M clang/lib/AST/ByteCode/FunctionPointer.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclOpenACC.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/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/lib/ASTMatchers/CMakeLists.txt
    A clang/lib/ASTMatchers/LowLevelHelpers.cpp
    M clang/lib/Analysis/CMakeLists.txt
    A clang/lib/Analysis/FixitUtil.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/DarwinSDKInfo.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/NVPTX.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/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CIR/CodeGen/Address.h
    A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    A clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    A clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    A clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Lowering/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    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/CodeGenTypes.h
    M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/Driver/Driver.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/AVR.cpp
    M clang/lib/Driver/ToolChains/AVR.h
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.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/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/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MipsLinux.cpp
    M clang/lib/Driver/ToolChains/MipsLinux.h
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OHOS.h
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.h
    M clang/lib/Driver/ToolChains/ROCm.h
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
    M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
    M clang/lib/Headers/altivec.h
    M clang/lib/Headers/amxcomplexintrin.h
    M clang/lib/Headers/avx10_2_512bf16intrin.h
    M clang/lib/Headers/avx10_2bf16intrin.h
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/LexHLSLRootSignature.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseHLSLRootSignature.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.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
    A clang/lib/Sema/SemaDirectX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaFunctionEffects.cpp
    M clang/lib/Sema/SemaHLSL.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/SemaObjC.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.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/StaticAnalyzer/Checkers/CastSizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/AST/ByteCode/codegen.cpp
    M clang/test/AST/ByteCode/cxx17.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    A clang/test/AST/ByteCode/libcxx/minmax.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
    A clang/test/AST/ByteCode/typeid.cpp
    M clang/test/AST/HLSL/cbuffer.hlsl
    A clang/test/AST/HLSL/private.hlsl
    M clang/test/AST/ast-dump-APValue-lvalue.cpp
    M clang/test/AST/ast-dump-array.cpp
    M clang/test/AST/ast-dump-ptrauth-json.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/ast-print-openacc-combined-construct.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/AST/ast-print-openacc-declare-construct.cpp
    M clang/test/AST/ast-print-openacc-init-construct.cpp
    M clang/test/AST/ast-print-openacc-loop-construct.cpp
    M clang/test/AST/ast-print-openacc-routine-construct.cpp
    M clang/test/AST/ast-print-openacc-set-construct.cpp
    M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
    M clang/test/AST/ast-print-openacc-update-construct.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
    M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
    M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
    A clang/test/Analysis/castsize.c
    M clang/test/C/C11/n1285.c
    A clang/test/C/C11/n1285_1.c
    M clang/test/C/C11/n1330.c
    M clang/test/C/C23/n3042.c
    M clang/test/C/drs/dr0xx.c
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/basic.c
    M clang/test/CIR/CodeGen/basic.cpp
    A clang/test/CIR/CodeGen/binassign.c
    A clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/cast.cpp
    A clang/test/CIR/CodeGen/cmp.cpp
    A clang/test/CIR/CodeGen/comma.c
    A clang/test/CIR/CodeGen/if-consteval.cpp
    A clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    A clang/test/CIR/CodeGen/nullptr-init.cpp
    A clang/test/CIR/CodeGen/struct.c
    A clang/test/CIR/CodeGen/struct.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    A clang/test/CIR/CodeGen/union.c
    A clang/test/CIR/CodeGenOpenACC/data.c
    A clang/test/CIR/CodeGenOpenACC/init.c
    A clang/test/CIR/CodeGenOpenACC/kernels.c
    A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented-global.cpp
    A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
    A clang/test/CIR/CodeGenOpenACC/parallel.c
    A clang/test/CIR/CodeGenOpenACC/serial.c
    A clang/test/CIR/CodeGenOpenACC/set.c
    A clang/test/CIR/CodeGenOpenACC/shutdown.c
    A clang/test/CIR/IR/binassign.cir
    A clang/test/CIR/IR/call.cir
    A clang/test/CIR/IR/cmp.cir
    A clang/test/CIR/IR/struct.cir
    M clang/test/CIR/Lowering/array.cpp
    A clang/test/CIR/Lowering/if.cir
    A clang/test/CIR/Transforms/if.cir
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
    M clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/drs/cwg15xx.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
    M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
    A clang/test/ClangScanDeps/modules-relocated-mm-macro.c
    M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
    M clang/test/CodeCompletion/member-access.c
    M clang/test/CodeCompletion/member-access.cpp
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_expa.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
    A clang/test/CodeGen/Inputs/cuda.h
    M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGen/arm-target-features.c
    A clang/test/CodeGen/atomic-ops-load.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/bounds-checking-debuginfo.c
    A clang/test/CodeGen/builtin-maxnum-minnum.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/catch-alignment-assumption-array.c
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
    A clang/test/CodeGen/cfi-check-fail-nomerge.c
    M clang/test/CodeGen/cfi-check-fail.c
    A clang/test/CodeGen/cfi-check-fail2-nomerge.c
    M clang/test/CodeGen/cfi-check-fail2.c
    A clang/test/CodeGen/invalid_llvm_ir.ll
    A clang/test/CodeGen/nvptx-surface.cu
    M clang/test/CodeGen/pointer-overflow.c
    M clang/test/CodeGen/pragma-fenv_access.c
    A clang/test/CodeGen/ptrauth-debuginfo.c
    A clang/test/CodeGen/ptrauth-qualifier-const-init.c
    A clang/test/CodeGen/ptrauth-qualifier-function.c
    A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
    M clang/test/CodeGen/ubsan-trap-merge.c
    A clang/test/CodeGen/unique-source-file-names.c
    M clang/test/CodeGen/xcore-abi.c
    M clang/test/CodeGenCUDA/offloading-entries.cu
    A clang/test/CodeGenCXX/Inputs/std-coroutine.h
    A clang/test/CodeGenCXX/bug135668.cpp
    M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
    A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
    A clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp
    M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    A clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
    A clang/test/CodeGenCXX/mangle-ms-ptrauth.cpp
    M clang/test/CodeGenCXX/mangle-template.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
    M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/pointers-to-data-members.cpp
    A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
    M clang/test/CodeGenCXX/sections.cpp
    A clang/test/CodeGenCXX/type-aware-allocators.cpp
    A clang/test/CodeGenCXX/type-aware-coroutines.cpp
    A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
    A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
    A clang/test/CodeGenCoroutines/pr134409.cpp
    A clang/test/CodeGenDirectX/Builtins/dot2add.c
    A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
    M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
    M clang/test/CodeGenHLSL/builtins/distance.hlsl
    A clang/test/CodeGenHLSL/builtins/dot2add.hlsl
    A clang/test/CodeGenHLSL/builtins/dst.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    A clang/test/CodeGenHLSL/builtins/lit.hlsl
    M clang/test/CodeGenHLSL/builtins/reflect.hlsl
    M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
    M clang/test/CodeGenHLSL/cbuffer.hlsl
    M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
    A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
    A clang/test/CodeGenHLSL/out-of-line-static.hlsl
    A clang/test/CodeGenHLSL/res-may-alias.hlsl
    A clang/test/CodeGenHLSL/static-variable.hlsl
    A clang/test/CodeGenHipStdPar/rdc-does-not-enable-hipstdpar.cpp
    A clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
    M clang/test/CodeGenObjC/property-array-type.m
    A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
    M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
    M clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
    M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
    M clang/test/CodeGenOpenCL/kernel-arg-info.cl
    A clang/test/CodeGenOpenCL/opencl-kernel-call.cl
    M clang/test/CodeGenOpenCL/reflect.cl
    M clang/test/CodeGenOpenCL/sampler.cl
    M clang/test/CodeGenOpenCL/spir-calling-conv.cl
    M clang/test/CodeGenOpenCL/visibility.cl
    M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
    M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
    M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
    M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
    M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
    M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
    M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
    M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
    A clang/test/Driver/arm-fpu-selection.s
    M clang/test/Driver/arm-thread-pointer.c
    A clang/test/Driver/armv7-default-neon.s
    A clang/test/Driver/armv7s-default-vfpv4.s
    M clang/test/Driver/armv8.1m.main.s
    M clang/test/Driver/darwin-ld-platform-version-watchos.c
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/hip-options.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-sanitize-options.hip
    A clang/test/Driver/hip-thinlto.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/mips-abi.c
    A clang/test/Driver/openacc-no-cir.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M clang/test/Driver/print-supported-extensions-arm.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/systemz-march.c
    A clang/test/Driver/unique-source-file-names.c
    M clang/test/Driver/x86-target-features.c
    A clang/test/FixIt/fixit-bool.cpp
    M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
    A clang/test/Frontend/dump-minimization-hints.cpp
    M clang/test/Headers/Inputs/include/cuda.h
    A clang/test/Headers/Inputs/include/surface_indirect_functions.h
    M clang/test/Headers/__clang_hip_cmath.hip
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/altivec-header.c
    M clang/test/Headers/openmp_device_math_isnan.cpp
    M clang/test/Import/pack-expansion-expr/test.cpp
    A clang/test/Index/single-file-parse-include-macro.c
    A clang/test/Index/single-file-parse-undefined-function-like-macro.c
    M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
    M clang/test/Interpreter/inline-virtual.cpp
    M clang/test/Misc/target-invalid-cpu-note/systemz.c
    A clang/test/Modules/fmodule-file-mismatch.cppm
    M clang/test/Modules/new-delete.cpp
    M clang/test/Modules/odr_hash.cpp
    A clang/test/Modules/relocatable-modules.cpp
    M clang/test/Modules/safe_buffers_optout.cpp
    M clang/test/Modules/vtable-windows.cppm
    M clang/test/OpenMP/declare_variant_construct_codegen_1.c
    M clang/test/OpenMP/declare_variant_messages.c
    M clang/test/OpenMP/declare_variant_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/distribute_simd_linear_messages.cpp
    M clang/test/OpenMP/for_linear_messages.cpp
    M clang/test/OpenMP/for_simd_linear_messages.cpp
    M clang/test/OpenMP/for_simd_misc_messages.c
    M clang/test/OpenMP/interop_codegen.cpp
    M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/ompx_attributes_codegen.cpp
    M clang/test/OpenMP/parallel_for_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_misc_messages.c
    M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/simd_linear_messages.cpp
    M clang/test/OpenMP/simd_misc_messages.c
    M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
    M clang/test/OpenMP/target_parallel_for_linear_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/target_parallel_no_exceptions.cpp
    M clang/test/OpenMP/target_simd_linear_messages.cpp
    M clang/test/OpenMP/target_team_variable_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
    M clang/test/OpenMP/target_visibility.cpp
    M clang/test/OpenMP/task_affinity_messages.cpp
    M clang/test/OpenMP/task_depend_messages.cpp
    M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
    M clang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
    M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
    A clang/test/Parser/ptrauth-qualifier.c
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Preprocessor/arm-target-features.c
    A clang/test/Preprocessor/constants.c
    A clang/test/Preprocessor/embed-reject-device-files-lin.c
    A clang/test/Preprocessor/embed-reject-device-files-win.c
    M clang/test/Preprocessor/embed___has_embed.c
    M clang/test/Preprocessor/embed_parameter_unrecognized.c
    M clang/test/Preprocessor/has_attribute.c
    M clang/test/Preprocessor/has_attribute.cpp
    M clang/test/Preprocessor/has_c_attribute.c
    M clang/test/Preprocessor/has_include.c
    A clang/test/Preprocessor/pr133574.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    A clang/test/Preprocessor/ptrauth_extension.c
    M clang/test/Profile/cxx-abc-deleting-dtor.cpp
    M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
    M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
    M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_tmop.cpp
    M clang/test/Sema/attr-callback-broken.c
    M clang/test/Sema/attr-capabilities.c
    A clang/test/Sema/attr-decl-after-definition-std.c
    A clang/test/Sema/attr-musttail.cpp
    A clang/test/Sema/clear_cache.c
    M clang/test/Sema/code_align.c
    A clang/test/Sema/complex-div-warn-higher-precision.cpp
    M clang/test/Sema/for.c
    M clang/test/Sema/incomplete-decl.c
    A clang/test/Sema/main-no-return-c89-1.c
    A clang/test/Sema/main-no-return-c89-2.c
    A clang/test/Sema/main-no-return-c89-3.c
    A clang/test/Sema/nullability-and-template-deduction.cpp
    A clang/test/Sema/ptrauth-atomic-ops.c
    A clang/test/Sema/ptrauth-qualifier.c
    M clang/test/Sema/tentative-decls.c
    A clang/test/Sema/warn-cast-function-type-win.c
    M clang/test/Sema/warn-int-in-bool-context.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCXX/align_value.cpp
    M clang/test/SemaCXX/alloc-align-attr.cpp
    M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    A clang/test/SemaCXX/bug135668.cpp
    M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
    M clang/test/SemaCXX/ctad.cpp
    M clang/test/SemaCXX/cxx17-compat.cpp
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
    M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
    M clang/test/SemaCXX/cxx2c-delete-with-message.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/delete.cpp
    M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
    A clang/test/SemaCXX/for-static-assert.cpp
    M clang/test/SemaCXX/new-delete.cpp
    A clang/test/SemaCXX/ptrauth-qualifier.cpp
    A clang/test/SemaCXX/ptrauth-template-parameters.cpp
    A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
    A clang/test/SemaCXX/type-aware-coroutines.cpp
    A clang/test/SemaCXX/type-aware-new-constexpr.cpp
    A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
    A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
    A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
    A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
    A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
    A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
    A clang/test/SemaCXX/type-aware-placement-operators.cpp
    M clang/test/SemaCXX/undefined-partial-specialization.cpp
    M clang/test/SemaCXX/warn-dangling-local.cpp
    A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
    A clang/test/SemaCXX/windows-Wpadded.cpp
    A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
    A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
    M clang/test/SemaHLSL/Language/OutputParameters.hlsl
    A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl
    M clang/test/SemaHLSL/parameter_modifiers.hlsl
    A clang/test/SemaObjC/ptrauth-qualifier.m
    M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-copy-clause.c
    M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-copyin-clause.c
    M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-copyout-clause.c
    M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-create-clause.c
    M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copy-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    M clang/test/SemaOpenACC/compute-construct-create-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
    M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
    M clang/test/SemaOpenACC/data-construct-copy-clause.c
    M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
    M clang/test/SemaOpenACC/data-construct-copyin-clause.c
    M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
    M clang/test/SemaOpenACC/data-construct-copyout-clause.c
    M clang/test/SemaOpenACC/data-construct-create-ast.cpp
    M clang/test/SemaOpenACC/data-construct-create-clause.c
    M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/data-construct-device_type-clause.c
    M clang/test/SemaOpenACC/declare-construct-ast.cpp
    M clang/test/SemaOpenACC/declare-construct.cpp
    A clang/test/SemaOpenACC/device_type_valid_values.c
    M clang/test/SemaOpenACC/init-construct-ast.cpp
    M clang/test/SemaOpenACC/init-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/routine-construct-ast.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/test/SemaOpenACC/set-construct-ast.cpp
    M clang/test/SemaOpenACC/set-construct.cpp
    M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
    M clang/test/SemaOpenACC/shutdown-construct.cpp
    M clang/test/SemaOpenACC/update-construct-ast.cpp
    M clang/test/SemaOpenACC/update-construct.cpp
    M clang/test/SemaOpenCL/atomic-ops.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
    M clang/test/SemaOpenCL/to_addr_builtin.cl
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M clang/test/SemaTemplate/attributes.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/dependent-names.cpp
    M clang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/SemaTemplate/partial-order.cpp
    M clang/test/SemaTemplate/recovery-crash.cpp
    M clang/test/SemaTemplate/temp_arg_nontype.cpp
    M clang/test/SemaTemplate/trailing-return-short-circuit.cpp
    M clang/test/SemaTemplate/type_pack_element.cpp
    M clang/tools/CMakeLists.txt
    R clang/tools/amdgpu-arch/AMDGPUArch.cpp
    R clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    R clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
    R clang/tools/amdgpu-arch/CMakeLists.txt
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/clang-format-diff.py
    M clang/tools/clang-format/git-clang-format
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/libclang.map
    R clang/tools/nvptx-arch/CMakeLists.txt
    R clang/tools/nvptx-arch/NVPTXArch.cpp
    A clang/tools/offload-arch/AMDGPUArchByHIP.cpp
    A clang/tools/offload-arch/AMDGPUArchByKFD.cpp
    A clang/tools/offload-arch/CMakeLists.txt
    A clang/tools/offload-arch/NVPTXArch.cpp
    A clang/tools/offload-arch/OffloadArch.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/toAPValue.cpp
    M clang/unittests/AST/TypePrinterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/Analysis/MacroExpansionContextTest.cpp
    M clang/unittests/Basic/SourceManagerTest.cpp
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJava.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
    M clang/unittests/Lex/LexerTest.cpp
    M clang/unittests/Lex/ModuleDeclStateTest.cpp
    M clang/unittests/Lex/PPCallbacksTest.cpp
    M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
    M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
    M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
    M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
    M clang/unittests/Sema/HeuristicResolverTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/asan_errors.cpp
    M compiler-rt/lib/asan/asan_fake_stack.cpp
    M compiler-rt/lib/asan/asan_flags.inc
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/asan/asan_poisoning.h
    M compiler-rt/lib/asan/asan_posix.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/asan/tests/asan_test.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
    M compiler-rt/lib/ctx_profile/RootAutoDetector.h
    M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    M compiler-rt/lib/interception/interception.h
    M compiler-rt/lib/interception/interception_linux.cpp
    M compiler-rt/lib/interception/interception_linux.h
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/msan/msan.cpp
    M compiler-rt/lib/orc/error.h
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
    M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
    A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
    A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_platform.h
    M compiler-rt/test/asan/TestCases/Linux/asan_rt_confict_test-2.cpp
    M compiler-rt/test/asan/TestCases/Posix/mmap_limit_mb.cpp
    A compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
    A compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
    A compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
    A compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
    A compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
    A compiler-rt/test/ctx_profile/TestCases/autodetect-roots.cpp
    M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
    M compiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
    M compiler-rt/test/hwasan/TestCases/tag-mismatch-border-address.c
    M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
    M compiler-rt/test/sanitizer_common/android_commands/android_run.py
    M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
    M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
    M cross-project-tests/lit.cfg.py
    M flang-rt/cmake/modules/GetToolchainDirs.cmake
    M flang-rt/include/flang-rt/runtime/allocator-registry.h
    M flang-rt/include/flang-rt/runtime/connection.h
    M flang-rt/include/flang-rt/runtime/descriptor.h
    M flang-rt/include/flang-rt/runtime/environment.h
    M flang-rt/include/flang-rt/runtime/io-stmt.h
    M flang-rt/include/flang-rt/runtime/reduction-templates.h
    M flang-rt/include/flang-rt/runtime/terminator.h
    M flang-rt/lib/cuda/allocatable.cpp
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/lib/cuda/descriptor.cpp
    M flang-rt/lib/cuda/kernel.cpp
    M flang-rt/lib/runtime/allocatable.cpp
    M flang-rt/lib/runtime/array-constructor.cpp
    M flang-rt/lib/runtime/assign.cpp
    M flang-rt/lib/runtime/character.cpp
    M flang-rt/lib/runtime/command.cpp
    M flang-rt/lib/runtime/connection.cpp
    M flang-rt/lib/runtime/copy.cpp
    M flang-rt/lib/runtime/derived.cpp
    M flang-rt/lib/runtime/descriptor-io.h
    M flang-rt/lib/runtime/descriptor.cpp
    M flang-rt/lib/runtime/edit-input.cpp
    M flang-rt/lib/runtime/edit-output.cpp
    M flang-rt/lib/runtime/environment.cpp
    M flang-rt/lib/runtime/extensions.cpp
    M flang-rt/lib/runtime/extrema.cpp
    M flang-rt/lib/runtime/findloc.cpp
    M flang-rt/lib/runtime/io-api.cpp
    M flang-rt/lib/runtime/io-stmt.cpp
    M flang-rt/lib/runtime/matmul-transpose.cpp
    M flang-rt/lib/runtime/matmul.cpp
    M flang-rt/lib/runtime/misc-intrinsic.cpp
    M flang-rt/lib/runtime/pointer.cpp
    M flang-rt/lib/runtime/stop.cpp
    M flang-rt/lib/runtime/temporary-stack.cpp
    M flang-rt/lib/runtime/terminator.cpp
    M flang-rt/lib/runtime/tools.cpp
    M flang-rt/lib/runtime/transformational.cpp
    M flang-rt/lib/runtime/unit.cpp
    M flang-rt/lib/runtime/unit.h
    M flang-rt/unittests/Evaluate/reshape.cpp
    M flang-rt/unittests/Runtime/Allocatable.cpp
    M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
    M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang-rt/unittests/Runtime/CUDA/Memory.cpp
    M flang-rt/unittests/Runtime/CharacterTest.cpp
    M flang-rt/unittests/Runtime/CommandTest.cpp
    M flang-rt/unittests/Runtime/TemporaryStack.cpp
    M flang-rt/unittests/Runtime/tools.h
    M flang/docs/ArrayRepacking.md
    M flang/docs/CMakeLists.txt
    M flang/docs/Extensions.md
    M flang/docs/Intrinsics.md
    M flang/docs/ModFiles.md
    M flang/docs/OpenACC.md
    M flang/include/flang/Common/Fortran-consts.h
    M flang/include/flang/Common/real.h
    A flang/include/flang/Common/type-kinds.h
    M flang/include/flang/Common/uint128.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
    M flang/include/flang/Optimizer/Builder/Runtime/Command.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    R flang/include/flang/Optimizer/CodeGen/CGOps.h
    R flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
    A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
    A flang/include/flang/Optimizer/Dialect/FIRCG/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/FIRDialect.h
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
    A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.td
    M flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
    A flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/kernel.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/command.h
    M flang/include/flang/Runtime/complex.h
    M flang/include/flang/Runtime/extensions.h
    M flang/include/flang/Support/Fortran-features.h
    M flang/include/flang/Support/Fortran.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Command.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    R flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    A flang/lib/Optimizer/Dialect/FIRCG/CGOps.cpp
    A flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    A flang/lib/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/OpenACC/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
    M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
    M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    A flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
    A flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/token-sequence.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Semantics/type.cpp
    M flang/lib/Support/Fortran-features.cpp
    M flang/lib/Support/Fortran.cpp
    M flang/module/cudadevice.f90
    M flang/test/Driver/code-object-version.f90
    M flang/test/Driver/do_concurrent_to_omp_cli.f90
    A flang/test/Driver/flang-ld-powerpc.f90
    A flang/test/Driver/frepack-arrays-contiguity.f90
    A flang/test/Driver/frepack-arrays.f90
    A flang/test/Driver/fstack-repack-arrays.f90
    M flang/test/Driver/linker-flags.f90
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/Evaluate/errors01.f90
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir
    M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
    M flang/test/Fir/cse.fir
    M flang/test/Fir/invalid-types.fir
    M flang/test/Fir/invalid.fir
    A flang/test/Fir/target-rewrite-fmfs.fir
    M flang/test/Fir/target-rewrite-selective.fir
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/associate-codegen.fir
    M flang/test/HLFIR/char_extremum-bufferization.fir
    M flang/test/HLFIR/concat-bufferization.fir
    M flang/test/HLFIR/elemental-codegen.fir
    A flang/test/HLFIR/minval-maxval-issue-134308.fir
    A flang/test/HLFIR/volatile1.fir
    A flang/test/HLFIR/volatile2.fir
    A flang/test/HLFIR/volatile3.fir
    A flang/test/HLFIR/volatile4.fir
    M flang/test/Integration/OpenMP/atomic-capture-complex.f90
    A flang/test/Integration/amdgpu-code-object-version.f90
    M flang/test/Integration/debug-local-var-2.f90
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/CUDA/cuda-doconc.cuf
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    M flang/test/Lower/Intrinsics/ieee_flag.f90
    A flang/test/Lower/Intrinsics/putenv-func.f90
    A flang/test/Lower/Intrinsics/putenv-sub.f90
    A flang/test/Lower/Intrinsics/time.f90
    A flang/test/Lower/Intrinsics/unlink-func.f90
    A flang/test/Lower/Intrinsics/unlink-sub.f90
    M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-exit-data.f90
    M flang/test/Lower/OpenACC/acc-host-data.f90
    M flang/test/Lower/OpenACC/acc-init.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-shutdown.f90
    M flang/test/Lower/OpenACC/acc-update.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
    A flang/test/Lower/OpenMP/cancel.f90
    A flang/test/Lower/OpenMP/cancellationpoint.f90
    A flang/test/Lower/OpenMP/clause-cleanup.f90
    A flang/test/Lower/OpenMP/copyprivate3.f90
    M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
    M flang/test/Lower/OpenMP/host-eval.f90
    M flang/test/Lower/OpenMP/loop-directive.f90
    A flang/test/Lower/OpenMP/optional-argument-map.f90
    M flang/test/Lower/OpenMP/task-depend-array-section.f90
    A flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/array-constructor-2.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/optional-value-caller.f90
    M flang/test/Lower/pointer-references.f90
    M flang/test/Lower/polymorphic.f90
    A flang/test/Lower/repack-arrays-safe.f90
    M flang/test/Lower/repack-arrays.f90
    M flang/test/Lower/statement-function.f90
    M flang/test/Lower/structure-constructors.f90
    A flang/test/Parser/OpenMP/bug518.f
    M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
    M flang/test/Parser/OpenMP/sentinels.f
    M flang/test/Parser/continuation-in-conditional-compilation.f
    M flang/test/Preprocessing/bug126459.F90
    A flang/test/Preprocessing/bug134986.F90
    A flang/test/Preprocessing/bug518.F
    M flang/test/Preprocessing/directive-contin-with-pp.F90
    M flang/test/Preprocessing/kind-suffix.F90
    M flang/test/Preprocessing/line-in-contin.F90
    A flang/test/Preprocessing/pp047.F
    M flang/test/Preprocessing/pp132.f90
    A flang/test/Preprocessing/pp135.F90
    M flang/test/Preprocessing/preprocessed-dirs.F90
    M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
    M flang/test/Semantics/OpenACC/acc-data.f90
    M flang/test/Semantics/OpenACC/acc-declare-validity.f90
    M flang/test/Semantics/OpenACC/acc-host-data.f90
    M flang/test/Semantics/OpenACC/acc-init-validity.f90
    M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
    M flang/test/Semantics/OpenACC/acc-update-validity.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    M flang/test/Semantics/OpenMP/interop-construct.f90
    A flang/test/Semantics/OpenMP/threadprivate09.f90
    M flang/test/Semantics/cuf-device-procedures02.cuf
    M flang/test/Semantics/cuf09.cuf
    M flang/test/Semantics/cuf10.cuf
    A flang/test/Semantics/putenv.f90
    M flang/test/Semantics/resolve18.f90
    M flang/test/Semantics/spec-expr.f90
    M flang/test/Semantics/test_errors.py
    M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
    A flang/test/Transforms/lower-repack-arrays-openacc.fir
    A flang/test/Transforms/lower-repack-arrays-openmp.fir
    M flang/test/Transforms/lower-repack-arrays.fir
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/fir-lsp-server/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Optimizer/CMakeLists.txt
    M flang/unittests/Optimizer/FIRTypesTest.cpp
    M libc/Maintainers.rst
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/aarch64/headers.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/arm/headers.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/baremetal/riscv/headers.txt
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/porting.rst
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_itimerval.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    R libc/include/llvm-libc-types/__bsearchcompare_t.h
    R libc/include/llvm-libc-types/__lsearchcompare_t.h
    A libc/include/llvm-libc-types/__search_compare_t.h
    A libc/include/llvm-libc-types/struct_itimerval.h
    M libc/include/llvm-libc-types/suseconds_t.h
    M libc/include/search.yaml
    M libc/include/stdlib.yaml
    M libc/include/sys/time.yaml
    M libc/src/__support/FPUtil/aarch64/sqrt.h
    A libc/src/__support/FPUtil/arm/sqrt.h
    M libc/src/__support/FPUtil/riscv/sqrt.h
    M libc/src/__support/FPUtil/sqrt.h
    M libc/src/__support/macros/properties/cpu_features.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/atan2.cpp
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanhf.cpp
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/cosf16.cpp
    M libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/cospif16.cpp
    M libc/src/math/generic/erff.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/pow.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/sinf16.cpp
    M libc/src/math/generic/sinpif.cpp
    M libc/src/math/generic/sinpif16.cpp
    M libc/src/math/generic/tan.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/math/generic/tanf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/time/CMakeLists.txt
    A libc/src/sys/time/getitimer.h
    A libc/src/sys/time/linux/CMakeLists.txt
    A libc/src/sys/time/linux/getitimer.cpp
    A libc/src/sys/time/linux/setitimer.cpp
    A libc/src/sys/time/linux/utimes.cpp
    A libc/src/sys/time/setitimer.h
    A libc/src/sys/time/utimes.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/str_to_float_comparison_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    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/atan2_test.cpp
    M libc/test/src/math/smoke/atan2f_test.cpp
    M libc/test/src/math/smoke/atan_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/cbrt_test.cpp
    M libc/test/src/math/smoke/cbrtf_test.cpp
    M libc/test/src/math/smoke/cos_test.cpp
    M libc/test/src/math/smoke/cosf16_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/cospif16_test.cpp
    M libc/test/src/math/smoke/cospif_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/exp10m1f_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/exp2m1f_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/pow_test.cpp
    M libc/test/src/math/smoke/powf_test.cpp
    M libc/test/src/math/smoke/sin_test.cpp
    M libc/test/src/math/smoke/sincos_test.cpp
    M libc/test/src/math/smoke/sincosf_test.cpp
    M libc/test/src/math/smoke/sinf16_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/sinpif16_test.cpp
    M libc/test/src/math/smoke/sinpif_test.cpp
    M libc/test/src/math/smoke/tan_test.cpp
    M libc/test/src/math/smoke/tanf16_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/smoke/tanpif16_test.cpp
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/time/CMakeLists.txt
    A libc/test/src/sys/time/getitimer_test.cpp
    A libc/test/src/sys/time/setitimer_test.cpp
    A libc/test/src/sys/time/utimes_test.cpp
    M libc/test/src/time/ctime_test.cpp
    A libclc/clc/include/clc/integer/clc_ctz.h
    M libclc/clc/include/clc/integer/gentype.inc
    M libclc/clc/include/clc/math/gentype.inc
    A libclc/clc/include/clc/misc/clc_shuffle.h
    A libclc/clc/include/clc/misc/clc_shuffle2.h
    A libclc/clc/include/clc/misc/shuffle2_decl.inc
    A libclc/clc/include/clc/misc/shuffle2_def.inc
    A libclc/clc/include/clc/misc/shuffle_decl.inc
    A libclc/clc/include/clc/misc/shuffle_def.inc
    M libclc/clc/lib/clspv/integer/clc_mul_hi.cl
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/integer/clc_ctz.cl
    M libclc/clc/lib/generic/math/clc_frexp.inc
    A libclc/clc/lib/generic/misc/clc_shuffle.cl
    A libclc/clc/lib/generic/misc/clc_shuffle2.cl
    M libclc/clspv/lib/math/fma.cl
    M libclc/cmake/modules/AddLibclc.cmake
    R libclc/generic/include/clc/atom_decl_int32.inc
    R libclc/generic/include/clc/atom_decl_int64.inc
    A libclc/generic/include/clc/atomic/atom_add.h
    A libclc/generic/include/clc/atomic/atom_and.h
    A libclc/generic/include/clc/atomic/atom_cmpxchg.h
    A libclc/generic/include/clc/atomic/atom_dec.h
    A libclc/generic/include/clc/atomic/atom_decl_int32.inc
    A libclc/generic/include/clc/atomic/atom_decl_int64.inc
    A libclc/generic/include/clc/atomic/atom_inc.h
    A libclc/generic/include/clc/atomic/atom_max.h
    A libclc/generic/include/clc/atomic/atom_min.h
    A libclc/generic/include/clc/atomic/atom_or.h
    A libclc/generic/include/clc/atomic/atom_sub.h
    A libclc/generic/include/clc/atomic/atom_xchg.h
    A libclc/generic/include/clc/atomic/atom_xor.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
    R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
    R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/clc.h
    A libclc/generic/include/clc/integer/ctz.h
    M libclc/generic/include/clc/misc/shuffle.h
    M libclc/generic/include/clc/misc/shuffle2.h
    M libclc/generic/lib/SOURCES
    R libclc/generic/lib/atom_int32_binary.inc
    A libclc/generic/lib/atomic/atom_add.cl
    A libclc/generic/lib/atomic/atom_and.cl
    A libclc/generic/lib/atomic/atom_cmpxchg.cl
    A libclc/generic/lib/atomic/atom_dec.cl
    A libclc/generic/lib/atomic/atom_inc.cl
    A libclc/generic/lib/atomic/atom_int32_binary.inc
    A libclc/generic/lib/atomic/atom_max.cl
    A libclc/generic/lib/atomic/atom_min.cl
    A libclc/generic/lib/atomic/atom_or.cl
    A libclc/generic/lib/atomic/atom_sub.cl
    A libclc/generic/lib/atomic/atom_xchg.cl
    A libclc/generic/lib/atomic/atom_xor.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
    R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
    R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
    A libclc/generic/lib/integer/ctz.cl
    M libclc/generic/lib/misc/shuffle.cl
    M libclc/generic/lib/misc/shuffle2.cl
    M libcxx/.clang-format
    M libcxx/cmake/caches/AMDGPU.cmake
    M libcxx/docs/DesignDocs/VisibilityMacros.rst
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes.rst
    R libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__algorithm/out_value_result.h
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/memory_order.h
    M libcxx/include/__atomic/support.h
    M libcxx/include/__bit/bit_log2.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__charconv/tables.h
    M libcxx/include/__charconv/to_chars_base_10.h
    M libcxx/include/__charconv/to_chars_integral.h
    M libcxx/include/__charconv/to_chars_result.h
    M libcxx/include/__charconv/traits.h
    M libcxx/include/__chrono/duration.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/parser_std_format_spec.h
    M libcxx/include/__chrono/time_point.h
    M libcxx/include/__compare/common_comparison_category.h
    M libcxx/include/__compare/compare_three_way.h
    M libcxx/include/__compare/compare_three_way_result.h
    M libcxx/include/__condition_variable/condition_variable.h
    M libcxx/include/__config
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__configuration/platform.h
    M libcxx/include/__coroutine/coroutine_handle.h
    M libcxx/include/__coroutine/noop_coroutine_handle.h
    R libcxx/include/__cxx03/__algorithm/clamp.h
    M libcxx/include/__cxx03/__algorithm/count.h
    M libcxx/include/__cxx03/__algorithm/equal.h
    M libcxx/include/__cxx03/__algorithm/equal_range.h
    M libcxx/include/__cxx03/__algorithm/find.h
    M libcxx/include/__cxx03/__algorithm/find_end.h
    R libcxx/include/__cxx03/__algorithm/fold.h
    M libcxx/include/__cxx03/__algorithm/for_each.h
    R libcxx/include/__cxx03/__algorithm/for_each_n.h
    R libcxx/include/__cxx03/__algorithm/in_found_result.h
    R libcxx/include/__cxx03/__algorithm/in_fun_result.h
    R libcxx/include/__cxx03/__algorithm/in_in_out_result.h
    R libcxx/include/__cxx03/__algorithm/in_in_result.h
    R libcxx/include/__cxx03/__algorithm/in_out_out_result.h
    R libcxx/include/__cxx03/__algorithm/in_out_result.h
    M libcxx/include/__cxx03/__algorithm/includes.h
    M libcxx/include/__cxx03/__algorithm/is_permutation.h
    M libcxx/include/__cxx03/__algorithm/iterator_operations.h
    R libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
    M libcxx/include/__cxx03/__algorithm/lower_bound.h
    M libcxx/include/__cxx03/__algorithm/make_projected.h
    M libcxx/include/__cxx03/__algorithm/max.h
    M libcxx/include/__cxx03/__algorithm/min.h
    M libcxx/include/__cxx03/__algorithm/min_element.h
    R libcxx/include/__cxx03/__algorithm/min_max_result.h
    M libcxx/include/__cxx03/__algorithm/minmax.h
    M libcxx/include/__cxx03/__algorithm/minmax_element.h
    M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
    R libcxx/include/__cxx03/__algorithm/pstl.h
    R libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
    R libcxx/include/__cxx03/__algorithm/ranges_all_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_any_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
    R libcxx/include/__cxx03/__algorithm/ranges_clamp.h
    R libcxx/include/__cxx03/__algorithm/ranges_contains.h
    R libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_count.h
    R libcxx/include/__cxx03/__algorithm/ranges_count_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
    R libcxx/include/__cxx03/__algorithm/ranges_equal.h
    R libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
    R libcxx/include/__cxx03/__algorithm/ranges_fill.h
    R libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_find.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_end.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
    R libcxx/include/__cxx03/__algorithm/ranges_find_last.h
    R libcxx/include/__cxx03/__algorithm/ranges_for_each.h
    R libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_generate.h
    R libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_includes.h
    R libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
    R libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
    R libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
    R libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
    R libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
    R libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_max.h
    R libcxx/include/__cxx03/__algorithm/ranges_max_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_merge.h
    R libcxx/include/__cxx03/__algorithm/ranges_min.h
    R libcxx/include/__cxx03/__algorithm/ranges_min_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_minmax.h
    R libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
    R libcxx/include/__cxx03/__algorithm/ranges_move.h
    R libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
    R libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
    R libcxx/include/__cxx03/__algorithm/ranges_none_of.h
    R libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
    R libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
    R libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_partition.h
    R libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
    R libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
    R libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
    R libcxx/include/__cxx03/__algorithm/ranges_reverse.h
    R libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_rotate.h
    R libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_sample.h
    R libcxx/include/__cxx03/__algorithm/ranges_search.h
    R libcxx/include/__cxx03/__algorithm/ranges_search_n.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
    R libcxx/include/__cxx03/__algorithm/ranges_set_union.h
    R libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
    R libcxx/include/__cxx03/__algorithm/ranges_sort.h
    R libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
    R libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
    R libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
    R libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
    R libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
    R libcxx/include/__cxx03/__algorithm/ranges_transform.h
    R libcxx/include/__cxx03/__algorithm/ranges_unique.h
    R libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
    R libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
    R libcxx/include/__cxx03/__algorithm/sample.h
    M libcxx/include/__cxx03/__algorithm/search.h
    M libcxx/include/__cxx03/__algorithm/search_n.h
    M libcxx/include/__cxx03/__algorithm/set_difference.h
    M libcxx/include/__cxx03/__algorithm/set_intersection.h
    R libcxx/include/__cxx03/__algorithm/shift_left.h
    R libcxx/include/__cxx03/__algorithm/shift_right.h
    M libcxx/include/__cxx03/__algorithm/simd_utils.h
    M libcxx/include/__cxx03/__algorithm/sort.h
    M libcxx/include/__cxx03/__algorithm/unwrap_range.h
    M libcxx/include/__cxx03/__algorithm/upper_bound.h
    R libcxx/include/__cxx03/__atomic/atomic_ref.h
    R libcxx/include/__cxx03/__bit/bit_cast.h
    R libcxx/include/__cxx03/__bit/bit_ceil.h
    R libcxx/include/__cxx03/__bit/bit_floor.h
    R libcxx/include/__cxx03/__bit/bit_log2.h
    R libcxx/include/__cxx03/__bit/bit_width.h
    R libcxx/include/__cxx03/__bit/byteswap.h
    M libcxx/include/__cxx03/__bit/countl.h
    M libcxx/include/__cxx03/__bit/countr.h
    R libcxx/include/__cxx03/__bit/endian.h
    R libcxx/include/__cxx03/__bit/has_single_bit.h
    M libcxx/include/__cxx03/__bit/invert_if.h
    M libcxx/include/__cxx03/__bit/popcount.h
    M libcxx/include/__cxx03/__bit/rotate.h
    M libcxx/include/__cxx03/__bit_reference
    R libcxx/include/__cxx03/__charconv/chars_format.h
    R libcxx/include/__cxx03/__charconv/from_chars_integral.h
    R libcxx/include/__cxx03/__charconv/from_chars_result.h
    R libcxx/include/__cxx03/__charconv/tables.h
    R libcxx/include/__cxx03/__charconv/to_chars.h
    R libcxx/include/__cxx03/__charconv/to_chars_base_10.h
    R libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
    R libcxx/include/__cxx03/__charconv/to_chars_integral.h
    R libcxx/include/__cxx03/__charconv/to_chars_result.h
    R libcxx/include/__cxx03/__charconv/traits.h
    R libcxx/include/__cxx03/__chrono/calendar.h
    R libcxx/include/__cxx03/__chrono/concepts.h
    R libcxx/include/__cxx03/__chrono/convert_to_tm.h
    R libcxx/include/__cxx03/__chrono/day.h
    M libcxx/include/__cxx03/__chrono/duration.h
    R libcxx/include/__cxx03/__chrono/exception.h
    R libcxx/include/__cxx03/__chrono/file_clock.h
    R libcxx/include/__cxx03/__chrono/formatter.h
    R libcxx/include/__cxx03/__chrono/hh_mm_ss.h
    R libcxx/include/__cxx03/__chrono/leap_second.h
    R libcxx/include/__cxx03/__chrono/literals.h
    R libcxx/include/__cxx03/__chrono/local_info.h
    R libcxx/include/__cxx03/__chrono/month.h
    R libcxx/include/__cxx03/__chrono/month_weekday.h
    R libcxx/include/__cxx03/__chrono/monthday.h
    R libcxx/include/__cxx03/__chrono/ostream.h
    R libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
    R libcxx/include/__cxx03/__chrono/statically_widen.h
    R libcxx/include/__cxx03/__chrono/sys_info.h
    M libcxx/include/__cxx03/__chrono/time_point.h
    R libcxx/include/__cxx03/__chrono/time_zone.h
    R libcxx/include/__cxx03/__chrono/time_zone_link.h
    R libcxx/include/__cxx03/__chrono/tzdb.h
    R libcxx/include/__cxx03/__chrono/tzdb_list.h
    R libcxx/include/__cxx03/__chrono/weekday.h
    R libcxx/include/__cxx03/__chrono/year.h
    R libcxx/include/__cxx03/__chrono/year_month.h
    R libcxx/include/__cxx03/__chrono/year_month_day.h
    R libcxx/include/__cxx03/__chrono/year_month_weekday.h
    R libcxx/include/__cxx03/__chrono/zoned_time.h
    R libcxx/include/__cxx03/__compare/common_comparison_category.h
    R libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
    R libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
    R libcxx/include/__cxx03/__compare/compare_three_way.h
    R libcxx/include/__cxx03/__compare/compare_three_way_result.h
    R libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
    R libcxx/include/__cxx03/__compare/is_eq.h
    R libcxx/include/__cxx03/__compare/ordering.h
    R libcxx/include/__cxx03/__compare/partial_order.h
    R libcxx/include/__cxx03/__compare/strong_order.h
    R libcxx/include/__cxx03/__compare/synth_three_way.h
    R libcxx/include/__cxx03/__compare/three_way_comparable.h
    R libcxx/include/__cxx03/__compare/weak_order.h
    R libcxx/include/__cxx03/__concepts/arithmetic.h
    R libcxx/include/__cxx03/__concepts/assignable.h
    R libcxx/include/__cxx03/__concepts/boolean_testable.h
    R libcxx/include/__cxx03/__concepts/class_or_enum.h
    R libcxx/include/__cxx03/__concepts/common_reference_with.h
    R libcxx/include/__cxx03/__concepts/common_with.h
    R libcxx/include/__cxx03/__concepts/constructible.h
    R libcxx/include/__cxx03/__concepts/convertible_to.h
    R libcxx/include/__cxx03/__concepts/copyable.h
    R libcxx/include/__cxx03/__concepts/derived_from.h
    R libcxx/include/__cxx03/__concepts/destructible.h
    R libcxx/include/__cxx03/__concepts/different_from.h
    R libcxx/include/__cxx03/__concepts/equality_comparable.h
    R libcxx/include/__cxx03/__concepts/invocable.h
    R libcxx/include/__cxx03/__concepts/movable.h
    R libcxx/include/__cxx03/__concepts/predicate.h
    R libcxx/include/__cxx03/__concepts/regular.h
    R libcxx/include/__cxx03/__concepts/relation.h
    R libcxx/include/__cxx03/__concepts/same_as.h
    R libcxx/include/__cxx03/__concepts/semiregular.h
    R libcxx/include/__cxx03/__concepts/swappable.h
    R libcxx/include/__cxx03/__concepts/totally_ordered.h
    R libcxx/include/__cxx03/__coroutine/coroutine_handle.h
    R libcxx/include/__cxx03/__coroutine/coroutine_traits.h
    R libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
    R libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
    R libcxx/include/__cxx03/__expected/bad_expected_access.h
    R libcxx/include/__cxx03/__expected/expected.h
    R libcxx/include/__cxx03/__expected/unexpect.h
    R libcxx/include/__cxx03/__expected/unexpected.h
    R libcxx/include/__cxx03/__filesystem/copy_options.h
    R libcxx/include/__cxx03/__filesystem/directory_entry.h
    R libcxx/include/__cxx03/__filesystem/directory_iterator.h
    R libcxx/include/__cxx03/__filesystem/directory_options.h
    R libcxx/include/__cxx03/__filesystem/file_status.h
    R libcxx/include/__cxx03/__filesystem/file_time_type.h
    R libcxx/include/__cxx03/__filesystem/file_type.h
    R libcxx/include/__cxx03/__filesystem/filesystem_error.h
    R libcxx/include/__cxx03/__filesystem/operations.h
    R libcxx/include/__cxx03/__filesystem/path.h
    R libcxx/include/__cxx03/__filesystem/path_iterator.h
    R libcxx/include/__cxx03/__filesystem/perm_options.h
    R libcxx/include/__cxx03/__filesystem/perms.h
    R libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
    R libcxx/include/__cxx03/__filesystem/space_info.h
    R libcxx/include/__cxx03/__filesystem/u8path.h
    R libcxx/include/__cxx03/__format/buffer.h
    R libcxx/include/__cxx03/__format/concepts.h
    R libcxx/include/__cxx03/__format/container_adaptor.h
    R libcxx/include/__cxx03/__format/enable_insertable.h
    R libcxx/include/__cxx03/__format/escaped_output_table.h
    R libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
    R libcxx/include/__cxx03/__format/format_arg.h
    R libcxx/include/__cxx03/__format/format_arg_store.h
    R libcxx/include/__cxx03/__format/format_args.h
    R libcxx/include/__cxx03/__format/format_context.h
    R libcxx/include/__cxx03/__format/format_error.h
    R libcxx/include/__cxx03/__format/format_functions.h
    R libcxx/include/__cxx03/__format/format_parse_context.h
    R libcxx/include/__cxx03/__format/format_string.h
    R libcxx/include/__cxx03/__format/format_to_n_result.h
    R libcxx/include/__cxx03/__format/formatter.h
    R libcxx/include/__cxx03/__format/formatter_bool.h
    R libcxx/include/__cxx03/__format/formatter_char.h
    R libcxx/include/__cxx03/__format/formatter_floating_point.h
    R libcxx/include/__cxx03/__format/formatter_integer.h
    R libcxx/include/__cxx03/__format/formatter_integral.h
    R libcxx/include/__cxx03/__format/formatter_output.h
    R libcxx/include/__cxx03/__format/formatter_pointer.h
    R libcxx/include/__cxx03/__format/formatter_string.h
    R libcxx/include/__cxx03/__format/formatter_tuple.h
    R libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
    R libcxx/include/__cxx03/__format/parser_std_format_spec.h
    R libcxx/include/__cxx03/__format/range_default_formatter.h
    R libcxx/include/__cxx03/__format/range_formatter.h
    R libcxx/include/__cxx03/__format/unicode.h
    R libcxx/include/__cxx03/__format/width_estimation_table.h
    R libcxx/include/__cxx03/__format/write_escaped.h
    M libcxx/include/__cxx03/__functional/bind.h
    R libcxx/include/__cxx03/__functional/bind_back.h
    R libcxx/include/__cxx03/__functional/bind_front.h
    R libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
    R libcxx/include/__cxx03/__functional/compose.h
    R libcxx/include/__cxx03/__functional/default_searcher.h
    R libcxx/include/__cxx03/__functional/function.h
    R libcxx/include/__cxx03/__functional/invoke.h
    R libcxx/include/__cxx03/__functional/is_transparent.h
    M libcxx/include/__cxx03/__functional/mem_fn.h
    R libcxx/include/__cxx03/__functional/not_fn.h
    R libcxx/include/__cxx03/__functional/perfect_forward.h
    R libcxx/include/__cxx03/__functional/ranges_operations.h
    M libcxx/include/__cxx03/__functional/reference_wrapper.h
    M libcxx/include/__cxx03/__functional/weak_result_type.h
    R libcxx/include/__cxx03/__fwd/format.h
    R libcxx/include/__cxx03/__fwd/mdspan.h
    R libcxx/include/__cxx03/__fwd/memory_resource.h
    R libcxx/include/__cxx03/__fwd/span.h
    M libcxx/include/__cxx03/__fwd/string.h
    R libcxx/include/__cxx03/__fwd/subrange.h
    M libcxx/include/__cxx03/__hash_table
    M libcxx/include/__cxx03/__iterator/advance.h
    M libcxx/include/__cxx03/__iterator/bounded_iter.h
    R libcxx/include/__cxx03/__iterator/common_iterator.h
    R libcxx/include/__cxx03/__iterator/concepts.h
    R libcxx/include/__cxx03/__iterator/counted_iterator.h
    R libcxx/include/__cxx03/__iterator/data.h
    R libcxx/include/__cxx03/__iterator/default_sentinel.h
    M libcxx/include/__cxx03/__iterator/distance.h
    R libcxx/include/__cxx03/__iterator/empty.h
    R libcxx/include/__cxx03/__iterator/incrementable_traits.h
    R libcxx/include/__cxx03/__iterator/indirectly_comparable.h
    M libcxx/include/__cxx03/__iterator/insert_iterator.h
    M libcxx/include/__cxx03/__iterator/istream_iterator.h
    M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
    R libcxx/include/__cxx03/__iterator/iter_move.h
    R libcxx/include/__cxx03/__iterator/iter_swap.h
    M libcxx/include/__cxx03/__iterator/iterator_traits.h
    R libcxx/include/__cxx03/__iterator/iterator_with_data.h
    R libcxx/include/__cxx03/__iterator/mergeable.h
    M libcxx/include/__cxx03/__iterator/move_iterator.h
    R libcxx/include/__cxx03/__iterator/move_sentinel.h
    M libcxx/include/__cxx03/__iterator/next.h
    R libcxx/include/__cxx03/__iterator/permutable.h
    M libcxx/include/__cxx03/__iterator/prev.h
    R libcxx/include/__cxx03/__iterator/projected.h
    R libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
    R libcxx/include/__cxx03/__iterator/readable_traits.h
    R libcxx/include/__cxx03/__iterator/reverse_access.h
    M libcxx/include/__cxx03/__iterator/reverse_iterator.h
    R libcxx/include/__cxx03/__iterator/size.h
    R libcxx/include/__cxx03/__iterator/sortable.h
    R libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
    M libcxx/include/__cxx03/__iterator/wrap_iter.h
    R libcxx/include/__cxx03/__math/special_functions.h
    R libcxx/include/__cxx03/__mdspan/default_accessor.h
    R libcxx/include/__cxx03/__mdspan/extents.h
    R libcxx/include/__cxx03/__mdspan/layout_left.h
    R libcxx/include/__cxx03/__mdspan/layout_right.h
    R libcxx/include/__cxx03/__mdspan/layout_stride.h
    R libcxx/include/__cxx03/__mdspan/mdspan.h
    R libcxx/include/__cxx03/__memory/concepts.h
    R libcxx/include/__cxx03/__memory/inout_ptr.h
    R libcxx/include/__cxx03/__memory/out_ptr.h
    R libcxx/include/__cxx03/__memory/ranges_construct_at.h
    R libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__cxx03/__memory/shared_ptr.h
    M libcxx/include/__cxx03/__memory/unique_ptr.h
    R libcxx/include/__cxx03/__memory/uses_allocator_construction.h
    R libcxx/include/__cxx03/__memory_resource/memory_resource.h
    R libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
    R libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
    R libcxx/include/__cxx03/__memory_resource/pool_options.h
    R libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
    R libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
    M libcxx/include/__cxx03/__mutex/once_flag.h
    R libcxx/include/__cxx03/__node_handle
    R libcxx/include/__cxx03/__numeric/exclusive_scan.h
    R libcxx/include/__cxx03/__numeric/gcd_lcm.h
    R libcxx/include/__cxx03/__numeric/inclusive_scan.h
    R libcxx/include/__cxx03/__numeric/midpoint.h
    R libcxx/include/__cxx03/__numeric/pstl.h
    R libcxx/include/__cxx03/__numeric/reduce.h
    R libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
    R libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
    R libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
    R libcxx/include/__cxx03/__numeric/transform_reduce.h
    R libcxx/include/__cxx03/__ostream/print.h
    R libcxx/include/__cxx03/__pstl/backend.h
    R libcxx/include/__cxx03/__pstl/backend_fwd.h
    R libcxx/include/__cxx03/__pstl/backends/default.h
    R libcxx/include/__cxx03/__pstl/backends/libdispatch.h
    R libcxx/include/__cxx03/__pstl/backends/serial.h
    R libcxx/include/__cxx03/__pstl/backends/std_thread.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
    R libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
    R libcxx/include/__cxx03/__pstl/dispatch.h
    R libcxx/include/__cxx03/__pstl/handle_exception.h
    M libcxx/include/__cxx03/__random/generate_canonical.h
    M libcxx/include/__cxx03/__random/seed_seq.h
    R libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
    R libcxx/include/__cxx03/__ranges/access.h
    R libcxx/include/__cxx03/__ranges/all.h
    R libcxx/include/__cxx03/__ranges/as_rvalue_view.h
    R libcxx/include/__cxx03/__ranges/chunk_by_view.h
    R libcxx/include/__cxx03/__ranges/common_view.h
    R libcxx/include/__cxx03/__ranges/concepts.h
    R libcxx/include/__cxx03/__ranges/container_compatible_range.h
    R libcxx/include/__cxx03/__ranges/counted.h
    R libcxx/include/__cxx03/__ranges/dangling.h
    R libcxx/include/__cxx03/__ranges/data.h
    R libcxx/include/__cxx03/__ranges/drop_view.h
    R libcxx/include/__cxx03/__ranges/drop_while_view.h
    R libcxx/include/__cxx03/__ranges/elements_view.h
    R libcxx/include/__cxx03/__ranges/empty.h
    R libcxx/include/__cxx03/__ranges/empty_view.h
    R libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
    R libcxx/include/__cxx03/__ranges/enable_view.h
    R libcxx/include/__cxx03/__ranges/filter_view.h
    R libcxx/include/__cxx03/__ranges/from_range.h
    R libcxx/include/__cxx03/__ranges/iota_view.h
    R libcxx/include/__cxx03/__ranges/istream_view.h
    R libcxx/include/__cxx03/__ranges/join_view.h
    R libcxx/include/__cxx03/__ranges/lazy_split_view.h
    R libcxx/include/__cxx03/__ranges/movable_box.h
    R libcxx/include/__cxx03/__ranges/non_propagating_cache.h
    R libcxx/include/__cxx03/__ranges/owning_view.h
    R libcxx/include/__cxx03/__ranges/range_adaptor.h
    R libcxx/include/__cxx03/__ranges/rbegin.h
    R libcxx/include/__cxx03/__ranges/ref_view.h
    R libcxx/include/__cxx03/__ranges/rend.h
    R libcxx/include/__cxx03/__ranges/repeat_view.h
    R libcxx/include/__cxx03/__ranges/reverse_view.h
    R libcxx/include/__cxx03/__ranges/single_view.h
    R libcxx/include/__cxx03/__ranges/size.h
    R libcxx/include/__cxx03/__ranges/split_view.h
    R libcxx/include/__cxx03/__ranges/subrange.h
    R libcxx/include/__cxx03/__ranges/take_view.h
    R libcxx/include/__cxx03/__ranges/take_while_view.h
    R libcxx/include/__cxx03/__ranges/to.h
    R libcxx/include/__cxx03/__ranges/transform_view.h
    R libcxx/include/__cxx03/__ranges/view_interface.h
    R libcxx/include/__cxx03/__ranges/views.h
    R libcxx/include/__cxx03/__ranges/zip_view.h
    R libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
    R libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
    R libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
    R libcxx/include/__cxx03/__stop_token/stop_callback.h
    R libcxx/include/__cxx03/__stop_token/stop_source.h
    R libcxx/include/__cxx03/__stop_token/stop_state.h
    R libcxx/include/__cxx03/__stop_token/stop_token.h
    M libcxx/include/__cxx03/__string/char_traits.h
    M libcxx/include/__cxx03/__system_error/error_category.h
    M libcxx/include/__cxx03/__system_error/error_code.h
    M libcxx/include/__cxx03/__system_error/error_condition.h
    R libcxx/include/__cxx03/__thread/formatter.h
    M libcxx/include/__cxx03/__thread/id.h
    R libcxx/include/__cxx03/__thread/jthread.h
    M libcxx/include/__cxx03/__thread/thread.h
    M libcxx/include/__cxx03/__tree
    R libcxx/include/__cxx03/__tuple/ignore.h
    R libcxx/include/__cxx03/__type_traits/common_reference.h
    R libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
    R libcxx/include/__cxx03/__type_traits/is_aggregate.h
    R libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
    M libcxx/include/__cxx03/__type_traits/result_of.h
    R libcxx/include/__cxx03/__utility/as_const.h
    R libcxx/include/__cxx03/__utility/cmp.h
    M libcxx/include/__cxx03/__utility/exception_guard.h
    R libcxx/include/__cxx03/__utility/exchange.h
    R libcxx/include/__cxx03/__utility/forward_like.h
    R libcxx/include/__cxx03/__utility/in_place.h
    M libcxx/include/__cxx03/__utility/pair.h
    R libcxx/include/__cxx03/__utility/to_underlying.h
    M libcxx/include/__cxx03/algorithm
    R libcxx/include/__cxx03/any
    M libcxx/include/__cxx03/array
    M libcxx/include/__cxx03/atomic
    R libcxx/include/__cxx03/barrier
    R libcxx/include/__cxx03/bit
    M libcxx/include/__cxx03/bitset
    R libcxx/include/__cxx03/charconv
    M libcxx/include/__cxx03/chrono
    M libcxx/include/__cxx03/cmath
    M libcxx/include/__cxx03/codecvt
    R libcxx/include/__cxx03/compare
    R libcxx/include/__cxx03/concepts
    M libcxx/include/__cxx03/condition_variable
    R libcxx/include/__cxx03/coroutine
    M libcxx/include/__cxx03/deque
    R libcxx/include/__cxx03/execution
    R libcxx/include/__cxx03/expected
    R libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
    R libcxx/include/__cxx03/experimental/__simd/declaration.h
    R libcxx/include/__cxx03/experimental/__simd/reference.h
    R libcxx/include/__cxx03/experimental/__simd/scalar.h
    R libcxx/include/__cxx03/experimental/__simd/simd.h
    R libcxx/include/__cxx03/experimental/__simd/simd_mask.h
    R libcxx/include/__cxx03/experimental/__simd/traits.h
    R libcxx/include/__cxx03/experimental/__simd/utility.h
    R libcxx/include/__cxx03/experimental/__simd/vec_ext.h
    R libcxx/include/__cxx03/experimental/iterator
    R libcxx/include/__cxx03/experimental/memory
    R libcxx/include/__cxx03/experimental/propagate_const
    R libcxx/include/__cxx03/experimental/simd
    R libcxx/include/__cxx03/experimental/type_traits
    M libcxx/include/__cxx03/experimental/utility
    M libcxx/include/__cxx03/ext/hash_map
    M libcxx/include/__cxx03/ext/hash_set
    R libcxx/include/__cxx03/filesystem
    R libcxx/include/__cxx03/format
    M libcxx/include/__cxx03/forward_list
    M libcxx/include/__cxx03/fstream
    M libcxx/include/__cxx03/functional
    R libcxx/include/__cxx03/initializer_list
    M libcxx/include/__cxx03/ios
    M libcxx/include/__cxx03/istream
    M libcxx/include/__cxx03/iterator
    R libcxx/include/__cxx03/latch
    M libcxx/include/__cxx03/list
    M libcxx/include/__cxx03/locale
    M libcxx/include/__cxx03/map
    R libcxx/include/__cxx03/mdspan
    M libcxx/include/__cxx03/memory
    R libcxx/include/__cxx03/memory_resource
    M libcxx/include/__cxx03/mutex
    R libcxx/include/__cxx03/numbers
    M libcxx/include/__cxx03/numeric
    R libcxx/include/__cxx03/optional
    M libcxx/include/__cxx03/ostream
    R libcxx/include/__cxx03/print
    M libcxx/include/__cxx03/queue
    M libcxx/include/__cxx03/random
    R libcxx/include/__cxx03/ranges
    M libcxx/include/__cxx03/regex
    R libcxx/include/__cxx03/scoped_allocator
    R libcxx/include/__cxx03/semaphore
    M libcxx/include/__cxx03/set
    R libcxx/include/__cxx03/shared_mutex
    R libcxx/include/__cxx03/source_location
    R libcxx/include/__cxx03/span
    M libcxx/include/__cxx03/stack
    R libcxx/include/__cxx03/stop_token
    M libcxx/include/__cxx03/string
    M libcxx/include/__cxx03/string_view
    R libcxx/include/__cxx03/syncstream
    M libcxx/include/__cxx03/system_error
    M libcxx/include/__cxx03/thread
    R libcxx/include/__cxx03/tuple
    M libcxx/include/__cxx03/type_traits
    M libcxx/include/__cxx03/typeindex
    M libcxx/include/__cxx03/unordered_map
    M libcxx/include/__cxx03/unordered_set
    M libcxx/include/__cxx03/utility
    M libcxx/include/__cxx03/valarray
    R libcxx/include/__cxx03/variant
    M libcxx/include/__cxx03/vector
    A libcxx/include/__flat_set/flat_multiset.h
    M libcxx/include/__flat_set/flat_set.h
    A libcxx/include/__flat_set/utils.h
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/container_adaptor.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/format_parse_context.h
    M libcxx/include/__format/format_string.h
    M libcxx/include/__format/format_to_n_result.h
    M libcxx/include/__format/formatter.h
    M libcxx/include/__format/formatter_bool.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integer.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/include/__format/formatter_pointer.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__format/formatter_tuple.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__format/range_default_formatter.h
    M libcxx/include/__format/range_formatter.h
    M libcxx/include/__functional/binary_function.h
    M libcxx/include/__functional/binary_negate.h
    M libcxx/include/__functional/binder1st.h
    M libcxx/include/__functional/binder2nd.h
    M libcxx/include/__functional/boyer_moore_searcher.h
    M libcxx/include/__functional/default_searcher.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/mem_fun_ref.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/pointer_to_binary_function.h
    M libcxx/include/__functional/pointer_to_unary_function.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__functional/unary_function.h
    M libcxx/include/__functional/unary_negate.h
    M libcxx/include/__fwd/array.h
    M libcxx/include/__fwd/complex.h
    M libcxx/include/__fwd/deque.h
    M libcxx/include/__fwd/format.h
    M libcxx/include/__fwd/fstream.h
    M libcxx/include/__fwd/functional.h
    M libcxx/include/__fwd/ios.h
    M libcxx/include/__fwd/istream.h
    M libcxx/include/__fwd/map.h
    M libcxx/include/__fwd/memory.h
    M libcxx/include/__fwd/memory_resource.h
    M libcxx/include/__fwd/ostream.h
    M libcxx/include/__fwd/pair.h
    M libcxx/include/__fwd/queue.h
    M libcxx/include/__fwd/set.h
    M libcxx/include/__fwd/sstream.h
    M libcxx/include/__fwd/stack.h
    M libcxx/include/__fwd/streambuf.h
    M libcxx/include/__fwd/string.h
    M libcxx/include/__fwd/string_view.h
    M libcxx/include/__fwd/subrange.h
    M libcxx/include/__fwd/tuple.h
    M libcxx/include/__fwd/variant.h
    M libcxx/include/__fwd/vector.h
    M libcxx/include/__hash_table
    M libcxx/include/__ios/fpos.h
    M libcxx/include/__iterator/aliasing_iterator.h
    M libcxx/include/__iterator/back_insert_iterator.h
    M libcxx/include/__iterator/front_insert_iterator.h
    M libcxx/include/__iterator/insert_iterator.h
    M libcxx/include/__iterator/istream_iterator.h
    M libcxx/include/__iterator/istreambuf_iterator.h
    M libcxx/include/__iterator/iterator.h
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__iterator/move_iterator.h
    M libcxx/include/__iterator/move_sentinel.h
    M libcxx/include/__iterator/ostream_iterator.h
    M libcxx/include/__iterator/ostreambuf_iterator.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/locale_base_api.h
    A libcxx/include/__mdspan/aligned_accessor.h
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/auto_ptr.h
    M libcxx/include/__memory/inout_ptr.h
    A libcxx/include/__memory/is_sufficiently_aligned.h
    M libcxx/include/__memory/out_ptr.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/raw_storage_iterator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory/uses_allocator.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__mutex/once_flag.h
    M libcxx/include/__mutex/unique_lock.h
    M libcxx/include/__node_handle
    A libcxx/include/__numeric/ranges_iota.h
    M libcxx/include/__ostream/basic_ostream.h
    M libcxx/include/__random/bernoulli_distribution.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/cauchy_distribution.h
    M libcxx/include/__random/chi_squared_distribution.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/fisher_f_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/geometric_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/lognormal_distribution.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__random/weibull_distribution.h
    M libcxx/include/__ranges/non_propagating_cache.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__stop_token/atomic_unique_lock.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__system_error/error_code.h
    M libcxx/include/__system_error/error_condition.h
    M libcxx/include/__thread/formatter.h
    M libcxx/include/__thread/id.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/__tree
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__tuple/tuple_element.h
    M libcxx/include/__tuple/tuple_size.h
    M libcxx/include/__type_traits/add_cv_quals.h
    M libcxx/include/__type_traits/aligned_storage.h
    M libcxx/include/__type_traits/alignment_of.h
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/__type_traits/conditional.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/dependent_type.h
    M libcxx/include/__type_traits/enable_if.h
    M libcxx/include/__type_traits/extent.h
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/include/__type_traits/has_virtual_destructor.h
    M libcxx/include/__type_traits/integral_constant.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_abstract.h
    M libcxx/include/__type_traits/is_aggregate.h
    M libcxx/include/__type_traits/is_arithmetic.h
    M libcxx/include/__type_traits/is_array.h
    M libcxx/include/__type_traits/is_assignable.h
    M libcxx/include/__type_traits/is_base_of.h
    M libcxx/include/__type_traits/is_bounded_array.h
    M libcxx/include/__type_traits/is_char_like_type.h
    M libcxx/include/__type_traits/is_class.h
    M libcxx/include/__type_traits/is_compound.h
    M libcxx/include/__type_traits/is_const.h
    M libcxx/include/__type_traits/is_constructible.h
    M libcxx/include/__type_traits/is_convertible.h
    M libcxx/include/__type_traits/is_core_convertible.h
    M libcxx/include/__type_traits/is_destructible.h
    M libcxx/include/__type_traits/is_empty.h
    M libcxx/include/__type_traits/is_enum.h
    M libcxx/include/__type_traits/is_final.h
    M libcxx/include/__type_traits/is_floating_point.h
    M libcxx/include/__type_traits/is_function.h
    M libcxx/include/__type_traits/is_fundamental.h
    M libcxx/include/__type_traits/is_implicit_lifetime.h
    M libcxx/include/__type_traits/is_integral.h
    M libcxx/include/__type_traits/is_literal_type.h
    M libcxx/include/__type_traits/is_member_pointer.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_nothrow_destructible.h
    M libcxx/include/__type_traits/is_null_pointer.h
    M libcxx/include/__type_traits/is_object.h
    M libcxx/include/__type_traits/is_pod.h
    M libcxx/include/__type_traits/is_pointer.h
    M libcxx/include/__type_traits/is_polymorphic.h
    M libcxx/include/__type_traits/is_reference.h
    M libcxx/include/__type_traits/is_reference_wrapper.h
    M libcxx/include/__type_traits/is_same.h
    M libcxx/include/__type_traits/is_scalar.h
    M libcxx/include/__type_traits/is_signed.h
    M libcxx/include/__type_traits/is_signed_integer.h
    M libcxx/include/__type_traits/is_standard_layout.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/is_trivial.h
    M libcxx/include/__type_traits/is_trivially_assignable.h
    M libcxx/include/__type_traits/is_trivially_constructible.h
    M libcxx/include/__type_traits/is_trivially_copyable.h
    M libcxx/include/__type_traits/is_trivially_destructible.h
    M libcxx/include/__type_traits/is_unbounded_array.h
    M libcxx/include/__type_traits/is_union.h
    M libcxx/include/__type_traits/is_unsigned.h
    M libcxx/include/__type_traits/is_unsigned_integer.h
    M libcxx/include/__type_traits/is_void.h
    M libcxx/include/__type_traits/is_volatile.h
    M libcxx/include/__type_traits/rank.h
    M libcxx/include/__type_traits/reference_constructs_from_temporary.h
    M libcxx/include/__type_traits/reference_converts_from_temporary.h
    M libcxx/include/__type_traits/remove_all_extents.h
    M libcxx/include/__type_traits/remove_const.h
    M libcxx/include/__type_traits/remove_extent.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/remove_volatile.h
    M libcxx/include/__type_traits/result_of.h
    M libcxx/include/__type_traits/underlying_type.h
    M libcxx/include/__utility/convert_to_integral.h
    M libcxx/include/__utility/in_place.h
    M libcxx/include/__utility/integer_sequence.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/__utility/piecewise_construct.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/__variant/monostate.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/__vector/vector_bool_formatter.h
    M libcxx/include/__verbose_abort
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/bit
    M libcxx/include/bitset
    M libcxx/include/charconv
    M libcxx/include/codecvt
    M libcxx/include/compare
    M libcxx/include/complex
    M libcxx/include/concepts
    M libcxx/include/condition_variable
    M libcxx/include/coroutine
    M libcxx/include/deque
    M libcxx/include/execution
    M libcxx/include/expected
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/__hash
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/filesystem
    M libcxx/include/flat_set
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/istream
    M libcxx/include/latch
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/mdspan
    M libcxx/include/memory
    M libcxx/include/memory_resource
    M libcxx/include/module.modulemap
    M libcxx/include/mutex
    M libcxx/include/numbers
    M libcxx/include/numeric
    M libcxx/include/optional
    M libcxx/include/print
    M libcxx/include/queue
    M libcxx/include/ranges
    M libcxx/include/ratio
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/source_location
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stop_token
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/strstream
    M libcxx/include/syncstream
    M libcxx/include/tuple
    M libcxx/include/type_traits
    M libcxx/include/typeindex
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/include/version
    M libcxx/modules/std/algorithm.inc
    M libcxx/modules/std/flat_set.inc
    M libcxx/modules/std/mdspan.inc
    M libcxx/modules/std/memory.inc
    M libcxx/modules/std/numeric.inc
    M libcxx/src/filesystem/path_parser.h
    M libcxx/src/verbose_abort.cpp
    A libcxx/test/benchmarks/locale/num_put.bench.cpp
    M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
    M libcxx/test/libcxx/clang_tidy.gen.py
    A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/assert.sorted_unique.pass.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/iterator.compile.pass.cpp
    A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/byte_alignment.verify.cpp
    A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/element_type.verify.cpp
    A libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
    M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
    M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
    M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
    M libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
    M libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
    M libcxx/test/libcxx/system_reserved_names.gen.py
    M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
    M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
    M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    M libcxx/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp
    A libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp
    M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/empty.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/size.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/assign_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/compare.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/containers.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_assign.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct_pmr.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/default.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/dtor_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/pmr.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if_exceptions.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_concept_conformance.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/range_concept_conformance.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/clear.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace_hint.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/extract.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_cv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_cv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_rv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_rv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/replace.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_exception.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_free.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_member.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.observers/comp.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/helpers.h
    A libcxx/test/std/containers/container.adaptors/flat.multiset/incomplete_type.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/op_compare.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/types.compile.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
    A libcxx/test/std/containers/container.adaptors/flat_helpers.h
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
    A libcxx/test/std/containers/views/mdspan/aligned_accessor/types.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/stddef_h.compile.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.types/byte.pass.cpp
    M libcxx/test/std/language.support/support.types/max_align_t.compile.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
    M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
    M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
    M libcxx/test/std/strings/string.view/char.bad.verify.cpp
    M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.zonedtraits/types.compile.pass.cpp
    A libcxx/test/std/utilities/memory/ptr.align/is_sufficiently_aligned.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp
    A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.deprecated.verify.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
    M libcxx/test/support/nasty_string.h
    M libcxx/test/support/test_iterators.h
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
    M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
    A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.cpp
    A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.hpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/test/modules.py
    M libcxx/utils/libcxx/test/params.py
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/test/test_demangle.pass.cpp
    M libcxxabi/test/uncaught_exception.pass.cpp
    M libunwind/docs/BuildingLibunwind.rst
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/DLL.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Writer.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/Relocations.cpp
    M lld/ELF/Writer.cpp
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputFiles.h
    M lld/MachO/OutputSegment.cpp
    M lld/MinGW/Driver.cpp
    M lld/docs/ReleaseNotes.rst
    A lld/test/COFF/arm64ec-x86-sec.yaml
    A lld/test/COFF/arm64x-map.s
    A lld/test/COFF/export-alias.test
    A lld/test/COFF/imports-static-lib-indirect.test
    A lld/test/COFF/imports-static-lib.test
    R lld/test/COFF/undefined_lazy.test
    A lld/test/ELF/aarch64-execute-only-mixed.s
    M lld/test/ELF/aarch64-execute-only.s
    A lld/test/ELF/arm-execute-only-mixed.s
    M lld/test/ELF/arm-execute-only.s
    A lld/test/ELF/loongarch-relax-tls-ie.s
    M lld/test/ELF/loongarch-tls-ie.s
    A lld/test/MachO/archive-no-index.ll
    A lld/test/MachO/archive-no-index.s
    M lld/test/MachO/arm64-objc-stubs.s
    R lld/test/MachO/invalid/archive-no-index.s
    A lld/test/MachO/tapi-rpath.s
    A lldb/docs/dil-expr-lang.ebnf
    M lldb/docs/use/python-reference.rst
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBModule.h
    M lldb/include/lldb/API/SBReproducer.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/FormatEntity.h
    M lldb/include/lldb/Core/Mangled.h
    M lldb/include/lldb/Core/RichManglingContext.h
    M lldb/include/lldb/Core/Telemetry.h
    M lldb/include/lldb/Host/ProcessRunLock.h
    M lldb/include/lldb/Initialization/SystemLifetimeManager.h
    M lldb/include/lldb/Interpreter/OptionValue.h
    M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/e0f99c4f7b83...31c6f5af1028

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