Skip to content

Commit e93a121

Browse files
Revert "Allow semi-concrete interpretation (#750)" (#760)
This reverts commit da0be16.
1 parent 4e5ffed commit e93a121

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

src/jlgen.jl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,6 +501,26 @@ CC.verbose_stmt_info(interp::GPUInterpreter) = false
501501
end
502502
CC.method_table(interp::GPUInterpreter) = interp.method_table_view
503503

504+
# semi-concrete interepretation is broken with overlays (JuliaLang/julia#47349)
505+
function CC.concrete_eval_eligible(interp::GPUInterpreter,
506+
@nospecialize(f), result::CC.MethodCallResult, arginfo::CC.ArgInfo, sv::CC.InferenceState)
507+
# NOTE it's fine to skip overloading with `sv::IRInterpretationState` since we disables
508+
# semi-concrete interpretation anyway.
509+
ret = @invoke CC.concrete_eval_eligible(interp::CC.AbstractInterpreter,
510+
f::Any, result::CC.MethodCallResult, arginfo::CC.ArgInfo, sv::CC.InferenceState)
511+
if ret === :semi_concrete_eval
512+
return :none
513+
end
514+
return ret
515+
end
516+
function CC.concrete_eval_eligible(interp::GPUInterpreter,
517+
@nospecialize(f), result::CC.MethodCallResult, arginfo::CC.ArgInfo)
518+
ret = @invoke CC.concrete_eval_eligible(interp::CC.AbstractInterpreter,
519+
f::Any, result::CC.MethodCallResult, arginfo::CC.ArgInfo)
520+
ret === false && return nothing
521+
return ret
522+
end
523+
504524

505525
## world view of the cache
506526
@static if VERSION < v"1.14-"

0 commit comments

Comments
 (0)