1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/CodeGen/WebAssembly
Heejin Ahn 01f5818544 Fix __clang_call_termiante's argument for foreign exceptions
Summary:
When exceptions are repeatedly thrown in the middle of handling another
exception, we call `__clang_call_terminate` with the exception pointer
(i32) as an argument. But in case of foreign exceptions, we don't have
the pointer, so we call the function with 0. (This requires
`__clang_call_terminate` can deal with 0 argument, which will be done
later)

But previously the 0 argument was not added as a `i32.const 0` but an
immediate by mistake, causing the `call` instruction to take not an i32
but rather an exnref, because an `exnref` is left on top of the value
stack if `br_on_exn` is not taken.

```
block i32
  br_on_exn 0, __cpp_exception
                               ;; exnref is on top of stack now
  i32.const 0                  ;; This was missing!
  call __clang_call_terminate
  unreachable
end
call __clang_call_terminate    ;; This takes i32 extracted by br_on_exn
```

Reviewers: dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, llvm-commits

Tags: #llvm

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

llvm-svn: 368527
2019-08-11 06:24:07 +00:00
..
add-prototypes-conflict.ll [WebAssembly] Fix a typo in a test file name 2019-07-09 01:21:04 +00:00
add-prototypes.ll [WebAssembly] Make sret parameter work with AddMissingPrototypes 2019-07-09 02:10:33 +00:00
address-offsets.ll [WebAssembly] Limit PIC support to the Emscripten target 2019-06-05 20:01:01 +00:00
atomic-fence.ll [WebAssembly] Support for atomic fences 2019-05-28 22:09:12 +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] Use named operands to identify loads and stores 2019-03-09 04:31:37 +00:00
byval.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
call-pic.ll [WebAssembly] Limit PIC support to the Emscripten target 2019-06-05 20:01:01 +00:00
call.ll [WebAssembly] Implement tail calls and unify tablegen call classes 2019-06-26 16:17:15 +00:00
cfg-stackify-dbg-skip.ll [WebAssembly] Run ExplicitLocals pass after CFGStackify 2019-03-30 09:29:57 +00:00
cfg-stackify-dbg.mir [WebAssembly] Handle END_LOOP in unreachable BB in CFGStackify 2019-03-29 19:36:51 +00:00
cfg-stackify-eh.ll [WebAssembly] Fix unwind destination mismatches in CFG stackify 2019-03-30 11:04:48 +00:00
cfg-stackify.ll [WebAssembly] Emit br_table for most switch instructions 2019-04-23 21:30:30 +00:00
cfi.ll
clear-cache.ll [WebAssembly] Print error message for llvm.clear_cache intrinsic 2019-07-11 05:55:47 +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] Disable MachineBlockPlacement pass 2019-03-05 20:35:34 +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
custom-sections.ll [WebAssembly] Add languages from debug info to producers section 2019-01-18 02:47:48 +00:00
dbgvalue.ll
dead-vreg.ll
divrem-constant.ll
eh-labels.mir [WebAssembly] Place 'try' and 'catch' correctly wrt EH_LABELs 2019-03-13 00:37:31 +00:00
eh-lsda.ll
exception.ll Fix __clang_call_termiante's argument for foreign exceptions 2019-08-11 06:24:07 +00:00
explicit-locals.mir
f16.ll [WebAssembly] Support f16 libcalls 2019-04-30 19:17:59 +00:00
f32.ll [SelectionDAG] Do minnum->minimum at legalization time instead of building time 2019-07-01 11:00:23 +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
fast-isel-i24.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
fast-isel-i256.ll
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
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
function-info.mir [WebAssembly] Add CFGStacikfied field to WebAssemblyFunctionInfo 2019-03-26 17:46:14 +00:00
global_dtors.ll [WebAssembly] Fix crash when @llvm.global_dtors is external 2019-03-01 00:12:13 +00:00
global.ll [WebAssembly] Remove uses of ThreadModel 2019-02-28 18:39:08 +00:00
globl.ll
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
i128.ll [WebAssembly] Update CodeGen test expectations after rL354697. NFC 2019-02-23 00:07:39 +00:00
ident.ll
immediates.ll
implicit-def.ll [WebAssembly] Disable MachineBlockPlacement pass 2019-03-05 20:35:34 +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
indirectbr.ll [WebAssembly] Enable IndirectBrExpandPass 2019-07-03 23:54:06 +00:00
inline-asm-m.ll
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
inlineasm-output-template.ll [AsmPrinter] refactor to support %c w/ GlobalAddress' 2019-04-26 18:45:04 +00:00
irreducible-cfg-exceptions.ll [WebAssembly] Improve readability of irreducibility tests 2019-03-19 05:10:39 +00:00
irreducible-cfg.ll [WebAssembly] Optimize the number of routing blocks in FixIrreducibleCFG 2019-03-30 01:31:11 +00:00
irreducible-cfg.mir [WebAssembly] Optimize the number of routing blocks in FixIrreducibleCFG 2019-03-30 01:31:11 +00:00
legalize.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
libcalls.ll [WebAssembly] Expand more SIMD float ops 2019-05-24 00:15:04 +00:00
lit.local.cfg
llround-conv-i32.ll [WebAssembly] Add the signature for the new llround builtin function 2019-05-21 23:06:34 +00:00
load-ext-atomic.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
load-ext.ll
load-store-i1.ll
load-store-pic.ll [WebAssembly] Limit PIC support to the Emscripten target 2019-06-05 20:01:01 +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 [WebAssembly] Fix conflict between ret legalization and sjlj 2019-08-05 21:36:09 +00:00
lower-em-exceptions.ll [WebAssembly] Fix conflict between ret legalization and sjlj 2019-08-05 21:36:09 +00:00
lower-em-sjlj-longjmp-only.ll
lower-em-sjlj-sret.ll [WebAssembly] Fix conflict between ret legalization and sjlj 2019-08-05 21:36:09 +00:00
lower-em-sjlj.ll [WebAssembly] Fix conflict between ret legalization and sjlj 2019-08-05 21:36:09 +00:00
lower-global-dtors.ll [WebAssembly] Disable MachineBlockPlacement pass 2019-03-05 20:35:34 +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
multivalue.ll [WebAssembly] Add multivalue and tail-call target features 2019-05-23 17:26:47 +00:00
mutable-globals.ll [WebAssembly] Add mutable globals feature 2019-03-29 22:00:18 +00:00
negative-base-reg.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
non-executable-stack.ll
null-streamer.ll
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
offset.ll
phi.ll [WebAssembly] Make LBB markers not affected by test order 2019-04-23 21:17:03 +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
PR41149.ll [SelectionDAG] Add scalarization of ABS node (PR41149) 2019-03-21 11:18:54 +00:00
PR41841.ll [WebAssembly] Don't assume that zext/sext result is i32/i64 in fast isel (PR41841) 2019-05-13 19:40:18 +00:00
reg-argument.mir [WebAssembly] Add missing utility methods for exnref type 2019-07-15 23:04:00 +00:00
reg-copy.mir [WebAssembly] Add missing utility methods for exnref type 2019-07-15 23:04:00 +00:00
reg-stackify.ll [WebAssembly] Assembler/InstPrinter: support call_indirect type index. 2019-08-01 18:08:26 +00:00
return-address-emscripten.ll [WebAssembly] Implement __builtin_return_address for emscripten 2019-05-23 01:24:01 +00:00
return-address-unknown.ll [WebAssembly] Implement __builtin_return_address for emscripten 2019-05-23 01:24:01 +00:00
return-int32.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
return-void.ll
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 [TargetLowering] SimplifyDemandedBits - call SimplifyMultipleUseDemandedBits for ISD::EXTRACT_VECTOR_ELT 2019-08-08 10:37: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] Lower SIMD nnan setcc nodes 2019-03-19 00:55:34 +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-extended-extract.ll [TargetLowering] SimplifyDemandedBits - call SimplifyMultipleUseDemandedBits for ISD::EXTRACT_VECTOR_ELT 2019-08-08 10:37:03 +00:00
simd-illegal-signext.ll [WebAssembly] Implement ReplaceNodeResults to fix a SIMD crash 2019-05-23 18:09:26 +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
simd-noopt.ll
simd-offset.ll [WebAssembly] Add unimplemented-simd128 subtarget feature 2019-01-10 22:32:11 +00:00
simd-reductions.ll [WebAssembly] Optimize ISel for SIMD Boolean reductions 2019-06-19 00:02:13 +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 more SIMD float ops 2019-05-24 00:15:04 +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
stack-protector.ll [WebAssembly] Define the signature for __stack_chk_fail 2019-04-29 21:09:44 +00:00
store-trunc-atomic.ll
store-trunc.ll
store.ll [WebAssembly] Massive instruction renaming 2019-01-08 06:25:55 +00:00
switch.ll [WebAssembly] Make LBB markers not affected by test order 2019-04-23 21:17:03 +00:00
tailcall.ll [WebAssembly] Do not emit tail calls with return type mismatch 2019-07-30 18:08:39 +00:00
target-features-tls.ll [WebAssembly] Implement thread-local storage (local-exec model) 2019-07-16 22:00:45 +00:00
target-features.ll [WebAssembly] Remove fptosi(undef) and fptoui(undef) from reduced test case. 2019-06-03 16:21:58 +00:00
tls-general-dynamic.ll [WebAssembly] Compute and export TLS block alignment 2019-07-19 23:34:16 +00:00
tls-local-exec.ll [WebAssembly] Compile all TLS on Emscripten as local-exec 2019-07-16 22:22: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
vtable.ll [WebAssembly] Remove uses of ThreadModel 2019-02-28 18:39:08 +00:00
wasmehprepare.ll [WebAssembly] Add immarg attribute to intrinsics 2019-03-19 05:02:30 +00:00