llvm-project/llvm/test/CodeGen/WebAssembly
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
..
PR40172.ll [WebAssembly][FastISel] Do not assume naive CmpInst lowering 2019-01-14 22:03:43 +00:00
PR40267.ll [LegalizeVectorTypes] Allow illegal indices when splitting extract_vector_elt 2019-01-31 00:35:37 +00:00
add-prototypes-conflit.ll [WebAssembly] Don't error on conflicting uses of prototype-less functions 2019-02-20 22:40:57 +00:00
add-prototypes.ll [WebAssembly] Default to something reasonable in WebAssemblyAddMissingPrototypes 2019-02-21 03:27:00 +00:00
address-offsets.ll [WebAssembly] replaced .param/.result by .functype 2018-11-19 17:10:36 +00:00
atomic-mem-consistency.ll [WebAssembly] Remove uses of ThreadModel 2019-02-28 18:39:08 +00:00
atomic-rmw.ll [WebAssembly] Remove uses of ThreadModel 2019-02-28 18:39:08 +00:00
bulk-memory-intrinsics.ll [WebAssembly] Bulk memory intrinsics and builtins 2019-02-13 22:11:16 +00:00
bulk-memory.ll [WebAssembly] memory.fill 2019-02-13 22:25:18 +00:00
byval.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
call.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
cfg-stackify-dbg-skip.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
cfg-stackify-eh.ll [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo 2019-03-03 22:35:56 +00:00
cfg-stackify.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
cfi.ll [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
comparisons-f32.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
comparisons-f64.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
comparisons-i32.ll [WebAssembly][FastISel] Do not assume naive CmpInst lowering 2019-01-14 22:03:43 +00:00
comparisons-i64.ll [WebAssembly][FastISel] Do not assume naive CmpInst lowering 2019-01-14 22:03:43 +00:00
conv-trap.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
conv.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
copysign-casts.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
cpus.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
custom-sections.ll [WebAssembly] Add languages from debug info to producers section 2019-01-18 02:47:48 +00:00
dbgvalue.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
dead-vreg.ll [WebAssembly] replaced .param/.result by .functype 2018-11-19 17:10:36 +00:00
divrem-constant.ll [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
eh-lsda.ll Reland "[WebAssembly] LSDA info generation" 2018-10-25 23:55:10 +00:00
exception.ll [WebAssembly] Remove unnecessary instructions after TRY marker placement 2019-02-27 00:50:53 +00:00
explicit-locals.mir [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
f16.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
f32.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
f64.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
fast-isel-br-i1.ll [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
fast-isel-i24.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
fast-isel-i256.ll [WebAssembly] replaced .param/.result by .functype 2018-11-19 17:10:36 +00:00
fast-isel-noreg.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
fast-isel.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
frem.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
func.ll [WebAssembly] replaced .param/.result by .functype 2018-11-19 17:10:36 +00:00
function-bitcasts-varargs.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
function-bitcasts.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
global.ll [WebAssembly] Remove uses of ThreadModel 2019-02-28 18:39:08 +00:00
global_dtors.ll [WebAssembly] Fix crash when @llvm.global_dtors is external 2019-03-01 00:12:13 +00:00
globl.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
i32-load-store-alignment.ll Fix typo in comment 2019-01-09 14:20:20 +00:00
i32.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
i64-load-store-alignment.ll Fix typo in comment 2019-01-09 14:20:20 +00:00
i64.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
i128-returned.ll [WebAssembly] replaced .param/.result by .functype 2018-11-19 17:10:36 +00:00
i128.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
ident.ll [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
immediates.ll [WebAssembly] replaced .param/.result by .functype 2018-11-19 17:10:36 +00:00
implicit-def.ll [WebAssembly] Emit a splat for v128 IMPLICIT_DEF 2018-12-20 04:20:32 +00:00
import-module.ll [WebAssembly] Add codegen support for the import_field attribute 2019-02-01 22:27:34 +00:00
indirect-import.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
inline-asm-m.ll [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
inline-asm-roundtrip.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
inline-asm.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
irreducible-cfg-exceptions.ll [WebAssembly] Optimize Irreducible Control Flow 2019-01-03 23:10:11 +00:00
irreducible-cfg-nested.ll [WebAssembly] Optimize Irreducible Control Flow 2019-01-03 23:10:11 +00:00
irreducible-cfg-nested2.ll [WebAssembly] Optimize Irreducible Control Flow 2019-01-03 23:10:11 +00:00
irreducible-cfg.ll [WebAssembly] Optimize Irreducible Control Flow 2019-01-03 23:10:11 +00:00
legalize.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
libcalls.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
lit.local.cfg
load-ext-atomic.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
load-ext.ll [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
load-store-i1.ll [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
load.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
lower-em-ehsjlj-options.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
lower-em-exceptions-whitelist.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
lower-em-exceptions.ll [WebAssembly] WebAssemblyLowerEmscriptenEHSjLj: use getter/setter for accessing tempRet0 2018-11-20 19:25:07 +00:00
lower-em-sjlj-longjmp-only.ll [WebAssembly] Fix LowerEmscriptenEHSjLj when there's only longjmp 2018-11-08 22:56:26 +00:00
lower-em-sjlj.ll [WebAssembly] WebAssemblyLowerEmscriptenEHSjLj: use getter/setter for accessing tempRet0 2018-11-20 19:25:07 +00:00
lower-global-dtors.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
main-declaration.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
main-no-args.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
main-three-args.ll [WebAssembly] Re-enable main-function signature rewriting 2019-01-29 10:53:42 +00:00
main-with-args.ll [WebAssembly] Re-enable main-function signature rewriting 2019-01-29 10:53:42 +00:00
mem-intrinsics.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
memory-addr32.ll [WebAssembly] Remove tests for old intrinsics. 2019-01-14 18:25:29 +00:00
muloti4.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
negative-base-reg.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
non-executable-stack.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
null-streamer.ll [WebAssembly] Add null streamer support 2018-11-18 11:58:47 +00:00
offset-atomics.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
offset-fastisel.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
offset-folding.ll [WebAssembly] replaced .param/.result by .functype 2018-11-19 17:10:36 +00:00
offset.ll [WebAssembly] replaced .param/.result by .functype 2018-11-19 17:10:36 +00:00
phi.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
reg-stackify.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
regcopy.mir [WebAssembly] Add V128 to WebAssemblyInstrInfo::copyPhysReg 2018-11-08 02:35:28 +00:00
return-int32.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
return-void.ll [WebAssembly] replaced .param/.result by .functype 2018-11-19 17:10:36 +00:00
returned.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
select.ll [WebAssembly] Fix select of and (PR40805) 2019-02-23 18:59:01 +00:00
signext-arg.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
signext-inreg.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
signext-zeroext.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
simd-arith.ll [WebAssembly] Expand SIMD shifts while V8's implementation disagrees 2019-01-15 02:16:03 +00:00
simd-bitcasts.ll [WebAssembly] Add unimplemented-simd128 subtarget feature 2019-01-10 22:32:11 +00:00
simd-build-pair.ll [WebAssembly] Expand BUILD_PAIR nodes 2019-01-28 23:44:31 +00:00
simd-build-vector.ll [WebAssembly] Fix a regression selecting negative build_vector lanes 2019-01-31 23:22:39 +00:00
simd-comparisons.ll [WebAssembly] Add unimplemented-simd128 subtarget feature 2019-01-10 22:32:11 +00:00
simd-conversions.ll [WebAssembly] Add unimplemented-simd128 subtarget feature 2019-01-10 22:32:11 +00:00
simd-ext-load-trunc-store.ll [WebAssembly] Add unimplemented-simd128 subtarget feature 2019-01-10 22:32:11 +00:00
simd-intrinsics.ll [WebAssembly] Add unimplemented-simd128 subtarget feature 2019-01-10 22:32:11 +00:00
simd-load-store-alignment.ll [WebAssembly] Add unimplemented-simd128 subtarget feature 2019-01-10 22:32:11 +00:00
simd-nested-shuffles.ll [WebAssembly] Fix invalid machine instrs in -O0, verify in tests 2018-12-21 06:58:15 +00:00
simd-noopt.ll [WebAssembly][NFC] Elaborate on simd-noopt test comment 2019-01-02 20:43:08 +00:00
simd-offset.ll [WebAssembly] Add unimplemented-simd128 subtarget feature 2019-01-10 22:32:11 +00:00
simd-scalar-to-vector.ll [WebAssembly] Lower SCALAR_TO_VECTOR to splats 2019-01-29 23:44:48 +00:00
simd-select.ll [WebAssembly] Fix select of and (PR40805) 2019-02-23 18:59:01 +00:00
simd-sext-inreg.ll [WebAssembly] Add unimplemented-simd128 subtarget feature 2019-01-10 22:32:11 +00:00
simd-unsupported.ll [WebAssembly] Expand operations not supported by SIMD 2019-03-02 03:32:25 +00:00
simd.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
stack-alignment.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
stack-insts.ll [WebAssembly] Fix assembler parsing of br_table. 2018-12-17 22:04:44 +00:00
store-trunc-atomic.ll [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
store-trunc.ll [WebAssembly] Added default stack-only instruction mode for MC. 2018-08-27 15:45:51 +00:00
store.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
switch.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
tls.ll [WebAssembly] Remove uses of ThreadModel 2019-02-28 18:39:08 +00:00
umulo-128-legalisation-lowering.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
umulo-i64.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
unreachable.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
unsupported-function-bitcasts.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
unused-argument.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
userstack.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
varargs.ll [WebAssembly] Properly align fp128 arguments in outgoing varargs arguments 2019-02-26 05:20:19 +00:00
vector-sdiv.ll [WebAssembly] Convert remaining tests from elf to wasm output format 2018-07-02 16:03:49 +00:00
vtable.ll [WebAssembly] Remove uses of ThreadModel 2019-02-28 18:39:08 +00:00
wasmehprepare.ll [WebAssembly] Improve readability of EH tests 2019-02-26 03:29:59 +00:00