[SelectionDAGBuilder] Replace asserts inside LLVM_DEBUG (#199748)
These assert were inside an LLVM_DEBUG macro, meaning they were very
rarely if ever tested. The second "LowerFormalArguments emitted a value
with the wrong type!" assert would fire in a number of tests so has been
removed. The other was replaced with an all_of assert.
Noticed when looking at #198107 / #199412.
[AArch64][TTI][EarlyCSE] Add support for ld1xN and st1xN intrinsics (#198765)
Handle ld1x2, ld1x3, ld1x4, st1x2, st1x3, st1x4 in:
- AArch64TTIImpl::getTgtMemIntrinsic
- AArch64TTIImpl::getOrCreateResultFromMemIntrinsic
This enables EarlyCSE to optimize these NEON load/store intrinsics.
To test the changes, a new testcase (intrinsics-1xN.ll) derived from
llvm/test/Transforms/EarlyCSE/AArch64/intrinsics.ll is added.
[libc++] Remove workarounds for __{add,remove}_pointer on AppleClang (#199821)
We've updated the supported AppleClang version, so we can drop those
workarounds now.
This also removes `__is_referenceable_v`, since it's no longer used.
Revert "[RISCV][CodeGen] Use vzip.vv for e64 interleave shuffles with Zvzip" (#199899)
Reverts llvm/llvm-project#199512
LLVM Buildbot has detected a build error for this PR.
[libc++][NFC] Remove lit annotations for older AppleClang versions (#199817)
We don't support anything older than apple-clang-21, so we can remove
those annotations.
AMDGPU/GlobalISel: Move executeInWaterfallLoop call from lower (#199701)
WFI is an argument to applyMappingSrc and lower,
move executeInWaterfallLoop after these two return.
Also set insert point in executeInWaterfallLoop to
avoid need to set insert point before calling it.
[clang] Add builtin to clear padding bytes (prework for P0528R3) (#75371)
Add builtin to clear padding bytes. This is the pre-work to implement
`std::atomic::compare_exchange_[weak/strong]` that ignores padding bits.
PR draft here: https://github.com/llvm/llvm-project/pull/76180
This PR picked up this patch from 3 years ago
https://reviews.llvm.org/D87974
The above patch no longer works as things changed quite a lot. I've made
some changes on top of the above patch:
it handles:
- struct
- builtin types with paddings (like `long double` and types with
`__attribute__((ext_vector_type(N)))`
- _Complex long double
- constant array
[7 lines not shown]
[CIR][AMDGPU] Adds lowering for amdgcn image load/store builtins (#198184)
Support for lowering of amdgcn_image_load/store for AMDGPU builtins to
clangIR.
Followed similar lowering from clang->llvmir:
`clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp`.
Upstreaming clangIR PR: https://github.com/llvm/clangir/pull/2058
[mlir][tosa][spirv] Lower TOSA elementwise ops to SPIR-V TOSA (#199505)
Add conversion patterns for simple TOSA elementwise operations to the
SPIR-V TOSA dialect.
The lowering covers unary and binary elementwise ops with shared pattern
templates, plus min/max handling for NaN propagation mode.
Add focused conversion tests that check the generated SPIR-V TOSA ops.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
[MLIR] Improve TypeID anonymous namespace check to handle GCC's __PRETTY_FUNCTION__ format (#199634)
The anonymous namespace detection in
`FallbackTypeIDResolver::registerImplicitTypeID` only checked for
Clang's `(anonymous namespace)` and MSVC's `anonymous-namespace`
formats. GCC produces `{anonymous}` in `__PRETTY_FUNCTION__`, silently
bypassing the check.
[RISCV][CodeGen] Use vzip.vv for e64 interleave shuffles with Zvzip (#199512)
Allow e64 interleave shuffles to use the standard Zvzip `vzip.vv`
lowering when the operand type is legal for Zvzip, just the same as what
XrivosVizip already does.
Revert "[llvm-debuginfo-analyzer] Add support for LLVM IR format. (#135440)" (#199890)
This reverts commit 6bbbf743ae49736ba438e9dbd14a5bd0f4166382.
There are link issues with some buildbots.