This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Enhance last active true vector combine
ClosedPublic

Authored by Allen on Mar 27 2022, 6:43 PM.

Details

Summary

Last active extracting will output LASTB + WHILELS, and the WHILELS itself
is a flag-setting operation, so perform it unconditionally.

Diff Detail

Event Timeline

Allen created this revision.Mar 27 2022, 6:43 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 27 2022, 6:43 PM
Allen requested review of this revision.Mar 27 2022, 6:43 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 27 2022, 6:43 PM
sdesmalen added inline comments.Mar 28 2022, 3:02 AM
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
14572–14573

nit: this comment only makes sense compared to the previous code which had an explicit check for SETCC, so I think you can just remove this comment altogether.

Can you merge this condition with the condition above, e.g.:

if (Idx.getOpcode() != ISD::ADD || !isAllOnesConstant(Idx.getOperand(1)))
Allen updated this revision to Diff 418535.Mar 28 2022, 4:00 AM
paulwalker-arm accepted this revision.Apr 4 2022, 4:58 AM
This revision is now accepted and ready to land.Apr 4 2022, 4:58 AM
This revision was landed with ongoing or failed builds.Apr 5 2022, 6:54 PM
This revision was automatically updated to reflect the committed changes.
Allen marked an inline comment as done.