WIP/RFC: Add intrinsics for querying the debug level #45948
Draft
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.
To enable a cheaper version of #37874, we want compiler support for querying the debug level. This PR prototypes such a feature in two different ways:
The former is the simplest, but ideally we also want this functionality for the system image. That normally done with the multiversioning pass, which would require the intrinsic to be an LLVM intrinsic, hence the second form. I'm however not sure how to best adapt the multiversioning pass, if it even is suitable for this, so @yuyichao I'd appreciate some thoughts here.
Alternatively we could only have this supported for JITted code and basically require users to
make debug
in order to get a debug sysimg, but that would be much less user friendly.cc @KristofferC