This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Use Neoverse N2 sched model as default for:
ClosedPublic

Authored by c-rhodes on Jul 6 2022, 7:38 AM.

Details

Diff Detail

Event Timeline

c-rhodes created this revision.Jul 6 2022, 7:38 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 6 2022, 7:38 AM
c-rhodes requested review of this revision.Jul 6 2022, 7:38 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 6 2022, 7:38 AM
c-rhodes added inline comments.Jul 6 2022, 7:42 AM
llvm/lib/Target/AArch64/AArch64.td
1157–1160

@dmgreen Is it ok to use the N2 as the default model for these cores given they're not Armv9 and only support SVEv1?

Matt added a subscriber: Matt.Jul 6 2022, 8:27 AM
dmgreen accepted this revision.Jul 7 2022, 12:43 PM

Thanks for the patch. It may be possible to write a quick test that the scheduling info for one of the new instructions.

Otherwise LGTM.

llvm/lib/Target/AArch64/AArch64.td
1157–1160

Yeah - I think that's OK. The model will just have more coverage than the core. It should always be a better fit than the A57 model. The extra info in the schedules will just be unused.

This revision is now accepted and ready to land.Jul 7 2022, 12:43 PM
c-rhodes updated this revision to Diff 443195.Jul 8 2022, 3:46 AM

Add simple tests to check N2 model is being used.

Thanks for the patch. It may be possible to write a quick test that the scheduling info for one of the new instructions.

Otherwise LGTM.

Cheers Dave, I've added some tests.

This revision was landed with ongoing or failed builds.Jul 8 2022, 6:34 AM
This revision was automatically updated to reflect the committed changes.