LLVM/project d6d7d0aclang/lib/Driver/ToolChains Flang.cpp, flang/lib/Optimizer/Transforms FunctionAttr.cpp

[Flang][Driver] Add support for '-fprofile-sample-use' option (#188697)

When the `-fprofile-sample-use=sample.prof` option is passed, the
compiler records the profile file path in `SampleProfileFile` . This
value is later used by the `SampleProfileLoaderPass`, which loads the
sample profile and injects the corresponding profiling metadata in the
LLVM IR.
DeltaFile
+38-0flang/test/Driver/fprofile-sample-use.f90
+35-0clang/lib/Driver/ToolChains/Flang.cpp
+34-0flang/test/Integration/profile-sample-use.f90
+9-0mlir/test/Target/LLVMIR/Import/use-sample-profile.ll
+7-0mlir/test/Target/LLVMIR/use-sample-profile.mlir
+6-0flang/lib/Optimizer/Transforms/FunctionAttr.cpp
+129-012 files not shown
+164-618 files

FreeBSD/ports ac55d50emulators/rpcs3/files patch-sdl3-revert

emulators/rpcs3: unbreak build after 1b59de75bd3d

In file included from rpcs3/Emu/Cell/lv2/sys_usbd.cpp:44:
rpcs3/Emu/../Emu/Io/LogitechG27.h:41:2: error: unknown type name 'SDL_HapticEffectID'; did you mean 'SDL_HapticEffect'?
   41 |         SDL_HapticEffectID effect_id = -1;
      |         ^~~~~~~~~~~~~~~~~~
      |         SDL_HapticEffect
/usr/local/include/SDL3/SDL_haptic.h:925:3: note: 'SDL_HapticEffect' declared here
  925 | } SDL_HapticEffect;
      |   ^
In file included from rpcs3/Emu/Cell/lv2/sys_usbd.cpp:44:
rpcs3/Emu/../Emu/Io/LogitechG27.h:41:33: error: no viable conversion from 'int' to 'SDL_HapticEffect'
   41 |         SDL_HapticEffectID effect_id = -1;
      |                                        ^~
/usr/local/include/SDL3/SDL_haptic.h:915:15: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'int' to 'const SDL_HapticEffect &' for 1st argument
  915 | typedef union SDL_HapticEffect
      |               ^~~~~~~~~~~~~~~~
/usr/local/include/SDL3/SDL_haptic.h:915:15: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'int' to 'SDL_HapticEffect &&' for 1st argument
  915 | typedef union SDL_HapticEffect

    [13 lines not shown]
DeltaFile
+48-0emulators/rpcs3/files/patch-sdl3-revert
+48-01 files

LLVM/project 150783emlir/include/mlir/Dialect/ControlFlow/IR ControlFlowOps.td, mlir/include/mlir/Interfaces ControlFlowInterfaces.td

Revert "Reland "[mlir][reducer] Add eraseRedundantBlocksInRegion and getSuccessorForwardOperands API to BranchOpInterface"" (#190727)

To decouple the BranchOpInterface implementation from the reduction-tree
changes. Reverts llvm/llvm-project#189253,
DeltaFile
+0-114mlir/lib/Reducer/ReductionTreePass.cpp
+0-65mlir/test/mlir-reduce/reduction-tree.mlir
+0-24mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
+4-6mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
+0-10mlir/lib/Reducer/ReductionNode.cpp
+0-9mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
+4-2282 files not shown
+4-2328 files

LLVM/project 7349977mlir/lib/Transforms CSE.cpp

[mlir][CSE] Fix CSE markAnalysesPreserved<DominanceInfo, PostDominanceInfo> comment (#190471)

The original comment claimed that DominanceInfo and PostDominanceInfo
could be preserved because region operations are not removed. However,
the real reason was that the original CSE only deleted redundant
operations without moving any operation to a different block, leaving
the dominance tree structure unchanged. Part of
https://github.com/llvm/llvm-project/pull/180556.
DeltaFile
+3-2mlir/lib/Transforms/CSE.cpp
+3-21 files

LLVM/project 0a13e4dmlir/include/mlir/Dialect/ControlFlow/IR ControlFlowOps.td, mlir/include/mlir/Interfaces ControlFlowInterfaces.td

Revert "Reland "[mlir][reducer] Add eraseRedundantBlocksInRegion and getSucce…"

This reverts commit ce1a9fd76640929fe340c5c5d1bb493ea09ca9bc.
DeltaFile
+0-114mlir/lib/Reducer/ReductionTreePass.cpp
+0-65mlir/test/mlir-reduce/reduction-tree.mlir
+0-24mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
+0-10mlir/lib/Reducer/ReductionNode.cpp
+4-6mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
+0-9mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
+4-2282 files not shown
+4-2328 files

LLVM/project 97ed648libcxx/docs/Status Cxx2cIssues.csv Cxx2cPapers.csv

[libc++][docs] Update paper and LWG issue lists after 2026-03 meeting (#189901)

[P3726R2](https://wg21.link/P3726R2) is a Core paper but adds
`std::start_lifetime`, so it needs to be listed in libc++'s
documentation.

For LWG issues, see [P4145R0](https://wg21.link/P4145R0) and
[P4146R0](https://wg21.link/P4146R0).
DeltaFile
+82-0libcxx/docs/Status/Cxx2cIssues.csv
+38-0libcxx/docs/Status/Cxx2cPapers.csv
+120-02 files

LLVM/project 6870ebcllvm/include/llvm/Support FileSystem.h, llvm/lib/CAS MappedFileRegionArena.cpp

[CAS] Give Windows file mappings names to better ensure same mappings are used (#190692)
DeltaFile
+52-0llvm/unittests/Support/Path.cpp
+12-5llvm/lib/Support/Windows/Path.inc
+10-1llvm/lib/CAS/MappedFileRegionArena.cpp
+5-4llvm/lib/Support/Unix/Path.inc
+3-2llvm/include/llvm/Support/FileSystem.h
+82-125 files

LLVM/project e80f32fllvm/lib/CodeGen CodeGenPrepare.cpp

[CodeGenPrepare] Use Instruction::comesBefore instead of manual ordering (#190485)

After #172329, we noticed that some sources compiled with MSan take
1000x longer to compile. This is caused by quadratic complexity in
tryToSinkFreeOperands, which can be called on a significant number
of instructions within huge basic blocks.

This inefficiency was introduced in 9cfa9b4, which manually iterates
and creates a DenseMap of entire basic blocks for each interesting
instruction.

This patch avoids the manual ordering by using
Instruction::comesBefore(), which provides the exact same
ordering much more efficiently.
DeltaFile
+1-6llvm/lib/CodeGen/CodeGenPrepare.cpp
+1-61 files

LLVM/project 49093c4clang-tools-extra/clang-tidy/performance TriviallyDestructibleCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix performance-trivially-destructible with C++20 modules (#178471)

When a class definition is seen through both a header include and a
C++20 module import, destructors may appear multiple times in the AST's
redeclaration chain. The original matcher used `isFirstDecl()` which
fails in this scenario because the same declaration can appear as both
first and non-first depending on the view.

Replace `unless(isFirstDecl())` with `isOutOfLine()` which correctly
identifies out-of-line definitions by checking whether the lexical
context differs from the semantic context.

Also update clang-tools-extra's lit.cfg.py to call `use_clang()` instead
of `clang_setup()` to make the `%clang` substitution available for
tests.

Fixes #178102

Co-authored-by: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
DeltaFile
+61-0clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible-module.cpp
+7-3clang-tools-extra/clang-tidy/performance/TriviallyDestructibleCheck.cpp
+5-0clang-tools-extra/docs/ReleaseNotes.rst
+2-2clang-tools-extra/test/lit.cfg.py
+3-0clang-tools-extra/test/CMakeLists.txt
+78-55 files

OpenBSD/src MgwPev6usr.sbin/vmd i8253.c

   fix timer emulation-related VM hangs

   This fixes state machine issues that resulted in hangs with OpenBSD-i386 VMs
   when using the i8254 hardware timecounter with vmm. This also manifested in
   incorrect i8254 calibration (wrong CPU speed in dmesg).

   tested with Debian 12 amd64, i386
   Apine Linux 3.23 x86 (with 4GB memory), x86_64
   OpenBSD 7.9 beta amd64, i386

   ok mlarkin@
VersionDeltaFile
1.46+6-1usr.sbin/vmd/i8253.c
+6-11 files

OpenBSD/src TCZ7r5Wdistrib/sets/lists/man mi

   sycn
VersionDeltaFile
1.1765+1-0distrib/sets/lists/man/mi
+1-01 files

FreeBSD/ports 8f64c0eeditors/cudatext distinfo Makefile

editors/cudatext: Update to 1.234.0.2

ChangeLog at:   https://github.com/Alexey-T/CudaText/blob/master/app/readme/history.txt
DeltaFile
+5-5editors/cudatext/distinfo
+2-2editors/cudatext/Makefile
+1-0editors/cudatext/pkg-plist
+8-73 files

NetBSD/pkgsrc-wip 6d74493vim-classic-lang Makefile, vim-classic-share Makefile.common Makefile

vim-classic*: set myself as MAINTAINER, more complete CONFLICTS
DeltaFile
+1-1vim-classic-share/Makefile.common
+2-0vim-classic-share/Makefile
+2-0vim-classic-lang/Makefile
+5-13 files

FreeBSD/ports dabc356japanese/font-migu Makefile

japanese/font-migu: Refactor

Lint with portclippy.
Refactoring do-install*.
Switch from LN to RLN.

PR: 277658
DeltaFile
+14-21japanese/font-migu/Makefile
+14-211 files

FreeBSD/ports 2f70efajapanese/font-migu Makefile distinfo

japanese/font-migu: Update to 1.0.20231123 and take maintainership

In this release, the version numbers for 1? and 2m are different.
Update MASTER_SITES, DISTFILES, WWW and pkg-descr.

Changelog (japanese):
https://itouhiro.github.io/mixfont-mplus-ipa/changelog.html

PR:             277658
Approved by:    hrs (maintainer timeout > 3 months)
Approved by:    osa (mentor)
DeltaFile
+18-15japanese/font-migu/Makefile
+9-8japanese/font-migu/distinfo
+1-0japanese/font-migu/pkg-descr
+28-233 files

LLVM/project 613c5b4flang/lib/Semantics tools.cpp, flang/test/Lower/CUDA cuda-program-global.cuf

[flang][cuda] Lower unified variables as cuf.alloc in main program scope (#190713)

Remove the unified exception from CanCUDASymbolBeGlobal so unified
variables follow the same cuf.alloc lowering path as other CUDA data
attributes.
DeltaFile
+1-3flang/lib/Semantics/tools.cpp
+2-1flang/test/Lower/CUDA/cuda-program-global.cuf
+3-42 files

LLVM/project f9adee2llvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp AMDGPUInstructionSelector.cpp, llvm/test/CodeGen/AMDGPU asyncmark-gfx12plus.ll asyncmark-err.ll

[AMDGPU] asyncmark support for ASYNC_CNT (#185813)

The ASYNC_CNT is used to track the progress of asynchronous copies
between global and LDS memories. By including it in asyncmark, the
compiler can now assist the programmer in generating waits for
ASYNC_CNT.

Assisted-By: Claude Sonnet 4.5

This is part of a stack:

- #185813
- #185810 

Fixes: LCOMPILER-332
DeltaFile
+359-0llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
+14-7llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+0-19llvm/test/CodeGen/AMDGPU/asyncmark-err.ll
+1-2llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+3-0llvm/lib/Target/AMDGPU/AMDGPU.td
+1-1llvm/lib/Target/AMDGPU/SOPInstructions.td
+378-291 files not shown
+380-297 files

OpenBSD/ports XorXwUrdevel/py-holidays distinfo Makefile, devel/py-holidays/pkg PLIST

   update py-holidays to 0.94
VersionDeltaFile
1.6+43-0devel/py-holidays/pkg/PLIST
1.8+2-2devel/py-holidays/distinfo
1.9+1-1devel/py-holidays/Makefile
+46-33 files

OpenBSD/ports UrHvjwgdevel/spyder/spyder Makefile distinfo

   update spyder to 6.1.4
VersionDeltaFile
1.42+4-6devel/spyder/spyder/Makefile
1.16+2-2devel/spyder/spyder/distinfo
+6-82 files

LLVM/project 5567b34llvm/lib/Target/AMDGPU AMDGPULowerVGPREncoding.cpp, llvm/test/CodeGen/AMDGPU vgpr-setreg-mode-swar.mir hazard-setreg-vgpr-msb-gfx1250.mir

[AMDGPU] Fix setreg handling in the VGPR MSB lowering

There are multiple issues with it:

1. It can skip inserting S_SET_VGPR_MSB if we set the mode via
   piggybacking. We are now relying on the HW bug for correct
   behavior. If/when the bug is fixed lowering will be incorrect.
2. We should just unconditionally update MSBs if immediate allows it.
   We shall set correct bits and keep the rest of the immediate
   (that is done). There is no reasonable way for an user to change
   MSBs nor does it do anything good to set it with SETREG and then
   immediately overwrite with S_SET_VGPR_MSB.
3. We can always update immediate if Offset is zero.
4. Redundant mode changes created as seen in the
   hazard-setreg-vgpr-msb-gfx1250.mir.

With unconditional immediate update most of time and not relying on
the SETREG for setting MSBs there is no good reason to complicate
handling by supporting SETREG as a piggybacking target. Moreover,

    [10 lines not shown]
DeltaFile
+209-47llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir
+20-39llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
+12-18llvm/test/CodeGen/AMDGPU/hazard-setreg-vgpr-msb-gfx1250.mir
+241-1043 files

FreeBSD/ports 1dd5e77archivers/appscript distinfo Makefile

archivers/appscript: Update to 0.3.5

ChangeLog: https://github.com/DtxdF/appscript/releases/tag/v0.3.5
DeltaFile
+3-3archivers/appscript/distinfo
+1-1archivers/appscript/Makefile
+4-42 files

LLVM/project 164505dllvm/utils/TableGen AsmMatcherEmitter.cpp

[NFC][AsmMatcher] Add Commented Name for FeatureBitsets (#190688)
DeltaFile
+1-1llvm/utils/TableGen/AsmMatcherEmitter.cpp
+1-11 files

OpenBSD/ports fiIGRvIdevel/p5-DateTime-Format-Strptime distinfo Makefile

   Update devel/p5-DateTime-Format-Strptime to 1.80

   Documentation improvements
VersionDeltaFile
1.14+2-2devel/p5-DateTime-Format-Strptime/distinfo
1.25+2-1devel/p5-DateTime-Format-Strptime/Makefile
+4-32 files

OpenBSD/ports aFqJvAGdevel/p5-DateTime-TimeZone distinfo Makefile

   Update devel/p5-DateTime-TimeZone to 2.67

   This release is based on version 206a of the Olson database. This
   release includes contemporary changes for Moldova.
VersionDeltaFile
1.20+2-2devel/p5-DateTime-TimeZone/distinfo
1.29+2-1devel/p5-DateTime-TimeZone/Makefile
+4-32 files

OpenBSD/ports b3r358ddevel/p5-Test-Differences distinfo Makefile

   Update devel/p5-Test-Differences to 0.72

   Test fixes for newer perl with older Data::Dumper
VersionDeltaFile
1.11+2-2devel/p5-Test-Differences/distinfo
1.20+1-1devel/p5-Test-Differences/Makefile
+3-32 files

OpenBSD/ports yU5rzhwdevel/p5-Class-Unload Makefile distinfo

   Update devel/p5-Class-Unload to 0.12

   Documentation updates for git repo location
VersionDeltaFile
1.12+2-3devel/p5-Class-Unload/Makefile
1.5+2-2devel/p5-Class-Unload/distinfo
+4-52 files

LLVM/project 75bb30dllvm/lib/CodeGen PreISelIntrinsicLowering.cpp, llvm/lib/Transforms/InstCombine InstCombineLoadStoreAlloca.cpp

Move {load,store}(llvm.protected.field.ptr) lowering to InstCombine.

The previous position of llvm.protected.field.ptr lowering for loads
and stores was problematic as it not only inhibited optimizations such
as DSE (as stores to a llvm.protected.field.ptr were not considered to
must-alias stores to the non-protected.field pointer) but also required
changes to other optimization passes to avoid transformations that would
reduce PFP coverage.

Address this by moving the load/store part of the lowering to
InstCombine, where it will run earlier than the PFP-breaking and
AA-relying transformations. The deactivation symbol, null comparison
and EmuPAC parts of the lowering remain in PreISelLowering.

Now that the transformation inhibitions are no longer needed, remove them
(i.e. partially revert #151649, and revert #182976).

This change resulted in a 2.4% reduction in Fleetbench .text size and
the following improvements to PFP performance overhead for BM_PROTO_Arena

    [11 lines not shown]
DeltaFile
+57-73llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
+17-86llvm/test/Transforms/PreISelIntrinsicLowering/protected-field-pointer.ll
+17-86llvm/test/Transforms/PreISelIntrinsicLowering/protected-field-pointer-addrspace1.ll
+64-0llvm/test/Transforms/PreISelIntrinsicLowering/emupac.ll
+62-0llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
+61-0llvm/test/Transforms/InstCombine/protected-field-ptr.ll
+278-2456 files not shown
+331-31612 files

OpenBSD/ports qfLJLwzwww/p5-CGI distinfo Makefile

   Update www/p5-CGI to 4.71

   Enshures unique upload filenames
VersionDeltaFile
1.13+2-2www/p5-CGI/distinfo
1.26+1-1www/p5-CGI/Makefile
+3-32 files

LLVM/project ac3745eclang/test/Analysis/Scalable/ssaf-format list.test

Apply suggestion from @ziqingluo-90
DeltaFile
+1-1clang/test/Analysis/Scalable/ssaf-format/list.test
+1-11 files

LLVM/project eb35aa9llvm/lib/Target/RISCV RISCVInstrInfoZvk.td, llvm/test/CodeGen/RISCV/rvv vrol.ll

[RISCV] Use per-SEW immediate inversion for vrol intrinsic patterns (#190113)

The VPatBinaryV_VI_VROL multiclass was using InvRot64Imm for all SEW
widths when converting vrol immediate intrinsics to vror.vi. This
produced unnecessarily large immediates for narrower element types
(e.g., 61 instead of 5 for SEW=8 rotate-left by 3).

Use the appropriate InvRot{SEW}Imm transform to match what the SDNode
patterns already do.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+36-36llvm/test/CodeGen/RISCV/rvv/vrol.ll
+3-2llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
+39-382 files