Filter out methods that are unreachable from native AbsInt #54155
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While working on JuliaGPU/GPUCompiler.jl#557 I would sometimes get an error during package image creation
This confused me since we filter out compilation results for the foreign abstract interpreters.
The only method that creates this intrinsic is
CUDA.threadfence_system
and if I execute it locallyI get a similar error.
Now there is an argument that CUDA should prevent the user from calling this function
(and indeed we have
@device_function
that errors at runtime)Nonetheless I was still curious if we are by accident leaking. In the end we are not,
but if someone queues up a codeinstance through PrecompileTools and we will try and
lookup the method and re-infer it if necessary.
This PR filters out methodinstances that we only queue up because of a foreign abstract interpreter.