reactorlabs/rir

sequences starting with non-constant value

Open

#789 opened on Jan 22, 2020

 (3 comments) (0 reactions) (0 assignees)C++ (19 forks)github user discovery
enhancementgood first issuehelp wantedpir

Repository metrics

Stars
 (61 stars)
PR merge metrics
 (Avg merge 1m) (1 merged PR in 30d)

Description

For some reason in https://github.com/reactorlabs/rir/blob/master/rir/src/ir/Compiler.cpp#L238 we only properly compile a simple for loop for (i in a:b) if a is a numerical constant.

This causes us to allocate lots of unnecessary vectors (e.g. in nbody_naive_2).

I suspect that this is a hack, exploiting the fact that a < b happens to error similarly to a:b if a is a number.

This should be fixable quite easily by emitting a check for the type of a ensuring that it is compatible with : first.

Contributor guide