This is an archive of the discontinued LLVM Phabricator instance.

WIP: Unwindabort: Add "unwindabort" syntax for the "catchswitch" instruction.
Needs ReviewPublic

Authored by jyknight on Jan 17 2023, 3:53 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

This is part of a series of changes to enable generating more
efficient code for C++ "noexcept" functions. See also the RFC,
https://discourse.llvm.org/t/rfc-add-call-unwindabort-to-llvm-ir/62543

The 'unwindabort' modifier specifies that if none of the handlers
match, execution should abort the program (instead of unwinding to a
specified block, or to the parent function).

This commit adds only the core textual and bitcode IR parsing/writing
for the 'unwindabort' instruction.

Depends on D141914

Diff Detail

Event Timeline

jyknight created this revision.Jan 17 2023, 3:53 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJan 17 2023, 3:53 AM
arsenm added a subscriber: arsenm.Jan 17 2023, 8:30 AM

Would you mind adding this to the llvm-reduce instruction flag reduction?

Would you mind adding this to the llvm-reduce instruction flag reduction?

Maybe not the right place, but I think llvm-reduce should be kept in sync or at least tested with any new ir changes

jyknight updated this revision to Diff 546610.Aug 2 2023, 2:23 PM
jyknight edited the summary of this revision. (Show Details)

Rebase patch.