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.
Implements #3600
I've made two small style changes to the proposed interface:
std.builtin.PrefetchOptions
instead ofstd.builtin.Prefetch
to matchCallOptions
,ExportOptions
, etc.cache
instead oftype
as I think it is more clear. However we may actually want to remove this option outright for the time being...It seems that passing 0 as the third argument to llvm's prefetch builtin to indicate that the prefetch should be performed on the instruction cache causes LLVM to error out with something like this:
I'm not sure what exactly this error means, but it seems to indicate lack of support for prefetch using the instruction cache. Note that gcc and clang don't expose this as an option in their
__builtin_prefetch()
: they only support prefetching for the data cache. I therefore propose that we remove thecache
field from our prefetch options for now, we can always add it back in the future if llvm gains better support for it and someone has a use-case.