Pass slices as not a struct, enable @restrict
for T[]
#4225
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.
Exploring the idea of splitting
T[]
arguments intoi(32|64), (T*|ptr)
on the call level to enable adding@restrict
toT[]
arguments.Currently (one among many) thing that fails is doesn't produce the correct
alloca
, it produces%a = alloca i64, align 8
and then only stores the length ina_arg_length
. I can't seem to figure out where the code that produces the bad alloca comes from.Still todo, runtime functions (
_d_.*
), test suite update, ABI, inlineIR, ...Very much WIP.
Hmm, on second thoughts, it would be far less disruptive to do this only if
@restrict
is applied.