diff options
author | Heejin Ahn <aheejin@gmail.com> | 2019-03-03 22:35:56 +0000 |
---|---|---|
committer | Heejin Ahn <aheejin@gmail.com> | 2019-03-03 22:35:56 +0000 |
commit | 195a62e9ae50594e469398631a24f4bc26061c56 (patch) | |
tree | b6300c14bf840459ffd9c4878158386305358345 /lldb/packages/Python/lldbsuite/test/functionalities/recursion/main.cpp | |
parent | e9e4a0f5b48aed30669e731d3f54f96fd1dacff0 (diff) | |
download | bcm5719-llvm-195a62e9ae50594e469398631a24f4bc26061c56.tar.gz bcm5719-llvm-195a62e9ae50594e469398631a24f4bc26061c56.zip |
[WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo
Summary:
Before when we implemented the first EH proposal, 'catch <tag>'
instruction may not catch an exception so there were multiple EH pads an
exception can unwind to. That means a BB could have multiple EH pad
successors.
Now after we switched to the new proposal, every 'catch' instruction
catches an exception, and there is only one catchpad per catchswitch, so
we at most have one EH pad successor, making `ThrowUnwindDest` map in
`WasmEHInfo` unnecessary.
Keeping `ThrowUnwindDest` map in `WasmEHInfo` has its own problems,
because other optimization passes can split a BB that contains possibly
throwing calls (previously invokes), and we have to update the map every
time that happens, which is not easy for common CodeGen passes.
This also correctly updates successor info in LateEHPrepare when we add
a rethrow instruction.
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D58486
llvm-svn: 355296
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/recursion/main.cpp')
0 files changed, 0 insertions, 0 deletions