[PATCH] D93882: [SCEV] recognize logical and/or pattern

Juneyoung Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 3 07:15:02 PST 2021


aqjune added a comment.

In D93882#2475917 <https://reviews.llvm.org/D93882#2475917>, @nikic wrote:

> Something that crossed my mind: While we now handle logical and/or correctly, the same underlying problem also exists for multi-exit loops. In that case we'd combine exit limits from multiple branches via umin(), even though some of them may be poisonous.

Would the place be computeSymbolicMaxBackedgeTakenCount ?
I think UMinUsingSelect or something like that is needed. Expander can lower it into instructions with select performing whether the first argument is non-zero.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D93882



More information about the llvm-commits mailing list