This is an archive of the discontinued LLVM Phabricator instance.

[BOLT] Emit LSDA call sites for all fragments
ClosedPublic

Authored by FPar on Aug 17 2022, 11:29 AM.

Details

Summary

For exception handling, LSDA call sites have to be emitted for each
fragment individually. With this patch, call sites and respective LSDA
symbols are generated and associated with each fragment of their
function, such that they can be used by the emitter.

Diff Detail

Event Timeline

FPar created this revision.Aug 17 2022, 11:29 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 17 2022, 11:29 AM
Herald added a subscriber: ayermolo. · View Herald Transcript
FPar requested review of this revision.Aug 17 2022, 11:29 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 17 2022, 11:29 AM
FPar updated this revision to Diff 454662.Aug 22 2022, 5:23 PM

Add test checking symbol table when split in multiple fragments

Amir added inline comments.Aug 24 2022, 1:41 PM
bolt/include/bolt/Core/BinaryFunction.h
1428

Why not using llvm::less_first here and below?

FPar updated this revision to Diff 455433.Aug 24 2022, 5:16 PM

Use llvm::less_first instead of lambda

FPar marked an inline comment as done.Aug 24 2022, 5:17 PM
FPar added inline comments.
bolt/include/bolt/Core/BinaryFunction.h
1428

Because I was not aware of that function object. Thanks!

FPar updated this revision to Diff 458232.Sep 6 2022, 11:37 AM
FPar marked an inline comment as done.

Rebase

maksfb accepted this revision.Sep 6 2022, 12:29 PM

LGTM

This revision is now accepted and ready to land.Sep 6 2022, 12:29 PM
This revision was automatically updated to reflect the committed changes.