This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Fix ScopeTops info in CFGStackify for EH pads
ClosedPublic

Authored by aheejin on Feb 25 2019, 4:01 AM.

Details

Summary

When creating ScopeTops info for try ~ catch ~ end_try, we
should create not only end_try -> try mapping but also catch ->
try mapping as well. If this is not created, block and end_block
markers later added may span across an existing catch, resulting in
the incorrect code like:

try
  block     --|  (X)
catch         |
  end_block --|
end_try

Diff Detail