[PATCH] D48193: [LoopVectorizer] Use an interleave count of 1 when using a vector library call
Diego Caballero via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 14 13:42:41 PDT 2018
dcaballe added a comment.
Hi Robert,
thanks for bringing this up! This approach is blindly setting the interleave factor to 1 when there are vector math function calls. I have the following questions/comments:
1. Maybe I'm missing something but, wouldn't the same problem happen when the function calls are scalar or for any arbitrary function call (not necessarily math functions)? Why should we do this for vector math function calls only?
2. I'm concerned about this change introducing performance regressions. For example, imaging a loop body where the total gain of interleaving overcomes the penalty of the register spilling caused by the function call. Wouldn't it be better to properly model this particular register spilling penalty in the context of function calls instead of blindly disabling interleaving for those cases?
Thanks,
Diego
Repository:
rL LLVM
https://reviews.llvm.org/D48193
More information about the llvm-commits
mailing list