You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
andrewrk opened this issue
Sep 14, 2017
· 2 comments
Labels
proposalThis issue suggests modifications. If it also has the "accepted" label then it is planned.researchThis proposal requires a considerable amount of investigation before it can be considered.
When you call a function with pointer arguments marked as noalias, such as @memcpy, it is undefined behavior for the pointer arguments to point to the same memory. We can insert a safety check for this. It should be pretty low cost.
This should work for slices too, and it should ensure that the slices do not overlap. In order for the optimizer to potentially be able to use this information, we should probably pass slices as 2 parameters, the pointer and the length. This way we can add parameter attributes to the pointer parameter.
The text was updated successfully, but these errors were encountered:
andrewrk
added
the
enhancement
Solving this issue will likely involve adding new logic or components to the codebase.
label
Sep 14, 2017
andrewrk
added
proposal
This issue suggests modifications. If it also has the "accepted" label then it is planned.
and removed
enhancement
Solving this issue will likely involve adding new logic or components to the codebase.
labels
Oct 9, 2020
This should work for slices too, and it should ensure that the slices do not overlap. In order for the optimizer to potentially be able to use this information, we should probably pass slices as 2 parameters, the pointer and the length. This way we can add parameter attributes to the pointer parameter.
Fingers crossed that the LLVM IR does not break everything, once they enable noalias. This would also require implementing pointer provenance.
andrewrk
added
the
research
This proposal requires a considerable amount of investigation before it can be considered.
label
Apr 21, 2021
proposalThis issue suggests modifications. If it also has the "accepted" label then it is planned.researchThis proposal requires a considerable amount of investigation before it can be considered.
When you call a function with pointer arguments marked as
noalias
, such as@memcpy
, it is undefined behavior for the pointer arguments to point to the same memory. We can insert a safety check for this. It should be pretty low cost.This should work for slices too, and it should ensure that the slices do not overlap. In order for the optimizer to potentially be able to use this information, we should probably pass slices as 2 parameters, the pointer and the length. This way we can add parameter attributes to the pointer parameter.
The text was updated successfully, but these errors were encountered: