This is an archive of the discontinued LLVM Phabricator instance.

[MCWin64EH] Check for matches between epilogs and the prolog on ARM64
ClosedPublic

Authored by mstorsjo on May 14 2022, 4:12 PM.

Details

Summary

This allows sharing opcodes between prolog and epilog even when there
is more than one epilog.

I didn't make any handcrafted special MC level testcases for this (yet
at least), but it does seem to have the expected effect on two existing
CodeGen level testcases.

Diff Detail

Event Timeline

mstorsjo created this revision.May 14 2022, 4:12 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 14 2022, 4:12 PM
mstorsjo requested review of this revision.May 14 2022, 4:12 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 14 2022, 4:12 PM
mstorsjo updated this revision to Diff 429568.May 15 2022, 2:41 PM

Updated the patch to remove a fixme for something that is mostly implemented already.

efriedma added inline comments.May 16 2022, 11:11 AM
llvm/lib/MC/MCWin64EH.cpp
622

subset of the *prolog*

mstorsjo updated this revision to Diff 429803.May 16 2022, 11:48 AM

Fix the typo that was pointed out

This revision is now accepted and ready to land.May 16 2022, 12:56 PM
This revision was landed with ongoing or failed builds.May 16 2022, 2:41 PM
This revision was automatically updated to reflect the committed changes.