llvm-project/llvm/test/CodeGen/WebAssembly
Heejin Ahn 78d1910891 [WebAssembly] Restore __stack_pointer after catch instructions
Summary:
After the stack is unwound due to a thrown exception, the
`__stack_pointer` global can point to an invalid address. This inserts
instructions that restore `__stack_pointer` global.

Reviewers: jgravelle-google, dschuff

Subscribers: mgorny, sbc100, sunfish, llvm-commits

Differential Revision: https://reviews.llvm.org/D50980

llvm-svn: 340339
2018-08-21 21:23:07 +00:00
..
add-prototypes.ll [WebAssembly] Add pass to infer prototypes for prototype-less functions 2018-07-11 04:29:36 +00:00
address-offsets.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
atomic-mem-consistency.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
atomic-rmw.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
byval.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
call.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
cfg-stackify-eh.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
cfg-stackify-eh.mir [WebAssembly] CFG stackify support for exception handling 2018-08-16 23:50:59 +00:00
cfg-stackify.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
cfi.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
comparisons_f32.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
comparisons_f64.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
comparisons_i32.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
comparisons_i64.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
conv-trap.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
conv.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
copysign-casts.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +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 [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +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 [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
divrem-constant.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
exception.ll [WebAssembly] Restore __stack_pointer after catch instructions 2018-08-21 21:23:07 +00:00
explicit-locals.mir Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
f16.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
f32.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
f64.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
fast-isel-br-i1.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
fast-isel-i24.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
fast-isel-i256.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
fast-isel-noreg.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
fast-isel.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
frem.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
func.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
function-bitcasts-varargs.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
function-bitcasts.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
global.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +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 Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
i32.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
i64-load-store-alignment.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
i64.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
i128-returned.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
i128.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
ident.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
immediates.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
implicit-def.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
import-module.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
indirect-import.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
inline-asm-m.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
inline-asm.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
irreducible-cfg.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
legalize.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
libcalls.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
lit.local.cfg
load-ext-atomic.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
load-ext.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
load-store-i1.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
load.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
lower-em-ehsjlj-options.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +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] Update WebAssemblyLowerEmscriptenEHSjLj to handle separate compilation 2018-07-17 16:40:03 +00:00
lower-em-sjlj.ll [WebAssembly] Update WebAssemblyLowerEmscriptenEHSjLj to handle separate compilation 2018-07-17 16:40:03 +00:00
lower-global-dtors.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
main-declaration.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
main.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
mem-intrinsics.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
memory-addr32.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
muloti4.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
negative-base-reg.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +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
offset-atomics.ll [WebAssembly] Revert type of wake count in atomic.wake to i32 2018-08-20 23:49:29 +00:00
offset-fastisel.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
offset-folding.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
offset.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
phi.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
reg-stackify.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
return-int32.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
return-void.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
returned.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
select.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
signext-arg.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
signext-inreg.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
signext-zeroext.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
simd-arith.ll [WebAssembly] SIMD encoding tests 2018-08-14 19:10:50 +00:00
simd.ll [WebAssembly] v128.const 2018-08-21 21:03:18 +00:00
stack-alignment.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
store-trunc-atomic.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
store-trunc.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
store.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
switch.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
tls.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
umulo-128-legalisation-lowering.ll [SelectionDAG] Improve the legalisation lowering of UMULO. 2018-08-16 18:39:39 +00:00
umulo-i64.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
unreachable.ll [WebAsembly] Update default triple in test files to wasm32-unknown-unkown. 2018-05-10 17:49:11 +00:00
unsupported-function-bitcasts.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
unused-argument.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
userstack.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
varargs.ll Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +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 Revert "[WebAssembly] Added default stack-only instruction mode for MC." 2018-08-13 23:12:49 +00:00
wasmehprepare.ll [WebAssembly] Add Wasm exception handling prepare pass 2018-05-31 22:02:34 +00:00