This is an archive of the discontinued LLVM Phabricator instance.

[ARM][AArch64] Turn on by default interleaved access lowering
ClosedPublic

Authored by sbaranga on Aug 19 2015, 5:28 AM.

Details

Summary

Interleaved access lowering removes a memory operation and a
sequence of vector shuffles and replaces it with a series of
memory operations. This should be always beneficial.

This pass in only enabled on ARM/AArch64.

Diff Detail

Event Timeline

sbaranga updated this revision to Diff 32537.Aug 19 2015, 5:28 AM
sbaranga retitled this revision from to [ARM][AArch64] Turn on by default interleaved access lowering.
sbaranga updated this object.
sbaranga added a subscriber: llvm-commits.
rengolin accepted this revision.Aug 19 2015, 5:39 AM
rengolin added a reviewer: rengolin.

W00t!!

I'm assuming no regressions on test-suite and usual benchmarks.

If that's true, LGTM!

This revision is now accepted and ready to land.Aug 19 2015, 5:39 AM

Hi Renato,

This should be part of a series of patches to enable interleaved access vectorization. I haven't tried benchmarking this specific change.

I'll post two more patches to enable interleaved access vectorization on ARM/AArch64 that rely on this change going in, and I'll have benchmarking numbers for those.

Cheers,
Silviu

I'm more concerned with correctness at this level. But if you have tested all your changes together, as long as this one doesn't fail basic check-all on its own, should be ok.

sbaranga closed this revision.Sep 1 2015, 4:13 AM

Thanks, committed in r246540

-Silviu