summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
diff options
context:
space:
mode:
authorArnold Schwaighofer <aschwaighofer@apple.com>2013-06-24 03:55:48 +0000
committerArnold Schwaighofer <aschwaighofer@apple.com>2013-06-24 03:55:48 +0000
commitb914a7e2ef40b970bbb1dbc2d6d2b76b77c2dd4c (patch)
treed6f0b344b22f9394cf362c17372a07685ef6d2d5 /llvm/lib/Support
parentd517976758c8674bdcd4c74457f7a83f20e432c5 (diff)
downloadbcm5719-llvm-b914a7e2ef40b970bbb1dbc2d6d2b76b77c2dd4c.tar.gz
bcm5719-llvm-b914a7e2ef40b970bbb1dbc2d6d2b76b77c2dd4c.zip
LoopVectorize: Use the dependence test utility class
We now no longer need alias analysis - the cases that alias analysis would handle are now handled as accesses with a large dependence distance. We can now vectorize loops with simple constant dependence distances. for (i = 8; i < 256; ++i) { a[i] = a[i+4] * a[i+8]; } for (i = 8; i < 256; ++i) { a[i] = a[i-4] * a[i-8]; } We would be able to vectorize about 200 more loops (in many cases the cost model instructs us no to) in the test suite now. Results on x86-64 are a wash. I have seen one degradation in ammp. Interestingly, the function in which we now vectorize a loop is never executed so we probably see some instruction cache effects. There is a 2% improvement in h264ref. There is one or the other TSCV loop kernel that speeds up. radar://13681598 llvm-svn: 184685
Diffstat (limited to 'llvm/lib/Support')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud