[PATCH] D12107: Replace overflow check in loop vectorization with minimum loop iterations check
Xinliang David Li via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 25 08:44:05 PDT 2015
On Mon, Aug 24, 2015 at 10:47 PM, Wei Mi <wmi at google.com> wrote:
> wmi updated this revision to Diff 33047.
> wmi added a comment.
>
>> The second paragraph is unnecessarily complicated. It should say something like this:
>
>
> Fixed.
>
>> You still have MaxVectorSize mentioned here.
>
>
> Fixed.
>
>> did you see any change in performance?
>
>
> I saw two testcases with perf change steadily:
> MultiSource/Benchmarks/FreeBench/pcompress2 +2%
> MultiSource/Benchmarks/Ptrdist/ks -15%
>
> The improvement for the first test is caused by the minimum loop iterations check and perf stat shows its dynamic instruction number decreases.
> The big regression for the second test is caused by a minor alignment change. The alignment change prevents a cmp and jmp pair inside the kernel loop of the test from being macro-fused, which increases uops-retired events a lot. So the regression is caused by the side-effect of the patch and may not exist after some other changes.
Wei, can you file a bug tracking the regression?
David
>
>
> Repository:
> rL LLVM
>
> http://reviews.llvm.org/D12107
>
> Files:
> lib/Transforms/Vectorize/LoopVectorize.cpp
> test/Transforms/LoopVectorize/induction.ll
> test/Transforms/LoopVectorize/miniters.ll
>
More information about the llvm-commits
mailing list