LLVM/project 62a2af1mlir/lib/Dialect/LLVMIR/IR BasicPtxBuilderInterface.cpp, mlir/test/Conversion/NVVMToLLVM nvvm-to-llvm.mlir

[MLIR][NVVM] Preserve PTX special registers in inline_ptx lowering (#203251)

`PtxBuilder::build()` converted operand placeholders (written as %0, %1,
and the predicate as @%N, since TableGen string attributes cannot
contain '$') to the inline-asm operand form with a blanket `replace(ptx,
'%', '$')`. That also rewrote literal PTX special-register names such as
%tid.x, %laneid and %dynamic_smem_size into $tid.x etc., producing
invalid PTX for any `nvvm.inline_ptx` whose body reads a special
register.

Convert only a '%' that is immediately followed by a digit (operand
placeholders and the @%N predicate); leave %<name> special registers
intact. PTX special registers always begin with a letter after '%', so
the digit test unambiguously distinguishes them from operand
placeholders.

Add an NVVMToLLVM regression test that reads %laneid through
nvvm.inline_ptx.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+15-3mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
+18-0mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
+33-32 files

LLVM/project bf5ac09bolt/include/bolt/Profile DataReader.h, bolt/lib/Profile DataReader.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.8-beta.1
DeltaFile
+35-64bolt/lib/Profile/DataReader.cpp
+3-4bolt/include/bolt/Profile/DataReader.h
+38-682 files

LLVM/project 7b3a10bclang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CodeGen/RISCV rvp-intrinsics.c

rebase

Created using spr 1.3.8-beta.1
DeltaFile
+1,888-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+1,013-0llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+906-0llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
+576-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+423-142clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+158-179libcxx/include/optional
+4,964-32174 files not shown
+6,841-95780 files

LLVM/project 6c9232dclang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CodeGen/RISCV rvp-intrinsics.c

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.8-beta.1

[skip ci]
DeltaFile
+1,888-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+1,013-0llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+906-0llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
+576-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+423-142clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+158-179libcxx/include/optional
+4,964-32174 files not shown
+6,843-96080 files

LLVM/project 2b04d74bolt/include/bolt/Profile DataAggregator.h DataReader.h, bolt/lib/Profile DataAggregator.cpp

[BOLT] Buffer DataAggregator diagnostics

To avoid mixed up error messages in multi-perf case, provide diagnostics
buffer and stream for each aggregator job.

Test Plan: updated pre-aggregated-perf.test

Reviewers: yavtuk, maksfb, rafaelauler, ayermolo, paschalis-mpeis, yozhu

Reviewed By: yavtuk

Pull Request: https://github.com/llvm/llvm-project/pull/203464
DeltaFile
+55-31bolt/lib/Profile/DataAggregator.cpp
+11-3bolt/include/bolt/Profile/DataAggregator.h
+4-2bolt/include/bolt/Profile/DataReader.h
+2-1bolt/test/X86/pre-aggregated-perf.test
+72-374 files

LLVM/project 15e7f2ebolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp

[BOLT] Propagate DataAggregator parse errors

Propagate perf/preaggregated input parsing errors through DataAggregator
instead of terminating from per-input aggregation jobs.

This lets multi-input aggregation report failed inputs as warnings when
at least one input succeeds while returning errors when all inputs fail.
It also converts pre-aggregated parsing diagnostics to returned Error
values and removes worker-path exits from perf setup and parsing.

Test Plan: updated pre-aggregated-perf.test

Reviewers: maksfb, rafaelauler, ayermolo, yozhu, yavtuk

Reviewed By: rafaelauler

Pull Request: https://github.com/llvm/llvm-project/pull/200476
DeltaFile
+124-120bolt/lib/Profile/DataAggregator.cpp
+13-10bolt/include/bolt/Profile/DataAggregator.h
+2-0bolt/test/X86/pre-aggregated-perf.test
+139-1303 files

LLVM/project e9f3104llvm/docs AMDGPUAsyncOperations.rst

replace po with hb; clarify DMA v/s "async"; inline "..."
DeltaFile
+25-34llvm/docs/AMDGPUAsyncOperations.rst
+25-341 files

LLVM/project fdb1b53clang/test/CIR/CodeGenHIP builtins-amdgcn-extended-image.hip

[CIR][AMDGPU] Adds missing test cases
DeltaFile
+28-4clang/test/CIR/CodeGenHIP/builtins-amdgcn-extended-image.hip
+28-41 files

LLVM/project 2258cadflang/include/flang/Semantics symbol.h, flang/lib/Lower/OpenMP OpenMP.cpp

NFC changes
DeltaFile
+4-4flang/lib/Lower/OpenMP/OpenMP.cpp
+2-2flang/include/flang/Semantics/symbol.h
+6-62 files

LLVM/project 1fd692fflang/include/flang/Semantics symbol.h, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][OpenMP] Unify groupprivate device_type handling with declare_target
DeltaFile
+25-24flang/lib/Semantics/resolve-directives.cpp
+11-15flang/lib/Lower/OpenMP/OpenMP.cpp
+9-12flang/lib/Semantics/mod-file.cpp
+12-8flang/lib/Semantics/symbol.cpp
+9-9flang/include/flang/Semantics/symbol.h
+66-685 files

LLVM/project d956fecflang/lib/Semantics mod-file.cpp symbol.cpp

code-format
DeltaFile
+1-1flang/lib/Semantics/mod-file.cpp
+1-1flang/lib/Semantics/symbol.cpp
+2-22 files

LLVM/project b5e2436flang/include/flang/Semantics symbol.h semantics.h, flang/lib/Semantics mod-file.cpp symbol.cpp

[flang][OpenMP] Handle groupprivate device_type like declare_target
DeltaFile
+8-12flang/lib/Semantics/mod-file.cpp
+12-3flang/lib/Semantics/symbol.cpp
+8-6flang/lib/Semantics/resolve-directives.cpp
+10-2flang/include/flang/Semantics/symbol.h
+0-1flang/include/flang/Semantics/semantics.h
+38-245 files

LLVM/project 32088daflang/lib/Lower/OpenMP OpenMP.cpp, flang/lib/Semantics resolve-directives.cpp

code-foramt fix
DeltaFile
+3-5flang/lib/Lower/OpenMP/OpenMP.cpp
+3-3flang/lib/Semantics/resolve-directives.cpp
+6-82 files

LLVM/project e6db954flang/include/flang/Semantics semantics.h symbol.h, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][OpenMP] Store groupprivate device_type on symbol details
DeltaFile
+26-46flang/lib/Semantics/mod-file.cpp
+21-26flang/lib/Semantics/resolve-directives.cpp
+19-17flang/lib/Lower/OpenMP/OpenMP.cpp
+0-20flang/include/flang/Semantics/semantics.h
+0-14flang/lib/Semantics/semantics.cpp
+11-0flang/include/flang/Semantics/symbol.h
+77-1236 files

LLVM/project c0bcb99flang/lib/Semantics resolve-directives.cpp

code-format fix
DeltaFile
+2-2flang/lib/Semantics/resolve-directives.cpp
+2-21 files

LLVM/project bd5cac6flang/include/flang/Semantics semantics.h, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][OpenMP] Propagate groupprivate device_type via .mod files
DeltaFile
+105-37flang/test/Lower/OpenMP/groupprivate.f90
+31-22flang/lib/Lower/OpenMP/OpenMP.cpp
+46-2flang/lib/Semantics/mod-file.cpp
+36-0flang/test/Lower/OpenMP/groupprivate-modfile.f90
+33-0flang/lib/Semantics/resolve-directives.cpp
+21-0flang/include/flang/Semantics/semantics.h
+272-614 files not shown
+286-8810 files

LLVM/project ed00e5cflang/include/flang/Lower OpenMP.h, flang/lib/Lower/OpenMP OpenMP.cpp

NFCcode changes
DeltaFile
+29-29flang/lib/Lower/OpenMP/OpenMP.cpp
+1-1flang/include/flang/Lower/OpenMP.h
+30-302 files

LLVM/project 2f59fe0flang/include/flang/Lower OpenMP.h AbstractConverter.h, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][OpenMP] Replace OMPGroupprivateDeviceTypeInfo struct with a using alias
DeltaFile
+3-5flang/include/flang/Lower/OpenMP.h
+2-6flang/include/flang/Lower/AbstractConverter.h
+2-3flang/lib/Lower/OpenMP/OpenMP.cpp
+7-143 files

LLVM/project 975ad58flang/include/flang/Lower AbstractConverter.h OpenMP.h, flang/lib/Lower Bridge.cpp

support device_type groupprivate lowering
DeltaFile
+22-3flang/lib/Lower/OpenMP/OpenMP.cpp
+22-0flang/test/Lower/OpenMP/groupprivate.f90
+11-0flang/include/flang/Lower/AbstractConverter.h
+11-0flang/include/flang/Lower/OpenMP.h
+11-0flang/lib/Lower/Bridge.cpp
+77-35 files

LLVM/project 654b3a3flang/include/flang/Lower OpenMP.h, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][mlir] Add flang to mlir lowering for groupprivate
DeltaFile
+186-0flang/test/Lower/OpenMP/groupprivate.f90
+124-2flang/lib/Lower/OpenMP/OpenMP.cpp
+0-9flang/test/Lower/OpenMP/Todo/groupprivate.f90
+1-0flang/include/flang/Lower/OpenMP.h
+311-114 files

LLVM/project 06c7de4llvm/lib/Transforms/Scalar LoopFuse.cpp

[LoopFusion][NFC] Avoid copying fusion candidates per pair (#203461)

`fuseCandidates()` copied both candidates (each holding two
`SmallVector<Instruction *, 16>`) for every adjacent pair examined, even
pairs rejected by an early continue. Bind them by const reference; they
are only read before being erased from the list, and performFusion runs
before the erases.
DeltaFile
+2-2llvm/lib/Transforms/Scalar/LoopFuse.cpp
+2-21 files

LLVM/project 74e588bbolt/include/bolt/Profile DataAggregator.h DataReader.h, bolt/lib/Profile DataAggregator.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.8-beta.1
DeltaFile
+160-132bolt/lib/Profile/DataAggregator.cpp
+24-13bolt/include/bolt/Profile/DataAggregator.h
+4-2bolt/include/bolt/Profile/DataReader.h
+3-0bolt/test/X86/pre-aggregated-perf.test
+191-1474 files

LLVM/project 2f1ef5cbolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.8-beta.1

[skip ci]
DeltaFile
+124-120bolt/lib/Profile/DataAggregator.cpp
+13-10bolt/include/bolt/Profile/DataAggregator.h
+2-0bolt/test/X86/pre-aggregated-perf.test
+139-1303 files

LLVM/project d59fbcellvm/test/CodeGen/RISCV clmul.ll clmulr.ll, llvm/test/CodeGen/RISCV/rvv clmulh-sdnode.ll clmul-sdnode.ll

address comments

Created using spr 1.3.8-beta.1
DeltaFile
+38,494-84,026llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+22,388-22,086llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+19,087-24,391llvm/test/CodeGen/RISCV/clmul.ll
+10,473-12,572llvm/test/CodeGen/RISCV/clmulr.ll
+10,287-12,385llvm/test/CodeGen/RISCV/clmulh.ll
+8,361-8,920llvm/test/CodeGen/RISCV/rvv/expandload.ll
+109,090-164,3807,534 files not shown
+633,695-449,9077,540 files

LLVM/project 90765dallvm/test/CodeGen/RISCV clmul.ll clmulr.ll, llvm/test/CodeGen/RISCV/rvv clmulh-sdnode.ll clmul-sdnode.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.8-beta.1

[skip ci]
DeltaFile
+38,494-84,026llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+22,388-22,086llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+19,087-24,391llvm/test/CodeGen/RISCV/clmul.ll
+10,473-12,572llvm/test/CodeGen/RISCV/clmulr.ll
+10,287-12,385llvm/test/CodeGen/RISCV/clmulh.ll
+8,361-8,920llvm/test/CodeGen/RISCV/rvv/expandload.ll
+109,090-164,3807,533 files not shown
+633,598-449,8047,539 files

LLVM/project 44ab570llvm/lib/CodeGen MachineInstrBundle.cpp, llvm/test/CodeGen/AMDGPU finalizebundle.mir hard-clauses-gfx1250.mir

[CodeGen] Treat Reg uses which are partailly defined within bundle as internal read
DeltaFile
+76-0llvm/test/CodeGen/AMDGPU/finalizebundle.mir
+43-9llvm/lib/CodeGen/MachineInstrBundle.cpp
+42-0llvm/test/CodeGen/AMDGPU/hard-clauses-gfx1250.mir
+161-93 files

LLVM/project 636740fllvm/test/CodeGen/AMDGPU si-insert-hard-clause-bundle-fail.ll

add test
DeltaFile
+59-0llvm/test/CodeGen/AMDGPU/si-insert-hard-clause-bundle-fail.ll
+59-01 files

LLVM/project 7b479aaflang/test/Lower/OpenACC acc-loop-exit.f90

Re-introduce removed test
DeltaFile
+41-0flang/test/Lower/OpenACC/acc-loop-exit.f90
+41-01 files

LLVM/project e160db3clang/lib/CIR/CodeGen CIRGenBuiltinAMDGPU.cpp, clang/test/CIR/CodeGenHIP builtins-amdgcn-extended-image.hip

[CIR][AMDGPU] Adds lowering for amdgcn extended image sample/gather4 builtins
DeltaFile
+350-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-extended-image.hip
+50-12clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
+400-122 files

LLVM/project efb038fflang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP nothing.f90

[Flang][Openmp]Prevent TODO abort on nothing directive (#202679)

Since nothing is a no-op directive (OpenMP 5.2, 8.4), handle it during
lowering instead of falling through to the generic unimplemented
utility-directive path and triggering a TODO abort.
DeltaFile
+12-3flang/lib/Lower/OpenMP/OpenMP.cpp
+8-0flang/test/Lower/OpenMP/nothing.f90
+1-1flang/test/Lower/OpenMP/Todo/error.f90
+21-43 files