This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Add Support for Cortex-M85
ClosedPublic

Authored by lenary on Jun 23 2022, 2:37 AM.

Details

Summary

This patch adds support for Arm's Cortex-M85 CPU. The Cortex-M85 CPU is
an Arm v8.1m Mainline CPU, with optional support for MVE and PACBTI. MVE
is enabled by default, but PACBTI is not.

Parts have been coauthored by by Mark Murray, Alexandros Lamprineas and
David Green.

Diff Detail

Event Timeline

lenary created this revision.Jun 23 2022, 2:37 AM
lenary requested review of this revision.Jun 23 2022, 2:37 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJun 23 2022, 2:37 AM
lenary retitled this revision from [ARM] Add Support for Cortex-M85 r=MarkMurrayARM,dmgreen,tmatheson to [ARM] Add Support for Cortex-M85.Jun 23 2022, 2:38 AM
dmgreen added inline comments.Jun 23 2022, 8:03 AM
llvm/lib/Target/ARM/ARM.td
1453

Please use the CortexM7 schedule - it is closer in terms of capabilities.

lenary updated this revision to Diff 442079.Jul 4 2022, 5:57 AM
lenary marked an inline comment as done.Jul 4 2022, 5:59 AM

The other changes in this commit are to enable PACBTI by default, as agreed with stakeholders within Arm.

The Clang release notes indicate that PACBTI is off by default. In several places, I can see PACBTI. Is the ARM.td missing something?

dmgreen accepted this revision.Jul 4 2022, 6:19 AM

Other than the release note change it might be worth adding some tests for -mcpu=cortex-m85+nopacbti and related configurations.

Otherwise LGTM

clang/docs/ReleaseNotes.rst
541

This can be updated now.

This revision is now accepted and ready to land.Jul 4 2022, 6:19 AM
lenary added a comment.Jul 4 2022, 6:51 AM

The Clang release notes indicate that PACBTI is off by default. In several places, I can see PACBTI. Is the ARM.td missing something?

Nope, I should have re-checked the whole patch. Update coming to address this and @dmgreen's last comment.

lenary updated this revision to Diff 442109.Jul 4 2022, 8:40 AM
lenary marked an inline comment as done.Jul 4 2022, 8:40 AM
lenary added a comment.Jul 5 2022, 2:04 AM

@tschuett I've corrected the patch based on your feedback. If you're happy, I'm going to land this.

tschuett accepted this revision.Jul 5 2022, 2:29 AM

LGTM.

Please update the summary before you commit.

This revision was landed with ongoing or failed builds.Jul 5 2022, 2:45 AM
This revision was automatically updated to reflect the committed changes.