[CoroSplit] Keep coro.free for resume/destroy functions (#186301)
Part 1/4: Implement HALO for coroutines that flow off final suspend.
Parent PR approved in #185336, with no change since then
Previously, we unconditionally lowered `coro.free`. Now, we lower it
only for the cleanup function. The remaining `coro.free` intrinsics will
be lowered in CoroCleanup. Keep these `coro.free` so that we can elide
them.
[Analysis] Fix -Wparentheses warning in DominanceFrontierImpl.h
Add explicit parentheses around the assert condition to silence
"suggest parentheses around '&&' within '||'" and ensure the
string message applies to the full boolean expression.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
[RISCV] Remove unnecessary mayRaiseFPException from NDS_VFWCVT_S_BF16
BF16 to F32 widening is an exact conversion that cannot
raise floating-point exceptions.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
[RISCV][NFC] Move HasVendorXAndesVBFHCvt from multiclass body to instantiation site
Move the predicate from inside VPatConversionS_BF16 and
VPatConversionBF16_S to the outer let block, matching the
style used by VFPMAD and VD4DOT patterns.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
When pledged, if a process receives a bad descriptor the receiver should
not be killed. The EPERM approach used for other conditions is good enough.
Report from Henry Ford
this will be errata 7.8/022_recvfd.patch and 7.7/028_recvfd.patch
[libc][math][c++23] Add Fmabf16 math function (#182836)
closes #180171
part of #177259
Here are some extra changes apart from the usual which were needed
1. `libc/src/__support/FPUtil/generic/add_sub.h` → +0 -0 error
2. `libc/src/__support/FPUtil/generic/FMA.h` → implemented to handle
fmabf16(Normal,Normal,+/-INF)
```jsx
/home/runner/work/llvm-project/llvm-project/libc/test/src/math/fmabf16_test.cpp:62: FAILURE
Failed to match __llvm_libc_23_0_0_git::fmabf16(x, y, z) against LIBC_NAMESPACE::testing::mpfr::get_mpfr_matcher<mpfr::Operation::Fma>( input, __llvm_libc_23_0_0_git::fmabf16(x, y, z), 0.5, mpfr::RoundingMode::Nearest).
Input decimal: x: 338953138925153547590470800371487866880.00000000000000000000000000000000000000000000000000 y: 338953138925153547590470800371487866880.00000000000000000000000000000000000000000000000000 z: -inf
First input bits: 0x7F7F = (S: 0, E: 0x00FE, M: 0x007F)
Second input bits: 0x7F7F = (S: 0, E: 0x00FE, M: 0x007F)
Third input bits: (-Infinity)
Libc result: nan
MPFR result: -inf
[16 lines not shown]
[libc] Add posix_memalign as external entrypoint on Linux x86/ARM. (#185310)
`posix_memalign` is provided by Scudo allocator and is a part of POSIX
standard, so we can safely declare it in the `<stdlib.h>` header on
Linux systems.
[CIR][AMDGPU] Add module flags for AMDGPU target (#186081)
Upstreaming clangIR PR: https://github.com/llvm/clangir/pull/2100
This PR adds support to emit AMDGPU-specific module flags
`amdhsa_code_object_version` and `amdgpu_printf_kind` to match OGCG
behavior.
In `CIRGenModule`, the flags are stored as CIR module attributes:
`cir.amdhsa_code_object_version` (integer)
`cir.amdgpu_printf_kind` (string: "hostcall" or "buffered")
During lowering to LLVM IR (in LowerToLLVMIR.cpp), these attributes are
converted to LLVM module flags.
[XeVM] Add translation for XeVM cache-control attributes. (#181856)
Use `llvm.intr.ptr.annotation` to attach cache-control metadata to a
pointer. Each cache-control attribute produces its own annotation call;
multiple attributes are chained so every annotation sits on the same
pointer.
This approach protects the metadata across optimizations.
make: ensure .MAKE.SAVE_DOLLARS is set.
This makes it possible for macros to be set so as to work correctly
whether .MAKE.SAVE_DOLLARS is "yes" (NetBSD) or "no" (bmake).
[offload] Remove LIBOMPTARGET_SHARED_MEMORY_SIZE envar (#186231)
This commit removes the `LIBOMPTARGET_SHARED_MEMORY_SIZE` envar and
outputs a runtime warning if it is defined. Access to dynamic shared memory
should be obtained through the `dyn_groupprivate` clause (OpenMP 6.1) or
the launch arguments in liboffload kernel launch.