[PATCH] D81416: [LV] Interleave to expose ILP for small loops with scalar reductions.

Aaron H Liu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 26 08:21:31 PDT 2020


AaronLiu added a comment.

In D81416#2231041 <https://reviews.llvm.org/D81416#2231041>, @fhahn wrote:

> In D81416#2231013 <https://reviews.llvm.org/D81416#2231013>, @fhahn wrote:
>
>> In D81416#2230857 <https://reviews.llvm.org/D81416#2230857>, @AaronLiu wrote:
>>
>>> In D81416#2230628 <https://reviews.llvm.org/D81416#2230628>, @fhahn wrote:
>>>
>>>> Just to double check, wouldn't it be sufficient if loop-unroll would unroll the loop? Or is this not happening? It seems like `loop-unroll` would unroll the loop in the test-case.
>>>
>>> It would unroll the loop in the testcase, but it will not break dependence and expose ILP, will not help performance, and actually unroll hurt performance in this case.
>>
>> I didn't took a very close look, but wouldnt unrolling generate similar code as interleaving, modulo different order of instructions,  but with similar compute instructions trees?
>
> But I think unrolling with runtime trip counts can generate a bit more overhead around the loop than interleaving in this case, so interleaving should be better in that case.

Totally agree!


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

https://reviews.llvm.org/D81416



More information about the llvm-commits mailing list