Repo Added
|
Files
89
|
Badge
Embed ▾
README BADGES
|
push
github
Limit CSE for IR_CARG to fix loop optimizations. Thanks to Peter Cawley. (cherry picked from commit 3bdc6498c) `IR_CALLXS` for the vararg function contains `IR_CARG(fptr, ctid)` as the second operand. The `loop_emit_phi()` scans only the first operand of the IR, so the second is not marked as PHI. In this case, when the IR appears in both the invariant and variant parts of the loop, CSE may remove it and thus lead to incorrect emitting results. This patch tweaks the CSE rules to avoid CSE across the `IR_LOOP`. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#10199 Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org>
5697 of 6033 branches covered (94.43%)
Branch coverage included in aggregate %.
4 of 4 new or added lines in 1 file covered. (100.0%)
3 existing lines in 3 files now uncovered.21725 of 23449 relevant lines covered (92.65%)
2971813.46 hits per line
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|