[PATCH] D58231: [LICM] Support of widenable condition guards in LICM

Fedor Sergeev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 19 08:10:38 PST 2019


fedor.sergeev added a comment.

In D58231#1402123 <https://reviews.llvm.org/D58231#1402123>, @mkazantsev wrote:

> The main motivation is unification - I don't want to leave a single thing that is supported for intrinsic guards and not supported for control flow guards. Unswitching has known problems related to exponential code size growth, so I don't want our ability to eliminate guards in loops to depend on its cost model.


Trivial unswitch does not have a problem of exponential code growth.
Basically, what you do here does match what trivial unswitch does.
So in order to rely on unswitch we just need to ensure that this widenable branch thing does fall into a trivial unswitch category.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58231/new/

https://reviews.llvm.org/D58231





More information about the llvm-commits mailing list