LLVM/project c592eballvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Use RPOT in CSE, fixing potential crash (#187548)

A CSE crash is observed arising from outdated hash values unless we
forbid replacements in successor phis in blocks that are not dominated
by the def: the crash is observed when there is a block with CSE'able
phis with CSE'able incoming values, with incoming values coming from a
non-dominating block, under the condition that the block with the phis
is visited before the non-dominating block. It is unfortunately
impossible to write a test case showing a crash at present, but crashes
do occur when attempting to CSE DerivedIV recipes. The root cause of the
crash is visiting a non-dominated use before a def, and hence would be
fixed by a reverse post-order traversal.

Fixes #187499.

Co-authored-by: Luke Lau <luke at igalia.com>
DeltaFile
+3-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+3-21 files

LLVM/project 7ad564emlir/lib/Dialect/MemRef/Transforms FoldMemRefAliasOps.cpp

[MLIR][MemRef] Fix LoadOpOfExpandShapeOpFolder returning failure after IR change (#188964)

LoadOpOfExpandShapeOpFolder<vector::TransferReadOp>::matchAndRewrite
called resolveSourceIndicesExpandShape (which creates
AffineLinearizeIndexOp ops via the rewriter) before checking whether the
vector::TransferReadOp preconditions hold. When those checks failed
(sourceRank < vectorRank or permutation map mismatch), the pattern
returned failure() after already modifying the IR, triggering "pattern
returned failure but IR did change" under
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS.

Fix by hoisting the vector::TransferReadOp precondition checks to before
the resolveSourceIndicesExpandShape call. The source rank is derived
from expandShapeOp.getViewSource()'s type (no IR creation needed), and
the permutation map check only uses op attributes. Only if all checks
pass do we proceed to create the linearized-index ops.

Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.
DeltaFile
+36-32mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
+36-321 files

LLVM/project ad0cd38clang/lib/AST/ByteCode Compiler.cpp, clang/test/AST/ByteCode records.cpp

[clang][bytecode] Fix a crash with void declarations (#189334)

The `chk` decl is erroneous, but we shouldn't crash.
DeltaFile
+19-0clang/test/AST/ByteCode/records.cpp
+1-1clang/lib/AST/ByteCode/Compiler.cpp
+20-12 files

LLVM/project 0cd47f5llvm/test/CodeGen/AMDGPU regpressure-physreg-early-clobber.mir

Added a new test for physical register early clobber.
DeltaFile
+43-0llvm/test/CodeGen/AMDGPU/regpressure-physreg-early-clobber.mir
+43-01 files

NetBSD/pkgsrc 7Bw9Gw7print/tex-siunitx distinfo Makefile, print/tex-siunitx-doc distinfo Makefile

   tex-siunitx{,-doc}: update to 3.5.1

   - Issue controlled warning for unknown font series
VersionDeltaFile
1.22+4-4print/tex-siunitx-doc/distinfo
1.22+4-4print/tex-siunitx/distinfo
1.21+3-3print/tex-siunitx-doc/Makefile
1.21+3-3print/tex-siunitx/Makefile
+14-144 files

NetBSD/pkgsrc VVUq4XVprint/tex-simplekv distinfo Makefile, print/tex-simplekv-doc distinfo Makefile

   tex-simplekv{,-doc}: update to 0.32

   0.31
   * bugfix dans \setKVdefault
   * nom du trousseau détokénisé (plus sûr)
   * macro \ifkeyKV
   * macro \ifemptyKV

   0.32
   Bugfix
VersionDeltaFile
1.2+3-3print/tex-simplekv/distinfo
1.2+3-3print/tex-simplekv-doc/distinfo
1.2+2-2print/tex-simplekv/Makefile
1.2+2-2print/tex-simplekv-doc/Makefile
+10-104 files

LLVM/project 64eeafallvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis exact-rdiv-addrec-wrap.ll

[DA] Check nsw flags for addrecs in the Exact RDIV test (#189536)

This patch adds a check to ensure that the addrecs have nsw flags at the
beginning of the Exact SIV test. If either of them doesn't have, the
analysis bails out. This check is necessary because the subsequent
process in the Exact SIV test assumes that they don't wrap.
DeltaFile
+4-0llvm/lib/Analysis/DependenceAnalysis.cpp
+1-1llvm/test/Analysis/DependenceAnalysis/exact-rdiv-addrec-wrap.ll
+5-12 files

NetBSD/pkgsrc 5tO7iyQprint/tex-showlabels distinfo Makefile, print/tex-showlabels-doc distinfo PLIST

   tex-showlabels{,-doc}: update to 1.9.3

   changes unknown
VersionDeltaFile
1.9+3-3print/tex-showlabels-doc/distinfo
1.9+3-3print/tex-showlabels/distinfo
1.2+1-4print/tex-showlabels-doc/PLIST
1.8+2-2print/tex-showlabels-doc/Makefile
1.8+2-2print/tex-showlabels/Makefile
+11-145 files

NetBSD/src 1l59VRCsys/uvm uvm_swap.c

   sw_reg_strategy: do not clobber b_private

   this fixes a regression caused by "uvm_swap.c: make the drum mpsafe".

   b_private is for the owner of the buffer.
   in case of /dev/drum i/o, we are not the owner of the buffer.
   kern_physio.c is.
VersionDeltaFile
1.228+2-4sys/uvm/uvm_swap.c
+2-41 files

NetBSD/src 8ss7EDJsys/sys buf.h

   Add b_private2 to struct buf

   i plan to use this for swap i/o.
   i'm not bumping kernel version as i reused an unused field.
   (it used to be softdep b_dep and has been unused since 2009.)
VersionDeltaFile
1.136+2-2sys/sys/buf.h
+2-21 files

NetBSD/pkgsrc GT6DwoDprint/tex-schulmathematik distinfo Makefile, print/tex-schulmathematik-doc distinfo Makefile

   tex-schulmathematik{,-doc}: update to 1.7.1

   Document classes schulma-ab and schulma-klausur: correction of the total
   number of pages for LaTeX 2025-06-01
VersionDeltaFile
1.6+4-4print/tex-schulmathematik-doc/distinfo
1.6+4-4print/tex-schulmathematik/distinfo
1.6+3-3print/tex-schulmathematik/Makefile
1.6+3-3print/tex-schulmathematik-doc/Makefile
+14-144 files

LLVM/project bb3bf9fllvm/include/llvm/MC MCAssembler.h, llvm/lib/MC MCAssembler.cpp

Revert "[MC] Fuse relaxation and layout into a single forward pass" (#189548)

Reverts llvm/llvm-project#184544 due to build failures and binary size
regressions; see comments on the PR.

Even if the failure to fixup CBZ instructions is due to a previously
existing problem, it was triggered by this PR. And the unnecessary
widening of the LBR instructions seems like a bad regression in itself.
DeltaFile
+42-60llvm/lib/MC/MCAssembler.cpp
+0-37llvm/test/MC/X86/align-branch-convergence.s
+8-6llvm/test/MC/ELF/relax-branch-align.s
+1-6llvm/include/llvm/MC/MCAssembler.h
+51-1094 files

NetBSD/src zfyAWsZsys/uvm uvm_swap.c

   swstrategy: reject non page aligned i/o explicitly

   our swap offset calculation logic assumes page aligned i/o.
   non aligned requests from /dev/drum silently go to a wrong block.
   it has always been this way since the initial uvm import in 1998.
   this commit fixes it by simply rejecting non aligned requests.
   note: requests from swap and libkvm are always page aligned.
VersionDeltaFile
1.227+11-0sys/uvm/uvm_swap.c
+11-01 files

NetBSD/pkgsrc dlxXzKmprint/tex-rerunfilecheck distinfo Makefile, print/tex-rerunfilecheck-doc distinfo Makefile

   tex-rerunfilecheck{,-doc}: update to 1.11

   This version removes the dependency from the atveryend package
   and uses LaTeX hooks instead.
VersionDeltaFile
1.5+3-3print/tex-rerunfilecheck/distinfo
1.5+3-3print/tex-rerunfilecheck-doc/distinfo
1.3+2-2print/tex-rerunfilecheck-doc/Makefile
1.3+2-2print/tex-rerunfilecheck/Makefile
+10-104 files

NetBSD/pkgsrc ScLtcXEprint/tex-quran distinfo Makefile, print/tex-quran-doc distinfo Makefile

   tex-quran{,-doc}: update to 2.42

   changes unknown
VersionDeltaFile
1.4+4-4print/tex-quran/distinfo
1.4+4-4print/tex-quran-doc/distinfo
1.4+3-3print/tex-quran/Makefile
1.4+3-3print/tex-quran-doc/Makefile
+14-144 files

LLVM/project a8a6594lldb/include/lldb/Target MemoryRegionInfo.h, lldb/unittests/Process/Utility LinuxProcMapsTest.cpp MemoryTagManagerAArch64MTETest.cpp

[lldb] Change MemoryRegionInfo::SetIsShadowStack into a "builder" method (#189565)

Meaning a method on an object, which returns a reference to self.

I am doing this because it was pointed out to me that MemoryRegionInfo
has lots of construction paramaters, and most of the time, we want the
default value for most of the things.

So now we can do:
MemoryRegionInfo(...); // Shadow stack is "don't know".
MemoryRegionInfo(...).SetIsShadowStack(eNo) // Shadow stack is "no".

Which removes one parameter from every use of the constructor.

Along the way I realised that the shadow stack "ss" flag is only tested
by the Guarded Control Stack tests, which only run on specific Arm
hardware. I've added a new "ss" test to LinuxProcMapsTest, which will
run on any system.
DeltaFile
+53-46lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
+29-37lldb/unittests/Process/minidump/MinidumpParserTest.cpp
+6-3lldb/include/lldb/Target/MemoryRegionInfo.h
+1-1lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
+89-874 files

LLVM/project f59d6f7llvm/test/Transforms/LoopVectorize gcc-examples.ll pseudoprobe.ll, llvm/test/Transforms/LoopVectorize/X86 veclib-calls.ll unroll-small-loops.ll

[LV][NFC] Remove more function attributes from tests (#188185)

Following on from PR #188091 I've also removed the following function
attributes from tests:

 nounwind uwtable ssp

as they didn't make any difference to the tests.
DeltaFile
+32-32llvm/test/Transforms/LoopVectorize/X86/veclib-calls.ll
+15-15llvm/test/Transforms/LoopVectorize/gcc-examples.ll
+8-8llvm/test/Transforms/LoopVectorize/X86/unroll-small-loops.ll
+2-7llvm/test/Transforms/LoopVectorize/pseudoprobe.ll
+4-4llvm/test/Transforms/LoopVectorize/if-conversion.ll
+4-4llvm/test/Transforms/LoopVectorize/float-reduction.ll
+65-7068 files not shown
+143-17874 files

LLVM/project 63e0ab7llvm/lib/Target/RISCV RISCVTargetTransformInfo.h

[RISCV] Explicitly list supported VP intrinsics. NFC (#189547)

In preparation for splitting off #179622, list all vp intrinsics in a
list. Future PRs will remove intrinsics from this list when the
corresponding codegen support is removed.
DeltaFile
+97-1llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
+97-11 files

LLVM/project 917dafdllvm/test/CodeGen/AMDGPU memory-legalizer-non-volatile.mir

Fix MIR test
DeltaFile
+3-3llvm/test/CodeGen/AMDGPU/memory-legalizer-non-volatile.mir
+3-31 files

NetBSD/src sPoQim7sys/uvm uvm_swap.c

   swread/swwrite: hold swap_syscall_lock

   to ensure that the list of swap devices is stable
   while we are operating on them.

   https://gnats.netbsd.org/60147
VersionDeltaFile
1.226+15-2sys/uvm/uvm_swap.c
+15-21 files

NetBSD/src 48paf6psys/uvm uvm_swap.c

   swstrategy: add an assertion
VersionDeltaFile
1.225+2-0sys/uvm/uvm_swap.c
+2-01 files

LLVM/project f76f41fllvm/lib/Transforms/Vectorize VPlanRecipes.cpp VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/RISCV riscv-vector-reverse.ll tail-folding-reverse-load-store.ll

[VPlan] Extract reverse mask from reverse accesses (#155579)

Following #146525, separate the reverse mask from reverse access
recipes.
At the same time, remove the unused member variable `Reverse` from
`VPWidenMemoryRecipe`.
This will help to reduce redundant reverse mask computations by
VPlan-based common subexpression elimination.
DeltaFile
+50-42llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+34-30llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+18-21llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+12-27llvm/lib/Transforms/Vectorize/VPlan.h
+8-8llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
+6-8llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
+128-1368 files not shown
+149-16014 files

LLVM/project fbfb839llvm/lib/CodeGen MachineVerifier.cpp

[MachineVerifier] Disallow subregister defs in SSA form (#189403)
DeltaFile
+6-3llvm/lib/CodeGen/MachineVerifier.cpp
+6-31 files

LLVM/project dc9d64alld/COFF InputFiles.cpp, lld/test/COFF embed-bitcode.test

[lld][COFF] Restore `lto-embed-bitcode` and `-fembed-bitcode` Bitcode Embedding Features (#188398)

Removes the patches introduced by #150897 which broke LTO embed
documented features for creating whole-program-bitcode representations
of executables, used in production analysis/rewriting toolsets. This was
a documented feature available up until 21.1.8 broken by 22.x release.

This previously allowed the users to have a whole-program-bitcode
section `.llvmbc` embedded inside of the final executable.

(cherry picked from commit 1e99c9e4c7e82c8417e4bdb0d1cb3b86e6640c6c)
DeltaFile
+0-30lld/test/COFF/embed-bitcode.test
+0-5lld/COFF/InputFiles.cpp
+0-352 files

LLVM/project 199e5b7. lib.out tmp.exe

[NFC] Remove stray files from top level directory (#189563)

Added untracked files into the top level directory by mistake, reverting
the change in this PR.

Co-authored-by: himadhith <himadhith.v at ibm.com>
DeltaFile
+0-38lib.out
+0-0tmp.exe
+0-382 files

LLVM/project 8fef0fbclang/lib/Interpreter Interpreter.cpp, clang/test/Interpreter pretty-print.c

[clang-repl] Fix C89 incompatible keywords (#189432)

Restrict and inline keywords are removed for C89 interpreter since these
keywords caused fail at runtime preamble.

Fixes #189088

(cherry picked from commit 8bd83048084c27615e9536227fbb2545472915e7)
DeltaFile
+9-2clang/lib/Interpreter/Interpreter.cpp
+1-0clang/test/Interpreter/pretty-print.c
+10-22 files

LLVM/project f500b8dclang-tools-extra/test/clang-doc enum.cpp, llvm/test/Analysis/CostModel/AMDGPU log10.ll log.ll

Merge branch 'main' into users/cabbaken/03-31-_da_check_nsw_flags_for_addrecs_in_the_exact_rdiv_test
DeltaFile
+464-226clang-tools-extra/test/clang-doc/enum.cpp
+328-349llvm/test/CodeGen/AMDGPU/fract-match.ll
+380-248llvm/test/Analysis/CostModel/AMDGPU/log10.ll
+380-248llvm/test/Analysis/CostModel/AMDGPU/log.ll
+606-0llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
+296-190llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
+2,454-1,261694 files not shown
+22,407-6,946700 files

LLVM/project 0c2c3f0clang/test/Analysis bstring.cpp

[analyzer][NFC] Reorganize bstring.cpp tests (#188709)

This change eliminates preprocessor-based suppression of test cases by
introducing multi-prefix verify options to run-lines. This slightly
increases coverage.
DeltaFile
+62-59clang/test/Analysis/bstring.cpp
+62-591 files

LLVM/project 0f75ecflldb/include/lldb/Target Target.h, lldb/source/Target Target.cpp

[lldb] Only create RegisterTypeBuilderClang plugin once (#189393)

This plugin creates types based on information from target XML, which is
parsed only once per session. It has internal logic to reuse created
types, but the plugin itself was being remade every time a type was
requested.
DeltaFile
+4-3lldb/source/Target/Target.cpp
+2-0lldb/include/lldb/Target/Target.h
+6-32 files

LLVM/project 7b6514ccompiler-rt/lib/sanitizer_common sanitizer_procmaps_mac.cpp weak_symbols.txt, compiler-rt/lib/tsan/go buildgo.sh

[sanitizer_common] [Darwin] Adopt _dyld_get_dyld_header (#182943)

(cherry picked from commit 2e7d07a33725a82ecfc514e27f047ece3ff13d4c)
DeltaFile
+6-2compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
+1-1compiler-rt/lib/tsan/go/buildgo.sh
+1-0compiler-rt/lib/sanitizer_common/weak_symbols.txt
+8-33 files