This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Remove PromotedBitwiseVT for NEON types
ClosedPublic

Authored by dmgreen on Jul 7 2021, 1:25 PM.

Details

Summary

This removes the promotion of NEON AND, OR and XOR nodes to v2i32/v4i32, treating them the same as the AArch64 and MVE backends where we just add the relevant patterns for each legal type. This prevents a lot of bitcasts from being added to the DAG, which have the potential to make optimizations more difficult. It does mean adding extra patterns, and some codegen can change due to the types now being legal, not promoted.

Diff Detail

Event Timeline

dmgreen created this revision.Jul 7 2021, 1:25 PM
dmgreen requested review of this revision.Jul 7 2021, 1:25 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 7 2021, 1:25 PM
samtebbs accepted this revision.Jul 14 2021, 6:13 AM

Nice, this should make the IR cleaner.

This revision is now accepted and ready to land.Jul 14 2021, 6:13 AM
This revision was automatically updated to reflect the committed changes.