[PATCH] D12107: Replace overflow check in loop vectorization with minimum loop iterations check
Wei Mi via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 24 22:47:07 PDT 2015
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.
Repository:
rL LLVM
http://reviews.llvm.org/D12107
Files:
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/induction.ll
test/Transforms/LoopVectorize/miniters.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12107.33047.patch
Type: text/x-patch
Size: 6981 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150825/fae8947a/attachment.bin>
More information about the llvm-commits
mailing list