This is an archive of the discontinued LLVM Phabricator instance.

[SVE] Ignore scalable vectors in InterleavedLoadCombinePass
ClosedPublic

Authored by david-arm on May 11 2020, 1:11 AM.

Details

Summary

I have changed the pass so that we ignore shuffle vectors with
scalable vector types, and replaced VectorType with FixedVectorType
in the rest of the pass. I couldn't think of an easy way to test
this change, since for scalable vectors we shouldn't be using
shufflevectors for interleaving. This change fixes up some
type size assert warnings I found in the following test:

CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll

Diff Detail

Event Timeline

david-arm created this revision.May 11 2020, 1:11 AM
Herald added a reviewer: efriedma. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
ctetreau added inline comments.May 11 2020, 9:09 AM
llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
788–789

should just cast<>()

david-arm updated this revision to Diff 263413.May 12 2020, 6:21 AM
david-arm marked an inline comment as done.May 15 2020, 12:57 AM
ctetreau accepted this revision.May 18 2020, 8:02 AM

Looks good to me

This revision is now accepted and ready to land.May 18 2020, 8:02 AM
This revision was automatically updated to reflect the committed changes.