LLVM/project 832b091llvm/test/TableGen directive2.td directive1.td, llvm/utils/TableGen/Basic DirectiveEmitter.cpp

Restore comment with a period at the end
DeltaFile
+2-0llvm/test/TableGen/directive2.td
+2-0llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
+2-0llvm/test/TableGen/directive1.td
+6-03 files

LLVM/project 14349bcllvm/lib/Target/AVR AVRISelLowering.cpp

AVR: Avoid getLibcallName (#176375)

Create the symbol through RTLIB::LibcallImpl
DeltaFile
+8-4llvm/lib/Target/AVR/AVRISelLowering.cpp
+8-41 files

LLVM/project 47689d2llvm/utils/release github-upload-release.py

[llvm][utils][release] Remove mention of sub-project source archives (#176348)

These are no longer provided as of llvm 22:
https://discourse.llvm.org/t/llvm-22-1-0-rc1-released/89479

> Please note: since the last release the subproject tarballs have been
> removed and are no longer provided. See RFC: Do "something" with the
> subproject tarballs in the release page for more details.

There are now only llvm-project and llvm-test-suite archives.
DeltaFile
+1-1llvm/utils/release/github-upload-release.py
+1-11 files

LLVM/project 9e6b658llvm/lib/Target/Hexagon HexagonSelectionDAGInfo.cpp

Hexagon: Avoid using getLibcallName for special memcpy (#176374)

Create the symbol through the RTLIB::LibcallImpl enum.
DeltaFile
+7-4llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp
+7-41 files

LLVM/project 907b6c6llvm/test/CodeGen/AMDGPU fmul-to-ldexp.ll llvm.log10.ll

[AMDGPU] si-peephole-sdwa: Handle V_PACK_B32_F16_e64 (WIP)

Change si-peephole-sdwa to eliminate V_PACK_B32_F16_e64 instructions
by changing the second operand to write to the upper word of the
destination directly.
DeltaFile
+126-140llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
+138-98llvm/test/CodeGen/AMDGPU/llvm.log10.ll
+138-98llvm/test/CodeGen/AMDGPU/llvm.log.ll
+92-104llvm/test/CodeGen/AMDGPU/fpow.ll
+68-127llvm/test/CodeGen/AMDGPU/llvm.log2.ll
+74-118llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
+636-68529 files not shown
+1,251-1,34835 files

LLVM/project a536850llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.cos.f16.ll llvm.sin.f16.ll

[AMDGPU] Enable ISD::{FSIN,FCOS} custom lowering to work on v2f16

Currently ISD::FSIN and ISD::FCOS of type MVT::v2f16 are legalized by
first expanding and then using a custom lowering on the resulting f16
instructions. This ordering prevents using packed math variants of the
instructions introduced by the legalization (e.g. the multiplication),
if available, and makes it difficult to eliminate the packing of the
results by using SDWA form; previous attempts to deal with the latter
situation in the si-peephole-sdwa pass were unwieldly since it was
necessary to reconstruct the association between the source and target
vectors.

Change the legalization action for ISD::FSIN and ISD::FCOS of type
MTF::v2f16 to Custom and change the custom intrinsic lowering to deal
with the v2f16 for the intrinsics introduced in this way.
DeltaFile
+27-38llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
+27-38llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
+34-3llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+88-793 files

LLVM/project 2eb709bllvm/lib/Target/AMDGPU AMDGPULowerVGPREncoding.cpp, llvm/test/CodeGen/AMDGPU whole-wave-functions.ll vgpr-set-msb-coissue.mir

[AMDGPU] Fix typo in `LowerVGPREncoding` to allow it to hoist past `waitcnt` instructions (#176355)

Fixes a typo which prevented `set_vgpr_msb` to be hoisted past `waitcnt`
instructions.
DeltaFile
+3-3llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
+2-2llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+1-1llvm/test/CodeGen/AMDGPU/vgpr-set-msb-coissue.mir
+6-63 files

LLVM/project 135744cllvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass.ll

InstCombine: Consider nsz when simplifying fabs/fneg uses (#176156)

Later this trick should also be applied in the single use
case.
DeltaFile
+11-4llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+3-3llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+14-72 files

LLVM/project 9d43694llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/Transforms/AtomicExpand/AMDGPU expand-atomic-f64-system.ll expand-atomic-f32-agent.ll

AtomicExpand: Use LibcallLoweringInfo analysis
DeltaFile
+36-8llvm/lib/CodeGen/AtomicExpandPass.cpp
+8-8llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
+8-8llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
+8-8llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
+8-8llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
+8-8llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
+76-4855 files not shown
+220-18561 files

LLVM/project 0d74c8cllvm/lib/CodeGen DwarfEHPrepare.cpp, llvm/test/CodeGen/AArch64 dwarf-eh-prepare-dbg.ll

DwarfEHPrepare: Use LibcallLoweringInfo analysis
DeltaFile
+39-15llvm/lib/CodeGen/DwarfEHPrepare.cpp
+7-0llvm/test/Transforms/DwarfEHPrepare/missing-analysis.ll
+1-1llvm/test/CodeGen/X86/dwarf-eh-prepare.ll
+1-1llvm/test/CodeGen/AArch64/dwarf-eh-prepare-dbg.ll
+1-1llvm/test/CodeGen/X86/dwarf-eh-prepare-dbg.ll
+1-1llvm/test/CodeGen/X86/dwarf_eh_resume.ll
+50-196 files

LLVM/project 76772f9llvm/lib/CodeGen SafeStack.cpp, llvm/test/Transforms/SafeStack/X86 abi_ssp.ll abi.ll

SafeStack: Use LibcallLoweringInfo analysis pass
DeltaFile
+44-15llvm/lib/CodeGen/SafeStack.cpp
+5-5llvm/test/Transforms/SafeStack/X86/abi_ssp.ll
+4-4llvm/test/Transforms/SafeStack/X86/abi.ll
+6-0llvm/test/Transforms/SafeStack/X86/missing-analysis.ll
+2-2llvm/test/Transforms/SafeStack/X86/ret.ll
+2-2llvm/test/Transforms/SafeStack/X86/setjmp.ll
+63-2855 files not shown
+152-11761 files

LLVM/project c4b3b47llvm/lib/CodeGen StackProtector.cpp, llvm/test/CodeGen/NVPTX no-stack-protector-libcall-error.ll

StackProtector: Use LibcallLoweringInfo analysis
DeltaFile
+55-27llvm/lib/CodeGen/StackProtector.cpp
+7-0llvm/test/Transforms/StackProtector/missing-analysis.ll
+2-2llvm/test/CodeGen/X86/stack-protector-atomicrmw-xchg.ll
+1-1llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
+1-1llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
+1-1llvm/test/CodeGen/NVPTX/no-stack-protector-libcall-error.ll
+67-326 files

LLVM/project 5394129llvm/include/llvm/CodeGen LibcallLoweringInfo.h, llvm/include/llvm/CodeGen/GlobalISel LegalizerHelper.h

GlobalISel: Use LibcallLoweringInfo analysis in legalizer (#170328)

This is mostly boilerplate to move various freestanding utility
functions into LegalizerHelper. LibcallLoweringInfo is currently
optional, mostly because threading it through assorted other
uses of LegalizerHelper is more difficult.

I had a lot of trouble getting this to work in the legacy pass
manager with setRequiresCodeGenSCCOrder, and am not happy with the
result. A sub-pass manager is introduced and this is invalidated,
so we're re-computing this unnecessarily.
DeltaFile
+104-111llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+43-30llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
+32-31llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
+16-9llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
+9-9llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
+11-5llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
+215-1959 files not shown
+242-20815 files

LLVM/project 3b1a747mlir/lib/Bindings/Python TransformInterpreter.cpp

[mlir][Python] remove stray nb::cast (#176299)

In https://github.com/llvm/llvm-project/pull/155114 we removed
`liveOperations` but forgot this line which was being used to invalidate
operations under a transform root, which currently isn't being used for
anything. So remove.

FYI this led to a subtle double free bug after
https://github.com/llvm/llvm-project/pull/175405:

```python
@test_in_context
def check_builtin():
    module = builtin_d.ModuleOp()
    with module.context, ir.Location.unknown():
        transform_module = builtin_d.Module.create()
        transform_module.operation.attributes["transform.with_named_sequence"] = (
            ir.UnitAttr.get()
        )

    [34 lines not shown]
DeltaFile
+0-6mlir/lib/Bindings/Python/TransformInterpreter.cpp
+0-61 files

LLVM/project 85b6d43llvm/lib/CodeGen TargetLoweringBase.cpp

TargetLowering: Avoid getLibcallName in getSafeStackPointerLocation (#176362)

DeltaFile
+5-5llvm/lib/CodeGen/TargetLoweringBase.cpp
+5-51 files

LLVM/project 8193ab1llvm/lib/Target/XCore XCoreSelectionDAGInfo.cpp

XCore: Use memcpy_align_4 through LibcallImpl (#176363)

DeltaFile
+7-4llvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp
+7-41 files

LLVM/project cde90c5llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

AArch64: Use getLibcallImplCallingConv more consistently

This was querying the calling conv from the Libcall instead of
the LibcallImpl.
DeltaFile
+2-1llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+2-11 files

LLVM/project c0181a4llvm/lib/Target/AArch64 AArch64SelectionDAGInfo.cpp

AArch64: Avoid getLibcallName when emitting special mem libcalls

Get the symbol through the RTLIB::LibcallImpl enum.
DeltaFile
+6-3llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
+6-31 files

LLVM/project 519d688llvm/lib/Target/AVR AVRISelLowering.cpp

AVR: Avoid getLibcallName

Create the symbol through RTLIB::LibcallImpl
DeltaFile
+8-4llvm/lib/Target/AVR/AVRISelLowering.cpp
+8-41 files

LLVM/project 8e1efb8llvm/lib/Target/Hexagon HexagonSelectionDAGInfo.cpp

Hexagon: Avoid using getLibcallName for special memcpy

Create the symbol through the RTLIB::LibcallImpl enum.
DeltaFile
+7-4llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp
+7-41 files

LLVM/project 8ef5cdcllvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass.ll

InstCombine: Improve single-use fneg(fabs(x)) SimplifyDemandedFPClass handling

Match the multi-use case's logic for understanding no-nan/no-inf context
and nsz.
DeltaFile
+117-9llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+63-18llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+180-272 files

LLVM/project bc8e314llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass.ll

InstCombine: Improve single use fabs SimplifyDemandedFPClass handling

SimplifyDemandedFPClass's handling of fabs recently became smarter in
the multiple use case than single. Unify these so the single use case
is equally as smart. This includes propagating ninf / nnan context into
the instruction, and accounting for nsz if the only bit difference is
for zero.
DeltaFile
+36-23llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+33-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+69-232 files

LLVM/project 51bae73llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass.ll

InstCombine: Consider nsz when simplifying fabs/fneg uses

Later this trick should also be applied in the single use
case.
DeltaFile
+11-4llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+3-3llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+14-72 files

LLVM/project b843a60llvm/lib/Target/X86 X86ISelLowering.cpp

X86: Avoid some uses of getLibcallName

Query the LibcallImpl, check if it's supported, and generate
the symbol through the enum.
DeltaFile
+28-12llvm/lib/Target/X86/X86ISelLowering.cpp
+28-121 files

LLVM/project 4b75b20llvm/include/llvm/Analysis DependenceAnalysis.h, llvm/lib/Analysis DependenceAnalysis.cpp

[DA] Apply monotonicity check for Strong SIV
DeltaFile
+83-55llvm/lib/Analysis/DependenceAnalysis.cpp
+27-35llvm/test/Analysis/DependenceAnalysis/SymbolicSIV.ll
+18-18llvm/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
+13-19llvm/test/Analysis/DependenceAnalysis/StrongSIV.ll
+9-13llvm/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
+14-4llvm/include/llvm/Analysis/DependenceAnalysis.h
+164-14412 files not shown
+197-20318 files

LLVM/project 82780c0llvm/include/llvm/Support KnownFPClass.h, llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp

InstCombine: Handle multiple use fneg(fabs(x)) in SimplifyDemandedFPClass (#176149)

This ends up being smarter than the single use case, so these should
be merged at some point.
DeltaFile
+169-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+43-10llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+6-0llvm/include/llvm/Support/KnownFPClass.h
+218-103 files

LLVM/project baebbe5llvm/include/llvm/Analysis DependenceAnalysis.h, llvm/lib/Analysis DependenceAnalysis.cpp

[DA] Move some monotonicity declarations to header file (NFC)
DeltaFile
+35-111llvm/lib/Analysis/DependenceAnalysis.cpp
+85-0llvm/include/llvm/Analysis/DependenceAnalysis.h
+120-1112 files

LLVM/project 1a60eb1llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis monotonicity-cast.ll monotonicity-no-wrap-flags.ll

[DA] Remove `-da-enable-monotonicity-check` flag
DeltaFile
+3-29llvm/lib/Analysis/DependenceAnalysis.cpp
+18-6llvm/test/Analysis/DependenceAnalysis/monotonicity-cast.ll
+13-8llvm/test/Analysis/DependenceAnalysis/monotonicity-no-wrap-flags.ll
+6-14llvm/test/Analysis/DependenceAnalysis/non-monotonic.ll
+5-3llvm/test/Analysis/DependenceAnalysis/monotonicity-delinearize.ll
+3-3llvm/test/Analysis/DependenceAnalysis/monotonicity-invariant.ll
+48-631 files not shown
+49-657 files

LLVM/project 13d2124llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis monotonicity-no-wrap-flags.ll monotonicity-loop-guard.ll

[DA] Handle monotonicity domain in monotonicity check
DeltaFile
+50-6llvm/lib/Analysis/DependenceAnalysis.cpp
+12-7llvm/test/Analysis/DependenceAnalysis/monotonicity-no-wrap-flags.ll
+6-7llvm/test/Analysis/DependenceAnalysis/monotonicity-loop-guard.ll
+2-2llvm/test/Analysis/DependenceAnalysis/monotonicity-delinearize.ll
+70-224 files

LLVM/project 6be9d8fllvm/lib/Target/Sparc SparcISelLowering.cpp SparcISelLowering.h

Sparc: Avoid passing around libfunc names for f128 operations
DeltaFile
+31-41llvm/lib/Target/Sparc/SparcISelLowering.cpp
+1-2llvm/lib/Target/Sparc/SparcISelLowering.h
+32-432 files