This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Ensure LowerEXTRACT_SUBVECTOR is not called for illegal types
ClosedPublic

Authored by bsmith on Oct 8 2021, 8:03 AM.

Details

Summary

The lowering for EXTRACT_SUBVECTOR should not be called during type
legalization, only as part of lowering, hence return SDValue() when
called on illegal types.

This also adds missing tests for extracting fixed types from illegal
scalable types.

Diff Detail

Event Timeline

bsmith created this revision.Oct 8 2021, 8:03 AM
bsmith requested review of this revision.Oct 8 2021, 8:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 8 2021, 8:03 AM
paulwalker-arm accepted this revision.Oct 8 2021, 8:16 AM
This revision is now accepted and ready to land.Oct 8 2021, 8:16 AM
Matt added a subscriber: Matt.Oct 8 2021, 2:37 PM
peterwaller-arm accepted this revision.Oct 11 2021, 1:11 AM
craig.topper added inline comments.
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
10723

You don’t need DAG.getTargetLowering() here. You’re in a method on a subclass of TargetLowering.