LLVM/project 76e63f4llvm/docs NVPTXUsage.rst NVPTXUsage.md

[docs] Merge LLVM Markdown migration
DeltaFile
+0-4,767llvm/docs/NVPTXUsage.rst
+4,230-0llvm/docs/NVPTXUsage.md
+0-1,177llvm/docs/JITLink.rst
+1,110-0llvm/docs/JITLink.md
+0-974llvm/docs/ORCv2.rst
+943-0llvm/docs/ORCv2.md
+6,283-6,91832 files not shown
+12,754-13,45138 files

LLVM/project 2cfd13cclang/lib/Sema SemaAccess.cpp, libc/docs/dev code_style.rst code_style.md

[docs] Merge libc Markdown migration
DeltaFile
+105-658clang/lib/Sema/SemaAccess.cpp
+0-411libc/docs/dev/code_style.rst
+400-0libc/docs/dev/code_style.md
+0-351libc/docs/dev/builtin_compatibility.rst
+137-137llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions-tail-folded.ll
+272-0llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit.ll
+914-1,557198 files not shown
+5,981-6,356204 files

LLVM/project e81feb9libc/docs hand_in_hand.md full_host_build.md, libc/docs/dev undefined_behavior.md printf_behavior.md

[docs] Finish MyST migration for selected docs
DeltaFile
+17-18libc/docs/dev/undefined_behavior.md
+15-13libc/docs/hand_in_hand.md
+13-14libc/docs/dev/printf_behavior.md
+13-8libc/docs/full_host_build.md
+7-8libc/docs/build_and_test.md
+7-8libc/docs/dev/building_docs.md
+72-6921 files not shown
+119-13027 files

LLVM/project 4899b8dllvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV/rvv vp-combine-reverse-load.ll

[RISCV] Don't require splats to have a single use in performReverseEVLCombine. (#208326)

Test was written by Claude
DeltaFile
+30-0llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
+2-2llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+32-22 files

LLVM/project 75b8210clang/docs OpenMPSupport.md HIPSupport.md

Fix header links, update tables, reformat URLs
DeltaFile
+401-248clang/docs/OpenMPSupport.md
+82-111clang/docs/HIPSupport.md
+42-51clang/docs/OpenCLSupport.md
+30-38clang/docs/UsersManual.md
+26-26clang/docs/PointerAuthentication.md
+9-38clang/docs/OverflowBehaviorTypes.md
+590-5126 files not shown
+636-57212 files

LLVM/project 06488f6mlir/include/mlir/Bindings/Python IRCore.h

[mlir] Make the Python binding type casters well-formed under C++23 (#208093)

The nanobind type/attr/loc/value casters in IRCore.h return a by-value
PyType/PyAttribute/PyLocation/PyValue as their DerivedTy result.

Under pre-C++23 rules, this was a rvalue that would decay to a lvalue
when passed to the DerivedTy constructor.

Under C++23's P2266 (implicit move on return), that return operand is an
xvalue, which cannot bind the PyConcrete* constructors that take a
non-const lvalue reference.

This patch constructs the derived type explicitly (return
DerivedTy(arg);) using the lvalue constructor; this preserves the
pre-C++23 behavior on C++23 builds.
DeltaFile
+4-4mlir/include/mlir/Bindings/Python/IRCore.h
+4-41 files

LLVM/project b41254dllvm/docs ORCv2.md Remarks.md

[docs] Finish MyST migration for selected docs
DeltaFile
+262-272llvm/docs/ORCv2.md
+218-236llvm/docs/Remarks.md
+208-157llvm/docs/AMDGPUExecutionSynchronization.md
+128-120llvm/docs/SPIRVUsage.md
+78-101llvm/docs/NVPTXUsage.md
+57-56llvm/docs/CompileCudaWithLLVM.md
+951-94211 files not shown
+1,106-1,07817 files

LLVM/project 1325d85llvm/lib/Transforms/Vectorize/SandboxVectorizer Scheduler.cpp

[SandboxVec][Scheduler][NFC] Cleanup: Use interval in loop and reset sched state (#205465)

Replace the for loop that iterates between TopI and LowestI with a range
loop over ResetIntvl and move the reset of the scheduling state to this
loop.
We iterate over the loop in the reverse order than before but the
functionality should not change.
DeltaFile
+10-12llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
+10-121 files

LLVM/project d6e457ellvm/lib/Transforms/Vectorize/SandboxVectorizer VecUtils.cpp, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.cpp

[SBVec] Implement topDown/botUp vectorizers in unison

This patch introduces the `top-down-vec` pass to the Sandbox Vectorizer,
adding the ability to traverse use-def chains top-down to discover and
collect vectorization opportunities. Furthermore, this patch unifies
the two vectorizers into a single implementation to minimize code
duplication.
* vectorize in the same direction as the scheduler direction
* use AuxArg to determine vectorizer direction
* move user collection to VecUtils and add unit tests
* handle legality results
* introduce getNextBundles to loop ovop over getNextBundle calls for each user
* introduce BundleTy and GetOpIdxVec
DeltaFile
+437-0llvm/test/Transforms/SandboxVectorizer/topdown_vec.ll
+233-0llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
+93-28llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+69-10llvm/test/Transforms/SandboxVectorizer/pack.ll
+75-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
+69-1llvm/test/Transforms/SandboxVectorizer/external_uses.ll
+976-393 files not shown
+1,025-519 files

LLVM/project 7f3d91dllvm/lib/Target/RISCV/MCA RISCVCustomBehaviour.cpp, llvm/test/tools/llvm-mca/RISCV/SiFiveX280 needs-sew-but-only-lmul.s

[RISCV][MCA] Avoid deriving EMUL without SEW (#207986)

When only an LMUL instrument is active, SEW is unavailable. Avoid
deriving EMUL for vector memory instructions in that case and fall back
to the base scheduling class.

Closes #170118.
DeltaFile
+21-0llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s
+6-0llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
+27-02 files

LLVM/project 1591b3cllvm/lib/Target/AMDGPU SMInstructions.td, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp

[AMDGPU][GFX1250] Add cpol support for some prefetch instructions
DeltaFile
+43-0llvm/test/MC/AMDGPU/gfx1250_asm_smem.s
+23-17llvm/lib/Target/AMDGPU/SMInstructions.td
+1-6llvm/test/MC/AMDGPU/gfx1250_asm_smem_err.s
+3-2llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+70-254 files

LLVM/project 34b0a6eclang/test/Interpreter lit.local.cfg cxx20-modules.cppm

[clang-repl] Avoid use `$LD_LIBRARY_PATH` in lit tests (#208170)

Strengthen clang-repl lit tests by Avoid use `$LD_LIBRARY_PATH`. The
lit's internal shell does not expand shell variables such as
`$LD_LIBRARY_PATH`, so provide the current value as a lit substitution.

This PR can fix the following failures when user build llvm with
non-system C++ standard library.
```
# executed command: env 'LD_LIBRARY_PATH=<build dir>/tools/clang/test/Interpreter/Output/cxx20-modules.cppm.tmp:$LD_LIBRARY_PATH' <build dir>/bin/clang-repl -Xcc=-std=c++20 -Xcc=-fmodule-file=M=<build dir>/tools/clang/test/Interpreter/Output/cxx20-modules.cppm.tmp/mod.pcm -Xcc=--target=x86_64-linux-gnu
# .---command stderr------------
# | <build dir>/bin/clang-repl: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by <build dir>/bin/clang-repl)
# | <build dir>/bin/clang-repl: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by <build dir>/bin/clang-repl)
# | <build dir>/bin/clang-repl: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by <build dir>/bin/clang-repl)
# | <build dir>/bin/clang-repl: /lib64/libstdc++.so.6: version `CXXABI_1.3.13' not found (required by <build dir>/bin/clang-repl)
# `-----------------------------
```

Signed-off-by: yronglin <yronglin777 at gmail.com>
DeltaFile
+8-0clang/test/Interpreter/lit.local.cfg
+1-1clang/test/Interpreter/cxx20-modules.cppm
+1-1clang/test/Interpreter/dynamic-library.cpp
+10-23 files

LLVM/project e7f9201llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.cpp

[SBVec] Implement topDown/botUp vectorizers in unison

This patch introduces the `top-down-vec` pass to the Sandbox Vectorizer,
adding the ability to traverse use-def chains top-down to discover and
collect vectorization opportunities. Furthermore, this patch unifies
the two vectorizers into a single implementation to minimize code
duplication.
* vectorize in the same direction as the scheduler direction
* use AuxArg to determine vectorizer direction
* move user collection to VecUtils and add unit tests
* handle legality results
* introduce getNextBundles to loop ovop over getNextBundle calls for each user
* introduce BundleTy and GetOpIdxVec
DeltaFile
+8-7llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
+5-4llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+13-112 files

LLVM/project 720d986llvm/include/llvm/ProfileData SampleProfReader.h, llvm/lib/Transforms/IPO SampleProfileMatcher.cpp

[SampleProfile] Introduce SampleProfileNameSet (NFC) (#208114)

This patch introduces a helper class SampleProfileNameSet to
encapsulate the construction of the name set and provide a contains
method.

I'm planning to speed up the membership queries into the name table.
With this patch, changes to the underlying data structure won't affect
use sites.

Assisted-by: Antigravity
DeltaFile
+18-0llvm/include/llvm/ProfileData/SampleProfReader.h
+2-4llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
+20-42 files

LLVM/project 78b56d9llvm/include/llvm/ProfileData SampleProf.h SampleProfWriter.h, llvm/lib/ProfileData SampleProfWriter.cpp SampleProfReader.cpp

[ProfileData] Support format version 104 for extensible binary sample profiles (#206297)

This patch adds initial support for format version 104 in extensible
binary sample profiles to support the upcoming on-disk hash table.
This patch sets up the versioning scheme in the reader and writer as a
preparation step without actually introducing the on-disk hash table.

The reader is updated to support format version 104.  The writer can
now write format version 104 profiles when requested via
-sample-profile-format-version, but continues to default to version
103 as version 104 is a work in progress.  We plan to promote the
default version to 104 once the on-disk hash table support is fully
integrated in a subsequent patch.

RFC:
https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957/4

Assisted-by: Antigravity
DeltaFile
+99-0llvm/unittests/ProfileData/SampleProfTest.cpp
+17-0llvm/include/llvm/ProfileData/SampleProf.h
+11-1llvm/lib/ProfileData/SampleProfWriter.cpp
+10-0llvm/include/llvm/ProfileData/SampleProfWriter.h
+6-0llvm/include/llvm/ProfileData/SampleProfReader.h
+2-1llvm/lib/ProfileData/SampleProfReader.cpp
+145-26 files

LLVM/project 697bd97mlir/include/mlir/IR Block.h Region.h, mlir/lib/IR Region.cpp

Give each mlir::Block a stable ID within its parent region (#207617)

Assign each mlir::Block a stable ID within its parent region, mirroring
llvm::BasicBlock/llvm::Function (called ID, not number, since a block/op
number denotes position in MLIR): Block gains getBlockID() and reads -1u
while it has no parent region; Region gains nextBlockID with
getMaxBlockID() and getBlockIDEpoch(); the block ilist traits assign the
ID on add/transfer and invalidate it on removal; and
GraphTraits<mlir::Block*>/<mlir::Region*> expose
getNumber/getMaxNumber/getNumberEpoch. This makes
GraphHasNodeNumbers<mlir::Block*> true, moving MLIR's CFGLoopInfo and
dominator tree onto the number-indexed path. MLIR never renumbers
blocks,
so the epoch is a fixed 0.

Prerequisite for requiring GraphHasNodeNumbers in llvm::LoopInfoBase and
dropping its DenseMap fallback.

Aided by Claude Opus 4.8
DeltaFile
+19-0mlir/include/mlir/IR/Block.h
+18-0mlir/include/mlir/IR/Region.h
+10-3mlir/lib/IR/Region.cpp
+11-0mlir/include/mlir/IR/RegionGraphTraits.h
+58-34 files

LLVM/project 28711b8llvm/include/llvm/IR Instructions.h

Fix Typo
DeltaFile
+1-1llvm/include/llvm/IR/Instructions.h
+1-11 files

LLVM/project 3d6acefllvm/docs LangRef.md, llvm/include/llvm/IR Instructions.h

Update doc
DeltaFile
+11-4llvm/lib/IR/Instructions.cpp
+6-6llvm/unittests/IR/VerifierTest.cpp
+4-6llvm/docs/LangRef.md
+6-3llvm/include/llvm/IR/Instructions.h
+2-1llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+2-1llvm/lib/AsmParser/LLParser.cpp
+31-216 files

LLVM/project e6ea217llvm/test/Assembler invalid-load-store-atomic-elementwise.ll

Add element non byte
DeltaFile
+8-0llvm/test/Assembler/invalid-load-store-atomic-elementwise.ll
+8-01 files

LLVM/project d775421llvm/docs LangRef.md, llvm/lib/Bitcode/Reader BitcodeReader.cpp

Update for comments
DeltaFile
+10-7llvm/docs/LangRef.md
+8-0llvm/test/Assembler/invalid-load-store-atomic-elementwise.ll
+1-3llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+19-103 files

LLVM/project 6f28763llvm/docs LangRef.md, llvm/include/llvm/IR Instructions.h

Update for comments.
DeltaFile
+14-11llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+3-9llvm/lib/IR/Instructions.cpp
+6-6llvm/docs/LangRef.md
+4-5llvm/include/llvm/IR/Instructions.h
+5-1llvm/lib/AsmParser/LLParser.cpp
+6-0llvm/test/Bitcode/compatibility.ll
+38-321 files not shown
+39-337 files

LLVM/project 6c30e60llvm/unittests/IR VerifierTest.cpp

Add verifier test
DeltaFile
+71-0llvm/unittests/IR/VerifierTest.cpp
+71-01 files

LLVM/project 2592df6llvm/lib/Target/AMDGPU SIFoldOperands.cpp

[NFCI][AMDGPU] Change foldOperand to return changed (#208352)
DeltaFile
+29-24llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+29-241 files

LLVM/project 2df2a51clang/test/CodeGen/RISCV rvp-intrinsics.c, cross-project-tests/intrinsic-header-tests riscv_packed_simd.c

[RISCV][P-ext] Support Packed Saturating Absolute Value. (#207978)
DeltaFile
+84-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+23-7llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+29-0llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+19-0llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+18-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+18-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+191-74 files not shown
+232-810 files

LLVM/project 4d62555llvm/docs LangRef.md, llvm/include/llvm/IR Instructions.h

[IR] Add elementwise modifier to atomic loads
DeltaFile
+33-0llvm/test/Assembler/invalid-load-store-atomic-elementwise.ll
+18-4llvm/lib/IR/Verifier.cpp
+15-6llvm/docs/LangRef.md
+14-3llvm/include/llvm/IR/Instructions.h
+14-2llvm/lib/AsmParser/LLParser.cpp
+16-0llvm/test/Bitcode/atomic-load-store-elementwise.ll
+110-156 files not shown
+140-2112 files

LLVM/project fc68a8bllvm/include/llvm/IR Instructions.h

Fix Typo
DeltaFile
+1-1llvm/include/llvm/IR/Instructions.h
+1-11 files

LLVM/project 18c5820clang/test/Analysis/Scalable/OperatorNewDelete operator-new-delete.cpp

fix test for windows
DeltaFile
+3-3clang/test/Analysis/Scalable/OperatorNewDelete/operator-new-delete.cpp
+3-31 files

LLVM/project 76028e1llvm/lib/Target/RISCV RISCVFoldMemOffset.cpp

[RISCV] Fix RISCVFoldMemOffset to report when it makes changes (#208149)

runOnMachineFunction initialized MadeChange to false and returned it,
but never set it to true even though the fold path rewrites memory
offsets, replaces registers, and erases the ADDI. As a result the pass
always reported that it made no changes, so the pass manager could keep
stale analyses valid after the function had actually been modified.

Set MadeChange to true after folding an ADDI.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+1-0llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
+1-01 files

LLVM/project 57e7ceellvm/include/llvm/IR IRBuilder.h, llvm/lib/CodeGen ReplaceWithVeclib.cpp

[IRBuilder] Add FMFSource overloads for CreateCall (#208171)

CreateCall had no way to set fast-math-flags at creation time, so
callers had to build the call and copy the flags in a second step:

  CallInst *C = B.CreateCall(Fn, Args);
  C->copyFastMathFlags(Src);

Add FMFSource overloads (mirroring CreateIntrinsic) so the flags can be
copied from a source instruction or FastMathFlags in one call:

  CallInst *C = B.CreateCall(Fn, Args, /*FMFSource=*/Src);

The FMFSource parameter has no default, so existing CreateCall callers
are unaffected and overload resolution stays unambiguous.

Assisted-by: Opus 4.8
DeltaFile
+34-0llvm/include/llvm/IR/IRBuilder.h
+20-0llvm/unittests/IR/IRBuilderTest.cpp
+4-4llvm/lib/CodeGen/ReplaceWithVeclib.cpp
+2-4llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+1-1llvm/unittests/Analysis/ValueTrackingTest.cpp
+61-95 files

LLVM/project 533470ellvm/lib/Transforms/ObjCARC ObjCARCOpts.cpp, llvm/test/Transforms/ObjCARC test_autorelease_pool.ll

[ObjCARC] Improve empty autorelease pool elimination in OptimizeAutoreleasePools (#200310)

Verify push/pop pairing before popping the stack, clear the pool stack
on mismatch, and erase the push before the pop for consistency.
DeltaFile
+41-26llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
+33-0llvm/test/Transforms/ObjCARC/test_autorelease_pool.ll
+74-262 files