This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Implement isVScaleKnownToBeAPowerOfTwo
ClosedPublic

Authored by dmgreen on Jan 11 2023, 5:40 AM.

Details

Summary

According to https://developer.arm.com/documentation/102105/ia-00/?lang=en

Arm is making a retrospective change to the SVE architecture to remove the capability of selecting a non-power-of-two vector length in non-Streaming SVE as well as in Streaming SVE mode. Specific updates as a result of this change will be communicated in due course.

This patch implements the isVScaleKnownToBeAPowerOfTwo method to teach DAG Combines that VScale will be known to be a power of 2, which helps reduce or simplify some expressions (notably the udiv in vector trip count expressions).

Diff Detail

Event Timeline

dmgreen created this revision.Jan 11 2023, 5:40 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 11 2023, 5:40 AM
dmgreen requested review of this revision.Jan 11 2023, 5:40 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 11 2023, 5:40 AM
sdesmalen accepted this revision.Jan 11 2023, 8:24 AM
This revision is now accepted and ready to land.Jan 11 2023, 8:24 AM
Matt added a subscriber: Matt.Jan 11 2023, 3:50 PM
This revision was landed with ongoing or failed builds.Jan 17 2023, 7:49 AM
This revision was automatically updated to reflect the committed changes.