[PATCH] Global Structure Vectorization

Arnold Schwaighofer aschwaighofer at apple.com
Sat Feb 23 09:55:52 PST 2013


Hi all,

On Feb 20, 2013, at 1:18 PM, Nadav Rotem <nrotem at apple.com> wrote:

> Hi Renato, 
> 
> Thanks for working on this. The code looks correct. I agree with Arnold that this function is becoming even more complicated and it would be nice to refactor it somehow, but we can do it later. I don't mind if the tests are in one file or multiple files.  I assume that you ran the test-suite and found no failures. Did you see any newly vectorized loops ? 

I just did a quick analysis of how many more loops we handle due to this patch. This is running over test-suite + externals (specs, povray) on x86-64/darwin. I also have a modified copy where we always check alias analysis (i.e. also when the identified object is not a global variable). Here are the numbers:

no aa vectorization: 4249
current trunk: 4277 (delta 28)
always aa vec: 4320 (delta 43)

What is missing of course is a qualitative analysis: do any of those matter?


Here are some benchmarks that had (more) vectorized loops due to variant "always aa vec":

Povray
bzip2
gcc
gobmk
h264ref
ClamAV
JM/ldecod
JM/lencod
bzip2
7zip
gsm/toast
mpeg2/mpeg2dec
MiBench/consumer-lame
MiBench/telecomm-gsm
ReedSolomon



Best,
Arnold



More information about the llvm-commits mailing list