This is an archive of the discontinued LLVM Phabricator instance.

[VE] Support SJLJ exception related instructions
ClosedPublic

Authored by kaz7 on Jan 5 2021, 1:18 AM.

Details

Summary

Support EH_SJLJ_LONGJMP, EH_SJLJ_SETJMP, and EH_SJLJ_SETUP_DISPATCH
for SjLj exception handling. NC++ uses SjLj exception handling, so
implement it first. Add regression tests also.

Diff Detail

Event Timeline

kaz7 created this revision.Jan 5 2021, 1:18 AM
kaz7 requested review of this revision.Jan 5 2021, 1:18 AM
simoll added inline comments.Jan 5 2021, 1:35 AM
llvm/lib/Target/VE/VEISelLowering.cpp
286

Typo: isntructions

simoll added a comment.Jan 5 2021, 1:37 AM

"Stuff" is unspecific. How about we go by "[VE] SJLJ isel" or something along those lines for the title?

kaz7 added a comment.Jan 5 2021, 1:52 AM

"Stuff" is unspecific. How about we go by "[VE] SJLJ isel" or something along those lines for the title?

Yes. It was internal commit message and I was thinking to modify it before arc diff, but I typed arc diff before considering it today. :-)

kaz7 retitled this revision from [VE] Support SJLJ stuff to [VE] Support SJLJ exception related instructions.Jan 5 2021, 1:58 AM
kaz7 updated this revision to Diff 314539.Jan 5 2021, 1:58 AM

Change following suggestions. Also rebase to main.

kaz7 updated this revision to Diff 314540.Jan 5 2021, 2:01 AM

Update comments in header file comment which I've forgotten to modify.

simoll accepted this revision.Jan 5 2021, 2:20 AM
This revision is now accepted and ready to land.Jan 5 2021, 2:20 AM
This revision was landed with ongoing or failed builds.Jan 5 2021, 3:19 AM
This revision was automatically updated to reflect the committed changes.
llvm/test/CodeGen/VE/Scalar/builtin_sjlj_landingpad.ll