This is an archive of the discontinued LLVM Phabricator instance.

[lld] Use correct machine type in ARM64EC COFF headers.
ClosedPublic

Authored by jacek on Apr 24 2023, 12:34 PM.

Details

Summary

This adds very minimal support for ARM64EC/ARM64X targets, just enough for interesting test cases. Next patches in the series extend llvm-objdump and llvm-readobj to provide better tests. Those will also be useful for testing further ARM64EC LLD support.

Diff Detail

Event Timeline

jacek created this revision.Apr 24 2023, 12:34 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 24 2023, 12:34 PM
jacek requested review of this revision.Apr 24 2023, 12:34 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 24 2023, 12:34 PM
mstorsjo added inline comments.Apr 25 2023, 2:25 PM
lld/test/COFF/arm64ec.test
12

Is it possible to add a check for arm64x too, or is harder to create such object files?

15

It’sa bit unclear what the DATAEC check here really verifies? I’m sure it’s relevant later on, but within the scope of this patch, this test feels mostly confusing.

mstorsjo accepted this revision.Apr 26 2023, 12:19 AM
mstorsjo added inline comments.
lld/test/COFF/arm64ec.test
15

Nevermind, for both comments here - it becomes quite reasonable in the next patch, and it's probably cleanest to leave this as is.

This revision is now accepted and ready to land.Apr 26 2023, 12:19 AM
jacek updated this revision to Diff 517197.Apr 26 2023, 8:53 AM

I changed tests to include ARM64X input object, which also allowed testing ARM64X headers in this patch. I also moved data tests to the next patch, where it makes more sense.

mstorsjo accepted this revision.Apr 26 2023, 1:21 PM

LGTM, thanks!

This revision was landed with ongoing or failed builds.May 29 2023, 10:49 AM
This revision was automatically updated to reflect the committed changes.