This is an archive of the discontinued LLVM Phabricator instance.

[SelectionDAG] Make WidenVecRes_Convert work for scalable vectors.
ClosedPublic

Authored by sdesmalen on Sep 20 2021, 3:42 AM.

Details

Summary

Most of the code wasn't yet scalable safe, although most of the
code conceptually just works for scalable vectors. This change
makes the algorithm work on ElementCount, where appropriate,
and leaves the fixed-width only code to use getFixedNumElements.

Diff Detail

Event Timeline

sdesmalen created this revision.Sep 20 2021, 3:42 AM
sdesmalen requested review of this revision.Sep 20 2021, 3:42 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 20 2021, 3:42 AM
david-arm added inline comments.Sep 20 2021, 4:20 AM
llvm/test/CodeGen/AArch64/sve-fcvt.ll
740

Hi @sdesmalen, not sure this is caused by your patch, but this looks a bit odd as we're defining p0.s after it's already been used above.

david-arm accepted this revision.Sep 20 2021, 5:32 AM

LGTM!

llvm/test/CodeGen/AArch64/sve-fcvt.ll
740

My mistake - we're using the input p0 passed to the function. Doh!

This revision is now accepted and ready to land.Sep 20 2021, 5:32 AM