This is an archive of the discontinued LLVM Phabricator instance.

[ARM/AArch64] Fix cost model for interleaved accesses
ClosedPublic

Authored by sbaranga on Jul 27 2015, 7:33 AM.

Details

Summary

Fix the cost of interleaved accesses for ARM/AArch64.
We were calling getTypeAllocSize and using it to check
the number of bits, when we should have called
getTypeAllocSizeInBits instead.

This would pottentially cause the vectorizer to
generate loads/stores and shuffles which cannot
be matched with an interleaved access instruction.

No performance changes are expected for now since
matching/generating interleaved accesses is still
disabled by default.

Diff Detail

Event Timeline

sbaranga updated this revision to Diff 30690.Jul 27 2015, 7:33 AM
sbaranga retitled this revision from to [ARM/AArch64] Fix cost model for interleaved accesses.
sbaranga updated this object.
sbaranga added a subscriber: llvm-commits.
rengolin accepted this revision.Jul 27 2015, 7:35 AM
rengolin added a reviewer: rengolin.

Ouch! LGTM!

This revision is now accepted and ready to land.Jul 27 2015, 7:35 AM
sbaranga closed this revision.Jul 27 2015, 7:39 AM

Thanks! Committed in r243270.