diff options
| author | Arnold Schwaighofer <aschwaighofer@apple.com> | 2013-06-24 12:09:15 +0000 |
|---|---|---|
| committer | Arnold Schwaighofer <aschwaighofer@apple.com> | 2013-06-24 12:09:15 +0000 |
| commit | bc7c58d2b1a04514ee19f59a58e0027798e59d56 (patch) | |
| tree | 65303c2d338b69d52086c781ee790aeb1fa19ac0 /lib/Target/TargetSubtargetInfo.cpp | |
| parent | 7e96b4dfce63f967f150c617f0a69ded9f1f7416 (diff) | |
| download | external_llvm-bc7c58d2b1a04514ee19f59a58e0027798e59d56.zip external_llvm-bc7c58d2b1a04514ee19f59a58e0027798e59d56.tar.gz external_llvm-bc7c58d2b1a04514ee19f59a58e0027798e59d56.tar.bz2 | |
Reapply 184685 after the SetVector iteration order fix.
This should hopefully have fixed the stage2/stage3 miscompare on the dragonegg
testers.
"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"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184724 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/TargetSubtargetInfo.cpp')
0 files changed, 0 insertions, 0 deletions
