[Tarantool-patches] [PATCH luajit] Fix FOLD rule for strength reduction of widening.
skaplun at tarantool.org
Fri Oct 29 10:49:15 MSK 2021
On 28.10.21, sergos wrote:
> The description looks good!
> Although, I can’t get the point how this
> > (negative offset from the stack
> > pointer may appear positive and result is undefined memory access).
> can’t be applied to a constant? Hence, we’d need a check?
> >> Should it check if integer - even a constant one - is positive?
> > No, why? In fold rule are declared both types: INT64 and UINT64.
Sorry, misinterpreted your question here.
Yes, there is the check
| lo && IR(lo)->o == IR_KINT && IR(lo)->i + ofs >= 0
that the result (constant) integer value for this IR is not negative and we don't
lose its sign and can use the cheaper instruction.
> Although, I’m trying to get into Mike’s business again. So it LGTM as a backport.
> > --
> > Best regards,
> > Sergey Kaplun
More information about the Tarantool-patches