1. [NFC][LoopUnroll] Update test coverage for peeling w/ inequality (details)
  2. [LoopUnroll] countToEliminateCompares(): fix handling of [in]equality (details)
Commit 432a12c8037293bd1ff919a82f1d4412772ac534 by lebedev.ri
[NFC][LoopUnroll] Update test coverage for peeling w/ inequality
The file was modifiedllvm/test/Transforms/LoopUnroll/peel-loop-conditions.ll
Commit 4fe94d033120da2000f1f31f0c54f3d95a159a53 by lebedev.ri
[LoopUnroll] countToEliminateCompares(): fix handling of [in]equality
predicates (PR43840)
Summary: I believe this bisects to
(`[LoopUnroll] Only peel if a predicate becomes known in the loop
While that revision did contain tests that showed arguably-subpar
peeling for [in]equality predicates that [not] happen in the middle of
the loop, it also disabled peeling for the *first* loop iteration,
because latch would be canonicalized to [in]equality comparison..
That was intentional as per I'm
not 100% sure that i'm using correct checks here, but this fix appears
to be going in the right direction..
Let me know if i'm missing some checks here..
Fixes [[ | PR43840 ]].
Reviewers: fhahn, mkazantsev, efriedma
Reviewed By: fhahn
Subscribers: xbolva00, hiraditya, zzheng, llvm-commits, fhahn
Tags: #llvm
Differential Revision:
The file was modifiedllvm/test/Transforms/LoopUnroll/peel-loop-conditions.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollPeel.cpp