LLVM/project efe51e9llvm/lib/Target/AMDGPU AMDGPUSwLowerLDS.cpp

[AMDGPU] Lower LDS flat round trips without provenance analysis
DeltaFile
+42-151llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+42-1511 files

LLVM/project 4943381llvm/lib/Target/AMDGPU AMDGPUSwLowerLDS.cpp

changes as per review feedback
DeltaFile
+33-30llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+33-301 files

LLVM/project 6177414llvm/lib/Target/AMDGPU AMDGPUSwLowerLDS.cpp, llvm/test/CodeGen/AMDGPU amdgpu-sw-lower-lds-flat-ptr-arg-asan.ll

update
DeltaFile
+231-94llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+213-30llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-flat-ptr-arg-asan.ll
+444-1242 files

LLVM/project b61c828llvm/lib/Target/AMDGPU AMDGPUSwLowerLDS.cpp, llvm/test/CodeGen/AMDGPU amdgpu-sw-lower-lds-flat-ptr-arg-asan.ll

[AMDGPU] Fix LDS access via flat pointer argument in amdgpu-sw-lower-lds
DeltaFile
+82-0llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+73-0llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-flat-ptr-arg-asan.ll
+155-02 files

LLVM/project 49d49a6flang/lib/Lower/Support ReductionProcessor.cpp, flang/test/Lower/OpenMP declare-reduction-allocatable-combined.f90 declare-reduction-allocatable-char.f90

[Flang][OpenMP] Fix crash and IR errors for user-defined reduction on allocatable variables (#186765)

Fixes - https://github.com/llvm/llvm-project/issues/186743

This patch fixes flang crashes and invalid IR when using user-defined
reductions (declare reduction) with allocatable variables (scalars, 1D,
2D arrays). Previously, flang would either crash during FIR lowering or
emit bad LLVM IR (type mismatch in _FortranAAssign and llvm.memcpy).

The fix ensures that declare_reduction ops are created for the correct
boxed type when the reduction variable is allocatable or pointer. This
works for both integer and character types.
DeltaFile
+210-0flang/lib/Lower/Support/ReductionProcessor.cpp
+125-0flang/test/Lower/OpenMP/declare-reduction-allocatable.f90
+56-0flang/test/Lower/OpenMP/declare-reduction-allocatable-real.f90
+47-0flang/test/Lower/OpenMP/declare-reduction-allocatable-orig-init.f90
+37-0flang/test/Lower/OpenMP/declare-reduction-allocatable-char.f90
+35-0flang/test/Lower/OpenMP/declare-reduction-allocatable-combined.f90
+510-02 files not shown
+532-338 files

LLVM/project 4a0366dflang/test/Lower/OpenMP declare-target-implicit-func-and-subr-cap-enter.f90 declare-target-data.f90, mlir/lib/Dialect/OpenMP/Transforms MarkDeclareTarget.cpp

[MLIR][OpenMP] Support calls added between MarkDeclareTarget runs

Currently, if there are multiple executions of the `MarkDeclareTarget`
pass in a compiler pipeline and somewhere between both runs function
calls get added to a non-declare_target function that was marked as such
implicitly, potential changes to the `device_type` won't get propagated.

This is because we can't distinguish between a user-specified
`declare_target` function attribute and one added by that pass. This
patch addresses this by adding a new parameter to `DeclareTargetAttr`
that is used by that pass to know whether new `declare_target`
information could be propagated to it.

The `automap` and `implicit` parameters are given default values to
simplify the representation of these attributes.
DeltaFile
+62-40mlir/test/Dialect/OpenMP/mark-declare-target.mlir
+25-47mlir/lib/Dialect/OpenMP/Transforms/MarkDeclareTarget.cpp
+23-23flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
+21-21flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
+19-19flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
+19-19flang/test/Lower/OpenMP/declare-target-data.f90
+169-16912 files not shown
+221-20618 files

LLVM/project ada3786libcxx/include/__random piecewise_linear_distribution.h lognormal_distribution.h

[libc++] Make all of <random> depend on <__math/FOO.h> instead of <cmath> (#213084)

Some of `<random>` functionality depends on the system's `math.h` header
instead of `__math/FOO.h`. System's are just undefined symbol to be
linked, but the `__math/FOO.h` are implemented with potentially
constexpr-friendly builtins. Also, some of the functionality seems to be
using `__math::` namespace and some doesn't, seemingly randomly.

This PR fixes such inconsistency, avoids using non-constexpr functions
from the system's `math.h`, and in turn removes obstacles for P3791
`constexpr <random>`.

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
DeltaFile
+18-13libcxx/include/__random/poisson_distribution.h
+9-6libcxx/include/__random/gamma_distribution.h
+9-6libcxx/include/__random/clamp_to_integral.h
+5-4libcxx/include/__random/binomial_distribution.h
+3-3libcxx/include/__random/lognormal_distribution.h
+3-2libcxx/include/__random/piecewise_linear_distribution.h
+47-348 files not shown
+64-4714 files

LLVM/project ecb488cflang/test/Integration/OpenMP function-filtering-2.f90, flang/test/Lower/OpenMP declare-target-implicit-tarop-cap.f90 declare-target-implicit-func-and-subr-cap-enter.f90

[Flang][OpenMP] Improve implicit declare_target propagation

After starting to run the `MarkDeclareTarget` pass later in the
pipeline, some limitations of its original implementation started to be
hit; specifically, some calls being missed could result in an overly
restrictive marking that would cause the `HostOpFiltering` pass to
remove reachable device code.

This patch aims to address these problems by making the following
changes:
- It makes sure to mark functions in every `RecipeInterface` op pointed
to by OpenMP operations.
- It recursively propagates and combines declare_target information from
target regions and explicitly set declare_target functions to unmarked
functions, but it never modifies explicitly marked functions.
- External and public functions can now only be marked with
`device_type(any)`. Before, marking them as `nohost` or `host` was
possible, but without the ability to see all users we can't give such
guarantees.

    [7 lines not shown]
DeltaFile
+267-124mlir/lib/Dialect/OpenMP/Transforms/MarkDeclareTarget.cpp
+200-187flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
+363-0mlir/test/Dialect/OpenMP/mark-declare-target.mlir
+174-161flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
+86-73flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
+46-44flang/test/Integration/OpenMP/function-filtering-2.f90
+1,136-5895 files not shown
+1,174-60211 files

LLVM/project f037257flang/include/flang/Optimizer/OpenMP Passes.td, flang/lib/Optimizer/OpenMP CMakeLists.txt DeleteUnreachableTargets.cpp

[Flang][OpenMP] Remove the DeleteUnreachableTargets pass

The `DeleteUnreachableTargets` pass was initially added to work around
a problem caused by the interaction between the function filtering and
host op filtering passes and generic MLIR optimizations.

Specifically, by running function and host op filtering before these
optimizations, we would lose the ability to detect unreachable
`omp.target` operations when compiling for the device. This would cause
GPU kernels being created for them, for which no host counterpart
existed.

By now having moved both passes towards the end of the compilation
pipeline, after FIR to LLVM lowering, removal of unreachable host and
device code is no longer impacted by them. This makes the
`DeleteUnreachableTargets` pass redundant.
DeltaFile
+0-322flang/test/Transforms/OpenMP/delete-unreachable-targets.mlir
+202-27flang/test/Lower/OpenMP/target-dead-code.f90
+0-76flang/lib/Optimizer/OpenMP/DeleteUnreachableTargets.cpp
+0-12flang/include/flang/Optimizer/OpenMP/Passes.td
+0-3flang/lib/Optimizer/Passes/Pipelines.cpp
+0-1flang/lib/Optimizer/OpenMP/CMakeLists.txt
+202-4416 files

LLVM/project bf7b2c6flang/lib/Optimizer/OpenMP UnimplementedDeviceCheck.cpp FunctionFiltering.cpp, flang/test/Transforms omp-function-filtering-todo.mlir

[Flang][MLIR][OpenMP] Move function filtering to the omp dialect

The `FunctionFilteringPass`, which removes host-only functions when
compiling for an OpenMP target device, is currently defined only for
Flang. However, it implements logic that would generally be useful for
other frontends that can generate OpenMP offloading code. This patch
makes that transition by implementing the following changes:
- It rewrites the `FunctionFilteringPass` to work on lower level non-FIR
  MLIR modules.
- It splits off preexisting logic to check for not-yet-implemented target
  device features during function filtering to its own pass and it improves
  context detection to properly diagnostic only device code.
- It delays function filtering to run at the end of the pipeline, as well
  as the `MarkDeclareTargetPass`. This will enable the latter to run
  only once in the pipeline after the `UnimplementedDeviceCheckPass`
  becomes no longer necessary.

One side effect of these changes is that delaying the filtering will
cause all following passes to process host functions that are eventually

    [4 lines not shown]
DeltaFile
+0-155flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
+152-0mlir/test/Dialect/OpenMP/function-filter.mlir
+0-137flang/test/Transforms/OpenMP/function-filtering.mlir
+109-0mlir/lib/Dialect/OpenMP/Transforms/FunctionFiltering.cpp
+98-0flang/lib/Optimizer/OpenMP/UnimplementedDeviceCheck.cpp
+67-5flang/test/Transforms/omp-function-filtering-todo.mlir
+426-29720 files not shown
+798-61026 files

LLVM/project 206e4c0llvm/include/llvm/Analysis BlockFrequencyInfoImpl.h, llvm/lib/CodeGen MachineBlockFrequencyInfo.cpp LazyMachineBlockFrequencyInfo.cpp

[Analysis] Use CycleInfo for BlockFrequencyInfo (#213488)

BranchProbabilityAnalysis uses CycleInfo, but BFI doesn't, causing the
somewhat redundant construction of an extra LoopInfo. Avoid this by
porting BFI to use CycleInfo.

This requires a minor change to the BFI implementation to avoid
incorrect results with irreducible loops that show up as nested but
don't show up as nested loops -- such cycle entries are skipped now.
(Such an entry heads a loop the cycle absorbed, and which entry keeps a
nested cycle of its own depends on the order the search found the entries
in.) @crossloops reaches c1 and c2 alike, yet only c1 heads a nested cycle,
so seeding it gave c1 a loop scale c2 never got and their frequencies came
out 0.68571 and 1.1429 where the test derives 1.0 for both. Represent none
of those entries and leave the region to computeIrreducibleMass, which
decomposes it from the reverse postorder as it does when LoopInfo finds
no natural loop there.

Passing the parent down also fixes the loop nest: &Loops.back() is whichever

    [3 lines not shown]
DeltaFile
+53-30llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+27-20llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
+19-19llvm/test/CodeGen/AArch64/late-taildup-computed-goto.ll
+12-25llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
+12-12llvm/test/Analysis/BlockFrequencyInfo/irreducible.ll
+12-11llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
+135-11740 files not shown
+273-26846 files

LLVM/project 6f8b432llvm/docs ReleaseNotes.md

fixup updated release note
DeltaFile
+2-0llvm/docs/ReleaseNotes.md
+2-01 files

LLVM/project 4a19c11libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space space.pass.cpp

[libc++] Try fixing flaky fs.op.space test on FreeBSD (#213988)

As part of this test, we check the capacity available on the filesystem
and compare it against an expected capacity. However, on some
filesystems, the capacity is actually computed and may change depending
on filesystem usage. This creates a race condition since the disk may be
filling up (by e.g. other running tests) between the two calls.

For that same reason, other checks for the available size were using an
approximate equality up to a delta. Use the same approach for the
capacity here.
DeltaFile
+1-1libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
+1-11 files

LLVM/project 0296016mlir/include/mlir/Dialect/Bufferization/Transforms Passes.td, mlir/lib/Dialect/Bufferization/Transforms StaticMemoryPlannerAnalysis.cpp

[mlir][bufferization] Handle scf.if deallocs in static memory planner (#213634)

Extends the static memory planner (#209106) to handle two scf.if
patterns that previously errored or were silently missed.

**What changed**

Replaced the hand-rolled `BufferViewFlowOpInterface` DFS with the shared
`BufferViewFlowAnalysis`. This covers arith.select, scf.if/for results,
cf branches, and view ops in one place — no new interface needed.

Two new cases are handled:

1. Alloc flows through an `scf.if` result; `dealloc` is on that result.
`resolve()` finds the alias and picks up the dealloc.

2. Alloc is in the entry block; `dealloc` is inside an `scf.if` body.
`findAncestorOpInBlock` anchors the lifetime to the enclosing `scf.if` —
conservative but correct.

    [10 lines not shown]
DeltaFile
+99-47mlir/lib/Dialect/Bufferization/Transforms/StaticMemoryPlannerAnalysis.cpp
+99-0mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-analysis.mlir
+7-7mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-errors.mlir
+8-2mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
+213-564 files

LLVM/project 40338c5llvm/lib/Transforms/Vectorize VPlanAnalysis.cpp, llvm/test/Transforms/LoopVectorize revec-reg-usage.ll

[LV][REVEC] Correctly compute register usage

For REVEC, the initial types might already be vectors, so make sure the
right register class is picked.
DeltaFile
+39-0llvm/test/Transforms/LoopVectorize/revec-reg-usage.ll
+17-12llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
+56-122 files

LLVM/project 6b70d41flang/test/Lower/OpenMP declare-target-implicit-func-and-subr-cap-enter.f90 declare-target-data.f90, mlir/lib/Dialect/OpenMP/Transforms MarkDeclareTarget.cpp

[MLIR][OpenMP] Support calls added between MarkDeclareTarget runs

Currently, if there are multiple executions of the `MarkDeclareTarget`
pass in a compiler pipeline and somewhere between both runs function
calls get added to a non-declare_target function that was marked as such
implicitly, potential changes to the `device_type` won't get propagated.

This is because we can't distinguish between a user-specified
`declare_target` function attribute and one added by that pass. This
patch addresses this by adding a new parameter to `DeclareTargetAttr`
that is used by that pass to know whether new `declare_target`
information could be propagated to it.

The `automap` and `implicit` parameters are given default values to
simplify the representation of these attributes.
DeltaFile
+62-40mlir/test/Dialect/OpenMP/mark-declare-target.mlir
+25-47mlir/lib/Dialect/OpenMP/Transforms/MarkDeclareTarget.cpp
+23-23flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
+21-21flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
+19-19flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
+19-19flang/test/Lower/OpenMP/declare-target-data.f90
+169-16912 files not shown
+221-20618 files

LLVM/project 0ca4b9dlibcxx/include regex locale, libcxx/include/__filesystem path.h

[libc++] Use the granular headers instead of <__locale> (#214029)

After splitting up <__locale> into sub-headers, we can now use the
granular includes from the rest of the code and remove <__locale>.
DeltaFile
+0-30libcxx/include/__locale
+5-1libcxx/include/locale
+4-1libcxx/include/regex
+2-2libcxx/include/__filesystem/path.h
+3-1libcxx/include/__locale_dir/time.h
+3-1libcxx/include/__locale_dir/money.h
+17-3622 files not shown
+41-5628 files

LLVM/project 436ddceflang/test/Integration/OpenMP function-filtering-2.f90, flang/test/Lower/OpenMP declare-target-implicit-tarop-cap.f90 declare-target-implicit-func-and-subr-cap-enter.f90

[Flang][OpenMP] Improve implicit declare_target propagation

After starting to run the `MarkDeclareTarget` pass later in the
pipeline, some limitations of its original implementation started to be
hit; specifically, some calls being missed could result in an overly
restrictive marking that would cause the `HostOpFiltering` pass to
remove reachable device code.

This patch aims to address these problems by making the following
changes:
- It makes sure to mark functions in every `RecipeInterface` op pointed
to by OpenMP operations.
- It recursively propagates and combines declare_target information from
target regions and explicitly set declare_target functions to unmarked
functions, but it never modifies explicitly marked functions.
- External and public functions can now only be marked with
`device_type(any)`. Before, marking them as `nohost` or `host` was
possible, but without the ability to see all users we can't give such
guarantees.

    [7 lines not shown]
DeltaFile
+267-124mlir/lib/Dialect/OpenMP/Transforms/MarkDeclareTarget.cpp
+200-187flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
+363-0mlir/test/Dialect/OpenMP/mark-declare-target.mlir
+174-161flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
+86-73flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
+46-44flang/test/Integration/OpenMP/function-filtering-2.f90
+1,136-5895 files not shown
+1,174-60211 files

LLVM/project 8a8fbc4.github/workflows libcxx-pr-benchmark.yml libcxx-benchmark-commit.yml, libcxx/utils requirements.txt

[libc++] Require installing dependencies before running LNT tooling (#214020)

This makes all benchmark-related utilities consistently rely on a
virtual environment containing libcxx/utils/requirements.txt instead of
some scripts installing their dependencies explicitly, which is
duplicate work in most cases.
DeltaFile
+5-13libcxx/utils/ci/lnt/submit-benchmarks
+8-10libcxx/utils/ci/lnt/run-benchmarks
+8-0.github/workflows/libcxx-benchmark-commit.yml
+4-0libcxx/utils/ci/lnt/README.md
+1-1.github/workflows/libcxx-pr-benchmark.yml
+1-0libcxx/utils/requirements.txt
+27-246 files

LLVM/project 91a6464llvm/lib/Transforms/Vectorize VPlan.h VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize revec-liveout.ll

Test get(VPV, LaneIdx) for "vector lanes"

This requires a slight adjustment to type asserts in
VPInstruction::execute to be safe for REVEC.
DeltaFile
+77-0llvm/test/Transforms/LoopVectorize/revec-liveout.ll
+8-4llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+2-1llvm/lib/Transforms/Vectorize/VPlan.h
+87-53 files

LLVM/project b5c9e1blibcxx CMakeLists.txt, libcxx/test/benchmarks CMakeLists.txt

[runtimes] Remove override of LLVM_ENABLE_PER_TARGET_RUNTIME_DIR on Darwin (#213748)

It should be possible to produce a per-target include directory even on
Apple platforms. That's not the way we ship the library by default, but
there's no reason not to allow selecting that configuration.
DeltaFile
+1-1libunwind/CMakeLists.txt
+1-1libcxxabi/CMakeLists.txt
+1-1libcxx/test/benchmarks/CMakeLists.txt
+1-1libcxx/CMakeLists.txt
+4-44 files

LLVM/project 8d47bdalibcxx/include cmath CMakeLists.txt, libcxx/include/__cmath special_functions.h

[libc++] Move math special functions under __cmath (#213944)

It was always a bit weird that these were the only functions under
__math/ which were not in the __math namespace and were not in the
global namespace. This also led to a workaround in the C++20 modules
testing.

Instead, move math special functions under __cmath/, which will contain
APIs that are part of `<cmath>` but not `<math.h>`.
DeltaFile
+0-84libcxx/include/__math/special_functions.h
+84-0libcxx/include/__cmath/special_functions.h
+0-7libcxx/utils/libcxx/test/modules.py
+4-1libcxx/include/module.modulemap.in
+1-1libcxx/include/cmath
+1-1libcxx/include/CMakeLists.txt
+90-946 files

LLVM/project 5203f10llvm/test/Transforms/PhaseOrdering/X86 avg.ll

[PhaseOrdering][X86] avg.ll - add back missing AVX2/AVX512 check prefixes (#214164)

These got lost in a merge at some point
DeltaFile
+4-4llvm/test/Transforms/PhaseOrdering/X86/avg.ll
+4-41 files

LLVM/project ce62e4allvm/lib/Passes PassBuilderPipelines.cpp, llvm/test/Other new-pm-thinlto-postlink-samplepgo-defaults.ll new-pm-thinlto-postlink-pgo-defaults.ll

[LoopFlatten] Enable by default
DeltaFile
+1-1llvm/lib/Passes/PassBuilderPipelines.cpp
+1-0llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
+1-0llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
+1-0llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
+1-0llvm/test/Other/new-pm-lto-defaults.ll
+1-0llvm/test/Other/new-pm-defaults.ll
+6-13 files not shown
+9-19 files

LLVM/project c67a0e3mlir/lib/Dialect/SPIRV/Transforms UpdateVCEPass.cpp, mlir/test/Dialect/SPIRV/Transforms vce-deduction.mlir

[mlir][SPIR-V] Guard update-vce pass against ops exceeding target max version (#212939)
DeltaFile
+20-1mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
+12-3mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
+32-42 files

LLVM/project f8839b0llvm/test/CodeGen/AMDGPU buffer-fat-pointer-atomicrmw-fmax.ll buffer-fat-pointer-atomicrmw-fadd.ll

rebase

Created using spr 1.3.8-wip
DeltaFile
+3,809-3,814llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
+3,809-3,814llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
+3,465-3,511llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
+3,465-3,511llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
+3,299-3,240llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
+2,594-2,524llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
+20,441-20,4142,555 files not shown
+163,598-96,1652,561 files

LLVM/project c7d6dd1llvm/docs AMDGPUMemoryModel.md

[Docs][AMDGPU] addrspace(0) is generic, not global. NFC. (#214169)
DeltaFile
+1-1llvm/docs/AMDGPUMemoryModel.md
+1-11 files

LLVM/project 33c2f1cclang/test/CodeGen/AArch64 neon-intrinsics.c neon-ldst-one.c, clang/test/CodeGen/AArch64/neon store.c

Merge branch 'main' into users/ssahasra/flat-generic
DeltaFile
+2,340-0clang/test/CodeGen/AArch64/neon/store.c
+0-1,629clang/test/CodeGen/AArch64/neon-ldst-one.c
+0-1,515clang/test/CodeGen/AArch64/neon-intrinsics.c
+280-0llvm/test/Transforms/GVN/select_exponential_blowup.ll
+102-102llvm/test/CodeGen/X86/vector-reduce-xor.ll
+102-102llvm/test/CodeGen/X86/vector-reduce-or.ll
+2,824-3,348175 files not shown
+5,690-4,481181 files

LLVM/project 23a9b40llvm/docs AMDGPUMemoryModel.md

[Docs][AMDGPU] addrspace(0) is generic, not global. NFC.
DeltaFile
+1-1llvm/docs/AMDGPUMemoryModel.md
+1-11 files

LLVM/project 65eeb39llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-private.mir legalize-load-local.mir

Merge branch 'main' into users/meinersbur/flang_binary-data
DeltaFile
+23,904-12llvm/test/CodeGen/RISCV/clmul.ll
+11,567-11,387llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+9,390-9,011llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+8,523-8,379llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+8,037-7,972llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+74,489-36,76120,397 files not shown
+1,017,736-622,57520,403 files