llvm-project/llvm/test/CodeGen/WebAssembly
Sam Clegg bafe69026d [WebAssembly] Implement @llvm.global_ctors and @llvm.global_dtors
Summary:
- lowers @llvm.global_dtors by adding @llvm.global_ctors
  functions which register the destructors with `__cxa_atexit`.
- impements @llvm.global_ctors with wasm start functions and linker metadata

See [here](https://github.com/WebAssembly/tool-conventions/issues/25) for more background.

Subscribers: jfb, dschuff, mgorny, jgravelle-google, aheejin, sunfish

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

llvm-svn: 320774
2017-12-15 00:17:10 +00:00
..
address-offsets.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
byval.ll [WebAssembly] Use __stack_pointer global when writing wasm binary 2017-06-16 23:59:10 +00:00
call.ll [WebAssembly] Reapply r319186: "Support bitcasted function addresses with varargs." 2017-12-08 21:27:00 +00:00
cfg-stackify.ll [WebAssembly] Update cfg-stackify.ll to remove the workaround added in r318288. 2017-11-15 21:38:33 +00:00
cfi.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
comdat.ll Use input redirection in WebAssembly/comdat.ll test. 2017-11-14 14:26:42 +00:00
comparisons_f32.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
comparisons_f64.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
comparisons_i32.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
comparisons_i64.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
conv-trap.ll [WebAssembly] Fix fptoui lowering bounds 2017-11-29 20:20:11 +00:00
conv.ll [WebAssembly] Fix trapping behavior in fptosi/fptoui. 2017-11-28 01:13:40 +00:00
copysign-casts.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
cpus.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
dbgvalue.ll [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
dead-vreg.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
divrem-constant.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
exception.ll [WebAssembly] Add support for exception handling instructions 2017-06-30 00:43:15 +00:00
f16.ll [WebAssembly] Handle f16 in fast-isel. 2017-02-24 21:05:35 +00:00
f32.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
f64.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
fast-isel-noreg.ll [WebAssembly] Handle errors better in fast-isel. 2017-11-28 05:36:42 +00:00
fast-isel.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
frem.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
func.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
function-bitcasts-varargs.ll [WebAssembly] Reapply r319186: "Support bitcasted function addresses with varargs." 2017-12-08 21:27:00 +00:00
function-bitcasts.ll [WebAssembly] Reapply r319186: "Support bitcasted function addresses with varargs." 2017-12-08 21:27:00 +00:00
global.ll [WebAssembly] Don't try to emit size information for unsized types 2017-12-07 00:14:30 +00:00
globl.ll [WebAssembly] Don't emit .import_global for the wasm target. 2017-12-05 17:21:57 +00:00
i32-load-store-alignment.ll [WebAssembly] Add the rest of the atomic loads 2017-10-05 21:18:42 +00:00
i32.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
i64-load-store-alignment.ll [WebAssembly] Add the rest of the atomic loads 2017-10-05 21:18:42 +00:00
i64.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
i128.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
ident.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
immediates.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
implicit-def.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
indirect-import.ll [wasm] Update two tests for r308025 which causes scheduling changes due 2017-07-15 15:44:36 +00:00
inline-asm-m.ll [WebAssembly] Add a test for inline-asm "m" constraints. 2017-11-08 19:37:24 +00:00
inline-asm.ll [WebAssembly] Revise the strategy for inline asm. 2017-11-08 19:18:08 +00:00
irreducible-cfg.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
legalize.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
lit.local.cfg
load-ext-atomic.ll [WebAssembly] Add the rest of the atomic loads 2017-10-05 21:18:42 +00:00
load-ext.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
load-store-i1.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
load.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
lower-em-ehsjlj-options.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
lower-em-exceptions-whitelist.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
lower-em-exceptions.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
lower-em-sjlj.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
lower-global-dtors.ll [WebAssembly] Implement @llvm.global_ctors and @llvm.global_dtors 2017-12-15 00:17:10 +00:00
main-declaration.ll [WebAssemby] Re-apply r320041: "Support main functions with alternate signatures." 2017-12-08 21:18:21 +00:00
main.ll [WebAssemby] Re-apply r320041: "Support main functions with alternate signatures." 2017-12-08 21:18:21 +00:00
mem-intrinsics.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
memory-addr32.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
negative-base-reg.ll [wasm] Fix test after r304117. 2017-05-29 16:32:52 +00:00
non-executable-stack.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
offset-atomics.ll [WebAssembly] Add the rest of the atomic loads 2017-10-05 21:18:42 +00:00
offset-fastisel.ll [WebAssembly] WebAssemblyFastISel getelementptr variable index support 2017-06-22 21:26:08 +00:00
offset-folding.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
offset.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
phi.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
reg-stackify.ll [WebAssembly] Remove infinite loop from reg-stackify test 2017-08-16 00:49:44 +00:00
return-int32.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
return-void.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
returned.ll [WebAssembly] Fix WebAssemblyOptimizeReturned after r300367 2017-04-17 21:40:28 +00:00
select.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
signext-arg.ll [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
signext-inreg.ll [WebAssembly] Add sign extend instructions from atomics proposal 2017-09-13 00:29:06 +00:00
signext-zeroext.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
simd-arith.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
stack-alignment.ll [WebAssembly] Remove WASM_STACK_POINTER. 2017-12-06 20:56:40 +00:00
store-trunc.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
store.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
switch.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
umulo-i64.ll [WebAssembly] Fix stack offsets of return values from call lowering. 2017-11-10 16:26:04 +00:00
unreachable.ll [WebAssembly] Basic support for Wasm object file encoding. 2017-02-24 23:18:00 +00:00
unsupported-function-bitcasts.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
unused-argument.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
userstack.ll Revert r308273 to reinstate part of r308100. 2017-07-19 04:15:30 +00:00
varargs.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00
vtable.ll [WebAssembly] Convert the remaining unit tests to the new wasm-object-file target. 2017-02-28 23:37:04 +00:00