llvm/test/CodeGen/WebAssembly
Dan Gohman 91f4652a9e [WebAssembly] Add a pass to create wrappers for function bitcasts.
WebAssembly requires caller and callee signatures to match exactly. In LLVM,
there are a variety of circumstances where signatures may be mismatched in
practice, and one can bitcast a function address to another type to call it
as that type. This patch adds a pass which replaces bitcasted function
addresses with wrappers to replace the bitcasts.

This doesn't catch everything, but it does match many common cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291315 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-07 00:34:54 +00:00
..
address-offsets.ll
byval.ll
call.ll
cfg-stackify.ll [CodeGenPrep] Skip merging empty case blocks 2016-12-16 20:38:39 +00:00
cfi.ll
comparisons_f32.ll
comparisons_f64.ll
comparisons_i32.ll
comparisons_i64.ll
conv.ll
copysign-casts.ll
cpus.ll
dbgvalue.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
dead-vreg.ll
divrem-constant.ll
f32.ll
f64.ll
fast-isel-noreg.ll
fast-isel.ll [WebAssembly] Don't old negative load/store offsets in fast-isel. 2016-12-22 15:15:10 +00:00
frem.ll
func.ll
function-bitcasts.ll [WebAssembly] Add a pass to create wrappers for function bitcasts. 2017-01-07 00:34:54 +00:00
global.ll
globl.ll [WebAssembly] Emit .import_global assembler directives 2016-12-01 00:11:15 +00:00
i32-load-store-alignment.ll
i32.ll
i64-load-store-alignment.ll
i64.ll
i128.ll
ident.ll
immediates.ll
implicit-def.ll
indirect-import.ll
inline-asm.ll
irreducible-cfg.ll
legalize.ll
lit.local.cfg
load-ext.ll
load-store-i1.ll
load.ll
lower-em-ehsjlj-options.ll
lower-em-exceptions-whitelist.ll
lower-em-exceptions.ll
lower-em-sjlj.ll
mem-intrinsics.ll
memory-addr32.ll
negative-base-reg.ll
non-executable-stack.ll
offset-folding.ll
offset.ll
phi.ll
reg-stackify.ll
return-int32.ll
return-void.ll
returned.ll
select.ll
signext-zeroext.ll
simd-arith.ll
stack-alignment.ll
store-trunc.ll
store.ll
switch.ll
unreachable.ll
unused-argument.ll
userstack.ll
varargs.ll
vtable.ll