From 657777fdef560c124eedbd154a4b0e2adb6dd4a3 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Tue, 27 Jan 2026 15:08:53 -0400 Subject: [PATCH] Revert "Allow semi-concrete interpretation (#750)" This reverts commit da0be16b92b9126711fc6d4d36dad30d094b758f. --- src/jlgen.jl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/jlgen.jl b/src/jlgen.jl index ef61dbbd..d6116cb5 100644 --- a/src/jlgen.jl +++ b/src/jlgen.jl @@ -501,6 +501,26 @@ CC.verbose_stmt_info(interp::GPUInterpreter) = false end CC.method_table(interp::GPUInterpreter) = interp.method_table_view +# semi-concrete interepretation is broken with overlays (JuliaLang/julia#47349) +function CC.concrete_eval_eligible(interp::GPUInterpreter, + @nospecialize(f), result::CC.MethodCallResult, arginfo::CC.ArgInfo, sv::CC.InferenceState) + # NOTE it's fine to skip overloading with `sv::IRInterpretationState` since we disables + # semi-concrete interpretation anyway. + ret = @invoke CC.concrete_eval_eligible(interp::CC.AbstractInterpreter, + f::Any, result::CC.MethodCallResult, arginfo::CC.ArgInfo, sv::CC.InferenceState) + if ret === :semi_concrete_eval + return :none + end + return ret +end +function CC.concrete_eval_eligible(interp::GPUInterpreter, + @nospecialize(f), result::CC.MethodCallResult, arginfo::CC.ArgInfo) + ret = @invoke CC.concrete_eval_eligible(interp::CC.AbstractInterpreter, + f::Any, result::CC.MethodCallResult, arginfo::CC.ArgInfo) + ret === false && return nothing + return ret +end + ## world view of the cache @static if VERSION < v"1.14-"