LLVM/project 16a8316llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AMDGPU urem64.ll udiv64.ll

[DAG] Use known-bits when creating umulh/smulh. (#160916)

This extends the creation of umulh/smulh instructions to handle cases
where one operand is a zext/sext and the other has enough known-zero or
sign bits to create a mulh. This can be useful when one of the operands
is hoisted out of a loop.
DeltaFile
+115-76llvm/test/CodeGen/X86/combine-pmuldq.ll
+32-112llvm/test/CodeGen/Thumb2/mve-vmulh.ll
+13-10llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+8-8llvm/test/CodeGen/AMDGPU/urem64.ll
+4-4llvm/test/CodeGen/AMDGPU/udiv64.ll
+2-2llvm/test/CodeGen/AMDGPU/sdiv64.ll
+174-2126 files

LLVM/project c6694e5llvm/include/llvm/Transforms/Utils Cloning.h, llvm/lib/Transforms/IPO Inliner.cpp

Revert "[Inliner] Put inline history into IR as !inline_history metadata" (#190824)

Reverts llvm/llvm-project#190700

Causes timeouts:
https://github.com/llvm/llvm-project/pull/190700#issuecomment-4198496978
DeltaFile
+0-102llvm/test/Transforms/Inline/inline-history.ll
+28-57llvm/lib/Transforms/Utils/InlineFunction.cpp
+36-25llvm/lib/Transforms/IPO/Inliner.cpp
+0-61llvm/test/Verifier/inline-history-metadata.ll
+26-25llvm/lib/Transforms/Utils/CloneFunction.cpp
+17-19llvm/include/llvm/Transforms/Utils/Cloning.h
+107-28913 files not shown
+213-39419 files

LLVM/project 3dfa021lldb/source/API SBListener.cpp, lldb/source/Core Debugger.cpp

[lldb][NFC] Stop using ConstStrings with BroadcastEventSpec (#190660)

BroadcastEventSpec owns the broadcaster class its configured to listen
for. Broadcasters usually advertise their broadcast class name with
StringRefs so there's no need to put them in the string pool.

The only exception here is SBListener. There are 2 methods that take
`const char *` values. However, that's handled when converting them to
StringRefs.
DeltaFile
+5-4lldb/source/Core/Debugger.cpp
+2-2lldb/source/API/SBListener.cpp
+7-62 files

LLVM/project 1d6ad6eclang/include/clang/CIR/Dialect/Builder CIRBaseBuilder.h, clang/test/CIR/CodeGen pointer-to-member-func.cpp

[CIR] Implement 'zero attr' creation of method (#190819)

This appears quite a bit in some benchmarks, and is seemingly something
we missed at one point. This patch just implements a 'zero-init' of a
pmf.
DeltaFile
+8-0clang/test/CIR/CodeGen/pointer-to-member-func.cpp
+2-0clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+10-02 files

LLVM/project 6398181lldb/source/Plugins/Instruction/ARM EmulateInstructionARM.cpp, lldb/unittests/Instruction CMakeLists.txt

[lldb] Fix ARM STR T1 encoding using subtract instead of add, add test (#188614)

The STR Thumb T1 encoding had add=false instead of add=true, causing the
emulator to compute the store address as Rn - imm rather than Rn + imm.
This contradicts the ARM spec comment directly above.

Add a unit test that verifies the STR T1 encoding stores to the correct
address (base + offset).
DeltaFile
+136-0lldb/unittests/Instruction/ARM/TestARMEmulator.cpp
+3-1lldb/unittests/Instruction/CMakeLists.txt
+1-1lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
+140-23 files

LLVM/project a974f0allvm/utils/llvm-testing-tools pyproject.toml README.md, llvm/utils/llvm-testing-tools/src/llvm_testing_tools wrapper.py __init__.py

[TestingTools] Add new llvm-testing-tools package (#188888)

This allows for packaging split-file and FileCheck for distribution on
PyPI which will support libc++ wanting to use FileCheck/split-file for
more thorough testing.
DeltaFile
+21-0llvm/utils/llvm-testing-tools/pyproject.toml
+16-0llvm/utils/llvm-testing-tools/src/llvm_testing_tools/wrapper.py
+6-0llvm/utils/llvm-testing-tools/README.md
+0-0llvm/utils/llvm-testing-tools/src/llvm_testing_tools/__init__.py
+43-04 files

LLVM/project d243d55flang/test/Lower/OpenMP taskloop.f90, mlir/include/mlir/Dialect/OpenMP OpenMPOps.td

[mlir][OpenMP] Rename omp.taskloop to omp.taskloop.wrapper (#188071)

Rename the loop wrapper operation to better distinguish it from the
context op (omp.taskloop.context), which handles outlining and runtime
calls. The new name makes the role of each operation clearer at a
glance.

RFC:
https://discourse.llvm.org/t/rfc-openmp-alloca-placement-for-openmp-loop-wrappers/89512/7

Patch 3/3

Assisted-by: Copilot, Claude Sonnet 4.6
DeltaFile
+37-37mlir/test/Dialect/OpenMP/ops.mlir
+21-21mlir/test/Dialect/OpenMP/invalid.mlir
+21-18mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+13-12mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+10-10flang/test/Lower/OpenMP/taskloop.f90
+9-9mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+111-10733 files not shown
+185-18139 files

LLVM/project eb99187lldb/test/Shell/Platform/AutoLoad/Darwin dsym-auto-load-modules-multiple.test

[lldb][test] Fix dsym-auto-load-modules-multiple.test (#190826)

We were compiling without debug-info causing the test to fail on macOS.
This was a silly oversight because I was mainly working on Linux when
working on the last iterations of the patch that added this test.
DeltaFile
+5-5lldb/test/Shell/Platform/AutoLoad/Darwin/dsym-auto-load-modules-multiple.test
+5-51 files

LLVM/project c2045ecmlir/include/mlir/Dialect/OpenMP OpenMPOps.td, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

[mlir][OpenMP] Don't allow loop bounds/step from inside the task

The omp.taskloop.context region represents what goes inside the outlined
task function. The loop bounds must be passed to the OpenMP runtime call
for taskloop and so this cannot be supported in general.

In a follow up patch I will re-allow pure operations because sinking
constants inside of the tasklooop context will be useful for something
else I am prototyping.

Assisted-by: codex
DeltaFile
+22-0mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+17-0mlir/test/Dialect/OpenMP/invalid.mlir
+3-0mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+42-03 files

LLVM/project cfec3b8mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp, mlir/test/Dialect/XeGPU propagate-layout-subgroup.mlir

[MLIR][XeGPU] Fix Multi-Reduction Layout Rule to Preserve sg_data from consumer layout for non-reduced dims (#189795)

As title
DeltaFile
+19-0mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
+7-4mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+26-42 files

LLVM/project f5958c3mlir/test/Target/LLVMIR openmp-taskloop-outer-bounds.mlir

Fix the other test
DeltaFile
+1-1mlir/test/Target/LLVMIR/openmp-taskloop-outer-bounds.mlir
+1-11 files

LLVM/project ab68018mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

clang format
DeltaFile
+3-2mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+3-21 files

LLVM/project 7776971mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

Fix format
DeltaFile
+4-3mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+4-31 files

LLVM/project b73da3amlir/test/Target/LLVMIR openmp-taskloop-bounds-cast.mlir

Fix new test a third time
DeltaFile
+1-1mlir/test/Target/LLVMIR/openmp-taskloop-bounds-cast.mlir
+1-11 files

LLVM/project 364e18aflang/lib/Lower/OpenMP OpenMP.cpp

[mlir][OpenMP] Rename taskLoopOp/taskloopOp variables to taskLoopWrapperOp/taskloopWrapperOp

Rename local variables for clarity to better reflect the type they hold.

Assisted-by: Copilot, Claude Sonnet 4.6
DeltaFile
+2-2flang/lib/Lower/OpenMP/OpenMP.cpp
+2-21 files

LLVM/project 9336653flang/test/Lower/OpenMP taskloop.f90, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

[mlir][OpenMP] Rename TaskloopOp/omp.taskloop to TaskloopWrapperOp/omp.taskloop.wrapper

Rename the loop wrapper operation to better distinguish it from the
context op (omp.taskloop.context), which handles outlining and runtime calls.
The new name makes the role of each operation clearer at a glance.

RFC: https://discourse.llvm.org/t/rfc-openmp-alloca-placement-for-openmp-loop-wrappers/89512/7

Patch 3/3

Assisted-by: Copilot, Claude Sonnet 4.6
DeltaFile
+37-37mlir/test/Dialect/OpenMP/ops.mlir
+21-21mlir/test/Dialect/OpenMP/invalid.mlir
+16-15mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+13-12mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+10-10flang/test/Lower/OpenMP/taskloop.f90
+9-9mlir/test/Target/LLVMIR/openmp-taskloop-cancel.mlir
+106-10431 files not shown
+177-17537 files

LLVM/project da96fc3flang/test/Lower/OpenMP taskloop.f90, mlir/include/mlir/Dialect/OpenMP OpenMPOps.td

[mlir][OpenMP] Move taskloop clauses to the context op (#188070)

The clauses are implemented when lowering the context op (which
generates the runtime calls, and handles the outlining of the task
function: including privatization etc). Therefore I thought it made more
sense to put the clauses on this operation rather than on the wrapped
loop.

RFC:
https://discourse.llvm.org/t/rfc-openmp-alloca-placement-for-openmp-loop-wrappers/89512/7

Patch 2/3
DeltaFile
+64-64mlir/test/Dialect/OpenMP/ops.mlir
+64-56mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+46-46mlir/test/Dialect/OpenMP/invalid.mlir
+43-35mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+20-20flang/test/Lower/OpenMP/taskloop.f90
+16-19mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+253-24032 files not shown
+371-35838 files

LLVM/project 87525c5llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis banerjee-overflow.ll

[DA] Add overflow check in BanerjeeMIVtest (#190469)

Add an overflow check in BanerjeeMIVtest.
Fix the related test case added in #190468.

Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
DeltaFile
+3-1llvm/lib/Analysis/DependenceAnalysis.cpp
+1-3llvm/test/Analysis/DependenceAnalysis/banerjee-overflow.ll
+4-42 files

LLVM/project d78e4aellvm/docs/CommandGuide llvm-cov.rst

docs: add ability to show non executed test vectors for mc/dc coverage (#190747)

Add new option `-show-mcdc-non-executed-vectors` to llvm-cov docs
DeltaFile
+12-0llvm/docs/CommandGuide/llvm-cov.rst
+12-01 files

LLVM/project 835b0acmlir/include/mlir/Dialect/SPIRV/IR SPIRVImageOps.td SPIRVBase.td, mlir/lib/Dialect/SPIRV/IR SPIRVTypes.cpp

[mlir][spirv] Add OpTypeSampler and OpSampledImage support (#189891)

Add missing `!spirv.sampler` type (`OpTypeSampler`, opcode 26) and
`spirv.SampledImage` op (`OpSampledImage`, opcode 86) to the SPIR-V
dialect.

The existing sampling ops (e.g. `spirv.ImageSampleImplicitLod`) consume
`!spirv.sampled_image<...>` values, but there was previously no way to
construct one from a separate image and sampler which is the standard
Vulkan pattern for combined image samplers.
DeltaFile
+48-0mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
+44-0mlir/test/Dialect/SPIRV/IR/image-ops.mlir
+12-1mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
+9-2mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
+11-0mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
+10-0mlir/test/Target/SPIRV/image-ops.mlir
+134-38 files not shown
+171-614 files

LLVM/project 904d324flang/module cudadevice.f90, flang/test/Lower/CUDA cuda-intrinsic.cuf cuda-libdevice.cuf

[flang][cuda] Remove __nv_ binding names from rounding-mode intrinsics in cudadevice (#190722)

Remove name='__nv_...' from bind(c) declarations for 48 rounding-mode
functions in cudadevice.f90, allowing host,device functions to link
against the unprefixed host symbols. The __nv_ prefix for device code is
handled by a downstream pass.
DeltaFile
+48-48flang/module/cudadevice.f90
+36-36flang/test/Lower/CUDA/cuda-intrinsic.cuf
+8-8flang/test/Lower/CUDA/cuda-libdevice.cuf
+4-4flang/test/Lower/CUDA/cuda-device-proc.cuf
+96-964 files

LLVM/project c8667a6mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

clang format
DeltaFile
+0-1mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+0-11 files

LLVM/project 1336271flang/lib/Lower/OpenMP OpenMP.cpp, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

Address review comments: mark unused param and move var decl

- Mark the unused 'clauses' parameter in TaskloopOp::build with
  [[maybe_unused]]
- Move the declaration of 'wrapperClauseOps' in genStandaloneTaskloop
  to immediately before its first use

Assisted-by: Copilot, Claude Sonnet 4.6
DeltaFile
+1-1flang/lib/Lower/OpenMP/OpenMP.cpp
+1-1mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+2-22 files

LLVM/project c029ca6flang/test/Lower/OpenMP taskloop.f90, mlir/include/mlir/Dialect/OpenMP OpenMPOps.td

[mlir][OpenMP] Move taskloop clauses to the context op

The clauses are implemented when lowering the context op (which
generates the runtime calls, and handles the outlining of the task
function: including privatization etc). Therefore I thought it made more
sense to put the clauses on this operation rather than on the wrapped
loop.

RFC: https://discourse.llvm.org/t/rfc-openmp-alloca-placement-for-openmp-loop-wrappers/89512/7

Patch 2/3
DeltaFile
+64-64mlir/test/Dialect/OpenMP/ops.mlir
+64-56mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+46-46mlir/test/Dialect/OpenMP/invalid.mlir
+43-34mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+20-20flang/test/Lower/OpenMP/taskloop.f90
+16-19mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+253-23930 files not shown
+366-35336 files

LLVM/project 2d5aab5mlir/include/mlir/Dialect/OpenMP OpenMPOps.td

Fix nit
DeltaFile
+1-1mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+1-11 files

LLVM/project 54af0a7mlir/test/Target/LLVMIR openmp-taskloop-outer-bounds.mlir

Fix new test
DeltaFile
+2-2mlir/test/Target/LLVMIR/openmp-taskloop-outer-bounds.mlir
+2-21 files

LLVM/project 54f57d2flang/lib/Lower/OpenMP OpenMP.cpp

Don't create unnessecary block arguments
DeltaFile
+2-1flang/lib/Lower/OpenMP/OpenMP.cpp
+2-11 files

LLVM/project 5416bebmlir/test/Target/LLVMIR openmp-taskloop-bounds-cast.mlir

Fix new test again
DeltaFile
+2-2mlir/test/Target/LLVMIR/openmp-taskloop-bounds-cast.mlir
+2-21 files

LLVM/project 07e8db6compiler-rt/lib/sanitizer_common sanitizer_common.h

[sanitizer_common] Fix memory leak in ListOfModules (#190104)

I found a rather old leak in `ListOfModules`. `ListOfModules` has a
member

```
  InternalMmapVectorNoCtor<LoadedModule> modules_;
```

Which has neither a constructor nor destructor. As a consequence, we
need to call `Destroy` on it when ListOfModules is destroyed, so that
the memory is released to the OS (via munmap).


rdar://173906291
DeltaFile
+8-1compiler-rt/lib/sanitizer_common/sanitizer_common.h
+8-11 files

LLVM/project 585636dllvm/include/llvm/Transforms/Utils Cloning.h, llvm/lib/Transforms/IPO Inliner.cpp

Revert "[Inliner] Put inline history into IR as !inline_history metadata (#19…"

This reverts commit 82505fbfc870f4a657fbaa66a7514db9f30e030a.
DeltaFile
+0-102llvm/test/Transforms/Inline/inline-history.ll
+28-57llvm/lib/Transforms/Utils/InlineFunction.cpp
+0-61llvm/test/Verifier/inline-history-metadata.ll
+36-25llvm/lib/Transforms/IPO/Inliner.cpp
+26-25llvm/lib/Transforms/Utils/CloneFunction.cpp
+17-19llvm/include/llvm/Transforms/Utils/Cloning.h
+107-28913 files not shown
+213-39419 files