LLVM/project ecfb433 — offload/libompaccsupport device.cpp

[Offload][OMP] Pass native device binary to device_load OMPT callback (#232478)

According to the specification and input from tool authors, OMPT tools
expect information about native device binary while invoking the
`device_load` OMPT callback function.
DeltaFile
+8-7offload/libompaccsupport/device.cpp
+8-71 files

LLVM/project 78343ae — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer VecUtils.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h

[SandboxVec][LoadStoreVec] Support constant vectors of mixed types
DeltaFile
+414-4llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_mixed_types.ll
+110-11llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+59-13llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
+18-0llvm/lib/SandboxIR/Constant.cpp
+12-0llvm/unittests/SandboxIR/SandboxIRTest.cpp
+9-2llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+622-304 files not shown
+636-3310 files

LLVM/project 4fb9c2a — llvm/test/CodeGen/X86 vector-fshr-256.ll

[X86] vector-fshr-256.ll - add test coverage for #232596 (#232849)
DeltaFile
+115-0llvm/test/CodeGen/X86/vector-fshr-256.ll
+115-01 files

LLVM/project 55ebe84 — libcxx/utils/ci/lnt/schemas libstdcxx.yaml libcxx.yaml

[libc++] Remove the LNT v4 test suite schemas (#232897)

We are using the v5 schemas instead now.
DeltaFile
+0-44libcxx/utils/ci/lnt/schemas/libcxx.yaml
+0-43libcxx/utils/ci/lnt/schemas/libstdcxx.yaml
+0-872 files

LLVM/project 36d9c57 — libcxx/utils/ci/lnt machines.json

[libc++] Bump the LNT machines to the latest version of the test suite (#232895)

Since we are starting from an empty LNT v5 instance, this is a good time
to bump everything.
DeltaFile
+8-8libcxx/utils/ci/lnt/machines.json
+8-81 files

LLVM/project 4c90f80 — llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV rvp-insert-subvector.ll

[RISCV][P-ext] Remove custom lowering of insert_subvector for v2i16/v4i8 on RV64.

This was for handling inserting into a zero vector. After #232892
we let the insert_subvector legalize to a shuffle_vector which we
can then lower as pack.

This changes the codegen from zext.w to pack, but that's not
necessarily worse. If it turns out to be a problem we can
canonicalize pack with zero with a DAGCombine or isel patterns in
the future.
DeltaFile
+3-11llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+2-2llvm/test/CodeGen/RISCV/rvp-insert-subvector.ll
+5-132 files

LLVM/project c84fe9f — libc/src/__support/FPUtil CMakeLists.txt, libc/src/__support/math sinf.h cosf.h

[libc][math] Fix code size issues with sinf and cosf. (#232843)

- Add missing "optimization.h" includes from sinf, cosf and sinf_test.
- Move function-local arrays out to namespace.
DeltaFile
+42-41libc/src/__support/math/sincosf_float_eval.h
+2-0libc/test/src/math/CMakeLists.txt
+2-0libc/src/__support/math/CMakeLists.txt
+1-0libc/src/__support/math/sinf.h
+1-0libc/src/__support/math/cosf.h
+1-0libc/src/__support/FPUtil/CMakeLists.txt
+49-412 files not shown
+51-418 files

LLVM/project 215725f — compiler-rt/lib/scudo/standalone memtag.h combined.h, compiler-rt/lib/scudo/standalone/tests memtag_test.cpp wrappers_cpp_test.cpp

[scudo] Mark functions/classes as test only. (#231737)

A few functions/classes should be test only to indicate they should not
be used in normal code.

Specifically, isOwned to isOwnedTestOnly and the class
ScopedDisableMemoryTagChecks to ScopedTestOnlyDisableMemoryTagChecks.

Modify the iterateOverChunks function to avoid using the test class and
clean up the function a bit.
DeltaFile
+7-12compiler-rt/lib/scudo/standalone/combined.h
+5-5compiler-rt/lib/scudo/standalone/memtag.h
+5-4compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
+2-2compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
+1-1compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
+20-245 files

LLVM/project 14b52db — llvm/include/llvm/CodeGen SlotIndexes.h, llvm/lib/CodeGen RegAllocGreedy.cpp LiveIntervals.cpp

[CodeGen] Drop dead SlotIndexes before allocation

SlotIndexes keeps the index list entry of an erased instruction and only
clears its instruction pointer. Live range sizes are measured in slot
indexes and greedy ranks ranges by size, so the leftovers inflate some
ranges more than others and reorder allocation, spilling heavily on
register-starved functions.

Add SlotIndexes::compactIndexes() to erase them. Erased entries are
unlinked, so LiveIntervals first reports the indexes it holds via
appendReferencedIndexes().

Off by default behind -greedy-compact-slot-indexes, since it changes
allocation across much of the test suite.
DeltaFile
+221-0llvm/unittests/CodeGen/SlotIndexesTest.cpp
+46-0llvm/lib/CodeGen/SlotIndexes.cpp
+32-0llvm/test/CodeGen/AMDGPU/greedy-compact-slot-indexes.ll
+23-6llvm/include/llvm/CodeGen/SlotIndexes.h
+29-0llvm/lib/CodeGen/LiveIntervals.cpp
+12-1llvm/lib/CodeGen/RegAllocGreedy.cpp
+363-71 files not shown
+367-77 files

LLVM/project 850fd86 — .github/workflows libcxx-lnt-pipeline-libstdcxx.yml libcxx-benchmark-cron.yml, libcxx/utils/ci/lnt machines.json dispatch-benchmarks

[libc++] Switch the libc++ benchmark pipelines to LNT v5 (#232888)

Since lnt.llvm.org is now running LNT v5, switch the benchmark pipelines
over to it. Note that we hardcode the submission URL now because
submitting requires an API key, so allowing the submission workflows to
submit to another instance would allow leaking that token.
DeltaFile
+7-14libcxx/utils/ci/lnt/dispatch-benchmarks
+10-11.github/workflows/libcxx-lnt-submit.yml
+2-7.github/workflows/libcxx-run-benchmarks.yml
+3-6libcxx/utils/ci/lnt/machines.json
+0-6.github/workflows/libcxx-lnt-pipeline-libstdcxx.yml
+3-3.github/workflows/libcxx-benchmark-cron.yml
+25-472 files not shown
+25-598 files

LLVM/project e76b874 — utils/bazel/llvm-project-overlay/libc BUILD.bazel

[bazel][libc] Add missing type_traits dep to nearest_integer (#232868)

88fd7f873e30 added an include of src/__support/CPP/type_traits.h to
nearest_integer.h without the matching Bazel dep, so the layering check
fails for every target that reaches it.
DeltaFile
+1-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+1-01 files

LLVM/project fb92532 — llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV rvp-simd-32.ll rvp-simd-64.ll

[RISCV] Call tryWidenMaskForShuffle at the end of P extension shuffle lowering.

If the shuffle mask has contiguous elements we can try shuffling
them using a large element type.
DeltaFile
+24-48llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+0-8llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+4-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+28-573 files

LLVM/project 646d61b — llvm/lib/Transforms/IPO OpenMPOpt.cpp, llvm/test/Transforms/OpenMP spmdization_guarding.ll

[OpenMP] follow-up on strict fence SPMDization (#232873)

Summary:
Address some late comments. Autogenerates tests, fix up function usage.

Main behavior of the change is that the SPMDization no longer breaks the
happens-before relationship a fence provided. I.e. cannot move loads or
stores past a barrier stronger than the one inserted by the pass itself.
DeltaFile
+218-16llvm/test/Transforms/OpenMP/spmdization_guarding.ll
+10-12llvm/lib/Transforms/IPO/OpenMPOpt.cpp
+228-282 files

LLVM/project e3ccdc4 — mlir/lib/Transforms/Utils GreedyPatternRewriteDriver.cpp

[mlir] Check greedy rewrite fingerprints at entry points
DeltaFile
+28-0mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
+28-01 files

LLVM/project 1047a1b — mlir/include/mlir/Transforms FoldUtils.h, mlir/lib/Transforms/Utils FoldUtils.cpp GreedyPatternRewriteDriver.cpp

[mlir] Track known constant insertion effects
DeltaFile
+15-4mlir/include/mlir/Transforms/FoldUtils.h
+9-5mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
+9-4mlir/lib/Transforms/Utils/FoldUtils.cpp
+33-133 files

LLVM/project 1be0103 — mlir/lib/Transforms/Utils RegionUtils.cpp

[mlir] Report block argument removal from runRegionDCE (#232211)

runRegionDCE reports whether it changed the IR, but deleteDeadness did not include
dead non-entry block arguments in its change flag.

This caused GreedyPatternRewriteDriver to not report a change even when DCE happened.

Assisted-by: gpt 6 sol
DeltaFile
+5-2mlir/lib/Transforms/Utils/RegionUtils.cpp
+5-21 files

LLVM/project 53b8cb0 — llvm/lib/Target/NVPTX NVPTXIntrinsics.td, llvm/test/CodeGen/NVPTX convert-sm90.ll

[NVPTX] Lower BF16-to-FP16 conversion intrinsics (#232313)

Lower `llvm.nvvm.bf2h.rn` and `llvm.nvvm.bf2h.rn.ftz` to
`cvt.rn.f16.bf16` on SM90 and later, fixing instruction-selection
crashes.

Assisted-by: GPT-6 Astra
DeltaFile
+34-0llvm/test/CodeGen/NVPTX/convert-sm90.ll
+5-0llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
+39-02 files

LLVM/project 6c930d2 — flang/lib/Semantics canonicalize-omp.cpp

[flang][OpenMP] Move CanonicalizationOfOmp member definitions out of … (#232872)

…class

Keep only declarations (and the trivial constructor) in the class, and
define each member function out of line after the class. Each function's
leading comment moves with its implementation. No functional change.

Co-authored-by: Claude Opus 4 (1M context) <noreply at anthropic.com>
DeltaFile
+310-280flang/lib/Semantics/canonicalize-omp.cpp
+310-2801 files

LLVM/project 8008422 — lldb/include/lldb/Target TargetGroupList.h TargetGroup.h, lldb/source/Commands CommandObjectTarget.cpp

[lldb] Add target groups for related targets (#229180)

## Summary

- introduce first-class `TargetGroup` objects
- represent each group member as `{TargetWP, TargetGroup::Role}`, with
one extensible role per target
- use synchronized `TargetGroupList` collections for the debugger
registry and per-target memberships
- add `target groups list` for inspecting groups and member roles

This contains the generic target-group model discussed in review.
Accelerator integration and public SB APIs can follow separately after
the initial foundation is landed.

## Testing
added target group tests.
DeltaFile
+293-0lldb/unittests/Target/TargetGroupTest.cpp
+134-0lldb/source/Commands/CommandObjectTarget.cpp
+119-0lldb/source/Target/TargetGroup.cpp
+86-0lldb/include/lldb/Target/TargetGroup.h
+73-0lldb/source/Target/TargetGroupList.cpp
+70-0lldb/include/lldb/Target/TargetGroupList.h
+775-08 files not shown
+822-314 files

LLVM/project 39a789f — clang/include/clang/CIR/Dialect/IR CIRAttrs.td, clang/lib/CIR/Dialect/IR CIRAttrs.cpp

[CIR] Support flexible array initialization in unions (#230284)

Fixes #228951
DeltaFile
+23-2clang/test/CIR/CodeGen/flexible-array-init.c
+11-1clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
+5-5clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+10-0clang/test/CIR/IR/invalid-const-record.cir
+5-0clang/test/CIR/IR/const-record-flexible-array.cir
+1-3clang/lib/CIR/Lowering/LoweringHelpers.cpp
+55-116 files

LLVM/project 9ef5250 — llvm/lib/Transforms/Vectorize VectorizeOptions.td SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 reduction-width-budget.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+70-0llvm/test/Transforms/SLPVectorizer/X86/reduction-width-budget.ll
+11-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-0llvm/lib/Transforms/Vectorize/VectorizeOptions.td
+83-23 files

LLVM/project b96162c — llvm/include/llvm/Support Unicode.h, llvm/lib/Support Unicode.cpp UnicodeCharSetsGenerated.cpp

[Support] Add isCharacter, isControl functions (#231223)

This adds functions for determining whether a code point is an assigned
character, and for determining whether a code point is a control
character, based on the Unicode standard.
DeltaFile
+258-0llvm/lib/Support/UnicodeCharSetsGenerated.cpp
+18-0llvm/lib/Support/Unicode.cpp
+9-0llvm/include/llvm/Support/Unicode.h
+8-0llvm/utils/UnicodeData/UnicodeCharSetsGenerator.cpp
+293-04 files

LLVM/project 87f8f25 — clang/lib/Driver/ToolChains Flang.cpp, flang/test/Driver version-loops-trip-count.f90

[flang][driver] Honor trailing -O0 and test -mmlir overrides for trip-count versioning
DeltaFile
+30-0flang/test/Integration/loop-tripcount-versioning.f90
+8-5clang/lib/Driver/ToolChains/Flang.cpp
+9-0flang/test/Driver/version-loops-trip-count.f90
+47-53 files

LLVM/project 7878a42 — flang/include/flang/Optimizer/Passes CommandLineOpts.h, flang/lib/Optimizer/Passes Pipelines.cpp CommandLineOpts.cpp

[flang] Plumb -loop-tripcount-versioning-max-unrolled-ops through the pipeline
DeltaFile
+5-0flang/lib/Optimizer/Passes/CommandLineOpts.cpp
+2-1flang/lib/Optimizer/Passes/Pipelines.cpp
+1-0flang/include/flang/Optimizer/Passes/CommandLineOpts.h
+8-13 files

LLVM/project 98ce9a1 — clang/lib/Driver/ToolChains Flang.cpp, flang/docs ReleaseNotes.md

[flang] Add -f[no-]version-loops-for-trip-count and enable it at -O3
DeltaFile
+36-0flang/test/Integration/loop-tripcount-versioning.f90
+34-0flang/test/Driver/version-loops-trip-count.f90
+14-11clang/lib/Driver/ToolChains/Flang.cpp
+5-0flang/lib/Optimizer/Passes/CommandLineOpts.cpp
+5-0flang/docs/ReleaseNotes.md
+4-0flang/lib/Optimizer/Passes/Pipelines.cpp
+98-116 files not shown
+111-1112 files

LLVM/project 01d53f3 — llvm/test/Transforms/SLPVectorizer/X86 reduction-width-budget.ll

[SLP][NFC]Add a test for another option to control compile time, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/232876
DeltaFile
+119-0llvm/test/Transforms/SLPVectorizer/X86/reduction-width-budget.ll
+119-01 files

LLVM/project 52c4b0b — flang/lib/Optimizer/Transforms LoopTripCountVersioning.cpp, flang/test/Transforms loop-tripcount-versioning.fir

[flang] Skip omp declare_target nohost functions in LoopTripCountVersioning
DeltaFile
+29-0flang/test/Transforms/loop-tripcount-versioning.fir
+17-6flang/lib/Optimizer/Transforms/LoopTripCountVersioning.cpp
+46-62 files

LLVM/project 2f18cdd — llvm/test/Transforms/SLPVectorizer/X86 reduction-width-budget.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+119-0llvm/test/Transforms/SLPVectorizer/X86/reduction-width-budget.ll
+119-01 files

LLVM/project e9a66e8 — llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer VecUtils.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h

[SandboxVec][LoadStoreVec] Support constant vectors of mixed types
DeltaFile
+414-4llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_mixed_types.ll
+113-13llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+70-26llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
+18-0llvm/lib/SandboxIR/Constant.cpp
+12-0llvm/unittests/SandboxIR/SandboxIRTest.cpp
+9-2llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+636-454 files not shown
+650-4810 files

LLVM/project 0576db6 — llvm/include/llvm/IR IntrinsicsSPIRV.td IntrinsicsDirectX.td

[NFC][DirectX][SPIRV] Clang-format intrinsic definition files (#231647)

Formatted the intrinsic definition files for DirectX and SPIR-V with
clang-format. The `.td` files are by default excluded from clang-format
runs, but I figured it is worth having these intrinsics definitions in
consistent layout. I'll be editing a number of the intrinsics as part of
#217423 and this will make it easier to review.
DeltaFile
+528-311llvm/include/llvm/IR/IntrinsicsDirectX.td
+481-160llvm/include/llvm/IR/IntrinsicsSPIRV.td
+1,009-4712 files