While performing runtime unrolling, we assign the backedge taken count as TripCount - 1. So, if we can prove that TripCount > 0, then we know that the backedge count is nuw.
Details
Details
Diff Detail
Diff Detail
Paths
| Differential D62144
[LoopUnroll] Add FlagNUW for backedge count AbandonedPublic Authored by samparker on May 20 2019, 8:13 AM.
Details
Summary While performing runtime unrolling, we assign the backedge taken count as TripCount - 1. So, if we can prove that TripCount > 0, then we know that the backedge count is nuw.
Diff Detail Event Timelinesamparker added a parent revision: D61934: [SCEV] Use wrap flags in InsertBinop.May 20 2019, 8:13 AM
Revision Contents
Diff 200288 lib/Transforms/Utils/LoopUnrollRuntime.cpp
test/Transforms/IndVarSimplify/lftr.ll
test/Transforms/LoopUnroll/nuw-backedge.ll
test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
|