gallivm: handle llvm 22 coroutine end change

the coroutine end changed return value.

Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41308>
(cherry picked from commit 469270b914)
This commit is contained in:
Dave Airlie 2026-05-01 11:51:39 +10:00 committed by Eric Engestrom
parent dccd0c31fe
commit e24c870ce2
2 changed files with 9 additions and 1 deletions

View file

@ -2054,7 +2054,7 @@
"description": "gallivm: handle llvm 22 coroutine end change",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -88,10 +88,18 @@ void lp_build_coro_end(struct gallivm_state *gallivm, LLVMValueRef coro_hdl)
coro_end_args[2] = LLVMConstNull(LLVMTokenTypeInContext(gallivm->context));
num_args++;
#endif
#if LLVM_VERSION_MAJOR >= 22
lp_build_intrinsic(gallivm->builder,
"llvm.coro.end",
LLVMVoidTypeInContext(gallivm->context),
coro_end_args, num_args, 0);
#else
lp_build_intrinsic(gallivm->builder,
"llvm.coro.end",
LLVMInt1TypeInContext(gallivm->context),
coro_end_args, num_args, 0);
#endif
}
void lp_build_coro_resume(struct gallivm_state *gallivm, LLVMValueRef coro_hdl)