[LICM] Do not hoist widenable conditions
Despite the fact that it is legal, it is not profitable. It may prevent Loop Guard Widening to happen. Because of bug described at https://github.com/llvm/llvm-project/issues/60234, now the guard widening is only possible when condtion we want to add is available at the point of the widenable_condition() of dominating guard. It means that, if all such calls are hoisted out of loop, and the loop conditions depend on loop-variants, we cannot widen. Hoisting is otherwise not helpful, because it does not introduce any optimization opportunities. Differential Revision: https://reviews.llvm.org/D146274 Reviewed By: apilipenko
Loading
Please sign in to comment