[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
Thu Mar 31 17:47:36 PDT 2016


escha added a comment.

> That's what UP.Count is intended to do: let the target suggest an unroll count it deems reasonable.


I thought UP.Count overrides Threshold, causing it to unroll loops even if their LoopSize is greater than the Threshold? If that's not true, then I guess that part of this patch is unnecessary, but it didn't seem to work that way when I tried.

> It seems partial unrolling is preferred over full unrolling for your target. I would set it up in getUnrollingPerferences()... unless it's too early for the TTI to estimate how much unrolling is suitable during LoopUnrollPass.


No, full unrolling is strongly preferred. However, in some cases, full unrolling is too costly, either due to register usage (which our TTI calculates) or due to Threshold (which LoopUnrollPass calculates), and we'd rather partial unroll than do nothing at all.


Repository:
  rL LLVM

http://reviews.llvm.org/D18670





More information about the llvm-commits mailing list