Open kuhar opened 3 weeks ago
We can also combine contiguous ranges (<umin = 32, umax = 64, udiv = 16>, <umin = 64, umax = 128, udiv = 16>
-> <umin = 32, umax = 128, udiv = 16>
).
Note that there may be uses for correlation between operands here - knowing that %2
is always 2x %3
when made with a particular invocation, etc. An assembly format simplification may be enough to make this op readable without losing that information, or we may want another op that we derive from the same analysis for correlation so that this one could be folded aggressively (this becoming just bounds).
We generate
util.assume.int
ops that can be very verbose / repetitive when there's more than one set of repeated ranges. For example:We should consider updating the folder and make the subranges unique to reduce duplication.