Go to file
Heejin Ahn 195a62e9ae [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
2019-03-03 22:35:56 +00:00
clang Modules: Document that ReadASTCore exits its final loop via `return`, NFC 2019-03-03 20:17:53 +00:00
clang-tools-extra [clangd] Enable SuggestMissingIncludes by default. 2019-03-01 14:17:55 +00:00
compiler-rt Revert "[sanitizer] Fix return type of __bzero and __aeabi_mem* interceptors." 2019-03-02 01:33:52 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
libcxx [libc++] Fix forgotten fclose() in unit test 2019-03-01 01:32:44 +00:00
libcxxabi [libc++abi] Specify unwind lib before other system libraries when linking 2019-03-01 22:55:15 +00:00
libunwind [CMake][libunwind] Define add_target_flags which is missing 2019-02-28 21:38:59 +00:00
lld [WebAssembly] Fix crash when __wasm_call_ctor is GCd in programs containing static init/fini 2019-03-02 04:55:02 +00:00
lldb [lldb] [Process/gdb-remote] Use '127.0.0.1' in ConnectLocally() 2019-03-03 12:42:43 +00:00
llgo Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
llvm [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo 2019-03-03 22:35:56 +00:00
openmp [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for PowerPC. 2019-03-01 21:16:45 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly [opaque pointer types] Update calls to CreateCall to pass the function 2019-02-08 19:30:46 +00:00
pstl [pstl] Fix missing parallel policy guards 2019-03-01 01:26:35 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
README.md

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.