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.
[Clang] Accept gnu vectors in __builtin_masked* (#198248)
There doesn't seem to be a good reason to reject gnu vectors in these
builtins. The error messages for that case are also rather bizzare,
which doesn't help with figuring out what's going wrong.
[MLIR] Add a non-const ActionHandler getter to MLIRContext (#199652)
#197230 added a getter for the ActionHandler, but only returns a const
ref with a non-const accessor.
Instead provide both variants: a const accessor returning a const ref
and non-const one returning a mutable ref.
[llvm-debuginfo-analyzer] Add support for LLVM IR format. (#135440)
llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level format.
Add support for the LLVM IR format and be able to generate logical
views. Both textual representation (.ll) and bitcode (.bc) formats
are supported.
[LifetimeSafety] Add details for `-Wlifetime-safety-return-stack-addr` diagnostic (#199432)
Most of the diagnostic's wording was taken from `-Wreturn-stack-address`
with exceptions such as:
- We do not special-case `[[clang::musttail]]`
- We do not special-case `CompoundLiteralExpr` as it is mostly a C
thing.
This patch does not add any new tests, it only updates already existing
test warnings to follow the new wording.
Comes as part of completing #186002