This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Fix delegate's argument computation
ClosedPublic

Authored by aheejin on Feb 11 2021, 10:25 AM.

Details

Summary

I previously assumed delegate's immediate argument computation
followed a different rule than that of branches, but we agreed to make
it the same
(https://github.com/WebAssembly/exception-handling/issues/146). This
removes the need for a separate DelegateStack in both CFGStackify and
InstPrinter.

When computing the immediate argument, we use a different function for
delegate computation because in MIR DELEGATE's instruction's
destination is the destination catch BB or delegate BB, and when it is a
catch BB, we need an additional step of getting its corresponding end
marker.

Diff Detail

Event Timeline

aheejin created this revision.Feb 11 2021, 10:25 AM
aheejin requested review of this revision.Feb 11 2021, 10:25 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 11 2021, 10:25 AM
aheejin updated this revision to Diff 323081.Feb 11 2021, 11:07 AM

Remove a redundant line

aheejin updated this revision to Diff 323090.Feb 11 2021, 11:14 AM

Fix the error message

aheejin updated this revision to Diff 323092.Feb 11 2021, 11:15 AM

Use EndMarkerInfo

tlively accepted this revision.Feb 11 2021, 11:46 AM

Nice simplification!

This revision is now accepted and ready to land.Feb 11 2021, 11:46 AM
dschuff accepted this revision.Feb 11 2021, 12:04 PM
Harbormaster completed remote builds in B88863: Diff 323092.
This revision was landed with ongoing or failed builds.Feb 11 2021, 9:57 PM
This revision was automatically updated to reflect the committed changes.