Skip to content

Commit ee1bc0a

Browse files
author
Marek Sedlacek
committed
This patch removes canRotateDeoptimizingLatchExit check from loop roate
and connected multi rotation option for loop roate (-loop-rotate-multi option). The heuristic in canRotateDeoptimizingLatchExit returns true if any of the loop exits are non-deoptimizing. This means if the loop has multiple deopt exits, then without multi-rotate, we may still end up having deopt exit at the latch. This multi-rotate option is introduced but it is off by default. We have not seen any improvements downstream as well, where we have deoptimizations significantly in IR. Since the original heuristic without the multi-rotate effectively ends up being "rotate under some conditions", but the loop may still not be in the form we want, we should remove the heuristic and multi-rotate framework entirely
1 parent fb17bc7 commit ee1bc0a

File tree

3 files changed

+436
-903
lines changed

3 files changed

+436
-903
lines changed

0 commit comments

Comments
 (0)