[PATCH] Break dependencies in large loops containing reductions (LoopVectorize)
Nadav Rotem
nrotem at apple.com
Thu Feb 19 10:23:04 PST 2015
Olivier, I don’t really understand this heuristics. It looks like you are adding lots of code to handle a very specific case and I am not convinced that this heuristics is useful for the general case.
Following Hal’s suggestion to benchmark this patch is a really good idea. Do you know how it affects the LLVM test suite? Are you seeing any gains or regressions?
> On Feb 19, 2015, at 10:11 AM, Olivier Sallenave <ohsallen at us.ibm.com> wrote:
>
> This patch unrolls large loops containing reductions. The cost function discussed here was implemented. Added enableAggressiveFMAFusion to TTI to fine-tune the heuristics.
>
>
> http://reviews.llvm.org/D7514
>
> Files:
> include/llvm/Analysis/TargetTransformInfo.h
> include/llvm/Analysis/TargetTransformInfoImpl.h
> include/llvm/CodeGen/BasicTTIImpl.h
> include/llvm/Target/TargetLowering.h
> lib/Analysis/TargetTransformInfo.cpp
> lib/CodeGen/SelectionDAG/DAGCombiner.cpp
> lib/Target/NVPTX/NVPTXISelLowering.h
> lib/Target/PowerPC/PPCISelLowering.cpp
> lib/Target/PowerPC/PPCISelLowering.h
> lib/Transforms/Vectorize/LoopVectorize.cpp
> test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
>
> EMAIL PREFERENCES
> http://reviews.llvm.org/settings/panel/emailpreferences/
> <D7514.20312.patch>
More information about the llvm-commits
mailing list