[PATCH] D18670: LoopUnroll: some small fixes/tweaks to make it more useful for partial unrolling

escha via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 1 11:50:14 PDT 2016


escha added a comment.

I don't *think* it's possible for that problem to happen under normal circumstances without FullUnrollMaxCount being set. Normally, the only way we can fail to do full unrolling is if the full unroll cost is greater than Threshold. In this case, we'll go try partial unrolling, and we'll also be above the partial threshold (since a partial threshold higher than Threshold doesn't make sense), and it'll take the path that makes the count modulo-correct.

But if we set FullUnrollMaxCount, it's possible to reach this code with UnrolledSize <= PartialThreshold and a Count that isn't modulo TripCount, which leads to the bug.


Repository:
  rL LLVM

http://reviews.llvm.org/D18670





More information about the llvm-commits mailing list