summaryrefslogtreecommitdiff
path: root/auto_update_tests.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix path to wasm-ctor-eval binary used in test codeSam Clegg2017-06-091-2/+2
|
* Exporting/importing debug location information from .wast/.asm.js/.s formats ↵Yury Delendik2017-06-011-0/+4
| | | | | | | | (#1017) * Extends wasm-as, wasm-dis and s2wasm to consume debug locations. * Exports source map from asm2wasm
* Unreachable typing fixes (#1004)Alon Zakai2017-05-091-3/+4
| | | | | | | | | | | | * fix type of drop, set_local, set_global, load, etc: when operand is unreachable, so is the node itself * support binary tests properly in test/passes * fix unreachable typing of blocks with no name and an unreachable child * fix continue emitting in asm2wasm * properly handle emitting of unreachable load
* --no-js-ffi opt to disable JS FFI mangling. (#984)Joel Martin2017-05-011-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Always use scripts.test.shared for bin paths. Update scripts/test/shared.py to add WASM_MERGE relative to build directory. Update auto_update_tests.py to use scripts.test.shared variables for all bin paths. Update check.py to use scripts.test.shared for wasm-merge path (this was missing). This allows check.py and auto_update_tests.py to be run from the source directory using built binaries in a different location. * --no-legalize-javascript-ffi disables JS FFI mangling. For JS/Web platform, calls to JS imports are wrapped to convert i64 to i32 and f32 to f64. Likewise calls from JS into exports do the inverse wrapping. This change provides an option to disable that wrapping and use the original types for the call. Includes tests test/noffi_f32.asm.js and test/noffi_i64.asm.js to make sure neither f32->f64 nor i64->i32 type mangling is happening when --no-legalize-javascript-ffi is specified. To fully disable JS FFI mangling when using emscripten, the fastcomp FFI mangling must also be disabled using the -emscripten-legalize-javascript-ffi=0 flag.
* ctor evaller (#982)Alon Zakai2017-04-281-0/+13
| | | | | Add wasm-ctor-eval, which evaluates functions at compile time - typically static constructor functions - and applies their effects into memory, saving work at startup. If we encounter something we can't evaluate at compile time in our interpreter, stop there. This is similar to ctor_evaller.py in emscripten (which was for asm.js).
* wasm-merge tool (#919)Alon Zakai2017-04-171-0/+20
| | | | wasm-merge tool: combines two wasm files into a larger one, handling collisions, and aware of the dynamic linking conventions. it does not do full static linking, but may eventually.
* New binaryen.js (#922)Alon Zakai2017-03-241-0/+13
| | | New binaryen.js implementation, based on the C API underneath and with a JS-friendly API on top. See docs under docs/ for API details.
* Use 3 modes for potentially trapping ops in asm2wasm (#929)Alon Zakai2017-03-071-4/+6
| | | * use 3 modes for potentially trapping ops in asm2wasm: allow (just emit a potentially trapping op), js (do exactly what js does, even if it takes a slow ffi to do it), and clamp (avoid the trap by clamping as necessary)
* Fix emitting of unreachable block/if/loop (#911)Alon Zakai2017-02-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | * an unreachable block is one with an unreachable child, plus no breaks * document new difference between binaryen IR and wasm * fix relooper missing finalize * add a bunch of tests * don't assume that test/*.wast files print to themselves exactly; print to from.wast. this allows wast tests with comments in them * emit unreachable blocks as (block .. unreachable) unreachable * if without else and unreachable ifTrue is still not unreachable, it should be none * update wasm.js * cleanups * empty blocks have none type
* asm2wasm debuginfo (#895)Alon Zakai2017-02-071-0/+2
| | | | | | | | | | | | * parse file/line comments in asm.js into debug intrinsics * convert debug intrinsics into annotations, and print them * ignore --debuginfo if not emitting text, as wasm binaries don't support that yet * emit full debug info when -g and emitting text; when -g and emitting binary, all we can do is the Names section * update wasm.js
* Improve handling of implicit traps (#898)Alon Zakai2017-02-061-1/+1
| | | | | | | | * add --ignore-implicit-traps option, and by default do not ignore them, to properly preserve semantics * implicit traps can be reordered, but are side effects and should not be removed * add testing for --ignore-implicit-traps
* Read/Write Abstraction (#889)Alon Zakai2017-01-261-1/+1
| | | | | * Added ModuleReader/Writer classes that support text and binary I/O * Use them in wasm-opt and asm2wasm
* Handle stacky code (#868)Alon Zakai2017-01-041-0/+11
| | | | * handle stacky code in binaries, using a block+local
* Refactor check.py so that groups of tests can be split into separate … (#849)jgravelle-google2016-12-061-1/+1
| | | | | | | | | | | | | | * Refactor check.py so that groups of tests can be split into separate files - Move helper util functions into test/shared.py - Move scripts/support.py to test/support.py - Split s2wasm tests into its own file * Fix flake8 warnings for shared.py and s2wasm.py * Move test scripts from test/ to scripts/test/ * Replace 'from shared import *' with explicit imports
* add a --memory-base options to asm2wasm, to fix the memory base instead of ↵Alon Zakai2016-10-311-0/+2
| | | | depending on an import
* support pass test files with -O plus a level, like -O1, -Os, etc.Alon Zakai2016-10-211-1/+1
|
* Add -O0,-O1,etc. options (#790)Alon Zakai2016-10-191-1/+4
| | | | And use them in wasm-opt and asm2wasm consistently and uniformly.
* More wasm-only opts (#727)Alon Zakai2016-10-021-1/+1
| | | | | | * wasm-only loads and stores * wasm-only 32-bit bitcasts
* asm2wasm i64 support (#723)Alon Zakai2016-09-301-0/+2
| | | | | | | | | | | | * support i64 intrinsics from fastcomp, adding --wasm-only flag * refactor callImport logic in asm2wasm to avoid recomputing wasm types again * legalize illegal i64 params in exports and imports * do safe i64 binary ops depending on precision * fix addVar, only assert on names if we are using a name
* Make wasm-as emit the names section/debug info only with -g (#705)Alon Zakai2016-09-261-13/+17
|
* Update s2wasm for 0xc changes (#698)Derek Schuff2016-09-151-6/+2
| | | | | | | | | | | Several updates for s2wasm and its tests: Add explicit drops where they are emitted by LLVM already Convert loops (which are still modeled in the old way by LLVM) to wrap them in an explicit block (for the exit label). This also allows simplifying the loop creation (no need to post-process the implicit block which is the loop's body). After the engines update to 0xc we should update LLVM to model loops in the 0xc way, but for now it remains compatible with 0xb and 0xc. Fix the order of the calls to setTee() when creating tee_locals Add an explicit drop when creating the _start entry function wrapper if needed Update dot_s and llvm_autogenerated tests to remove store-results optimization (and few other minor updates) Fix the test auto-updater to fail if subprocesses fail There still seems to be a validation failure when building libc (I think it's from the stricter drop rules, but it may be in the source rather than the compiler), but this at least makes Binaryen's tests pa
* add asm2wasm option to import a mem init fileAlon Zakai2016-09-071-0/+4
| | | | | | | | apply memory segments only if there isn't a memory initializer (which we need for asmjs and asm2wasm modes) use wasm-opt to check recreated wasts for validity, as wasm-shell would try to execute them add testing for combined modes like asmjs,interpret-binary
* add drop and tee expressionsAlon Zakai2016-09-071-0/+3
|
* wast function type name desugaring is changing in spec:301 (#654)Alon Zakai2016-07-281-0/+18
|
* use with-openAlon Zakai2016-07-131-9/+9
|
* separate wasm-opt out from wasm-shell: opt optimizes, shell runs wast shell ↵Alon Zakai2016-07-131-3/+9
| | | | tests
* rename binaryen-shell to wasm-shellAlon Zakai2016-07-131-3/+3
|
* add a tracing option to the c api, which logs out a runnable program from c ↵Alon Zakai2016-07-121-11/+26
| | | | api calls
* allow passes tests with more than one passAlon Zakai2016-05-251-1/+2
|
* add --no-opt testing to asm2wasmAlon Zakai2016-05-191-9/+13
|
* test fixesAlon Zakai2016-05-131-2/+1
|
* remove wasm2asm stuff from auto_update_testsAlon Zakai2016-05-131-7/+0
|
* Use more static libraries in the CMake build (#451)Derek Schuff2016-05-071-2/+2
| | | | | | | | | | | * Factor passes and emscripten-optimizer into static libs This removes the redundancies from the source sets in the main CMakeLists.txt. * Make passes an object lib * Use static libs with --whole-archive because Travis has old cmake
* Use rpath instead of LD_LIBRARY_PATH for shared object use (#448)Derek Schuff2016-05-061-11/+11
| | | | | | | | Use the -rpath linker flag to locate libbinaryen-c.so instead of injecting paths into the user's LD_LIBRARY_PATH Also Link libsupport and libasmjs into libbinaryen-c Fixes #444
* fix breakage on master from #441 (#445)Alon Zakai2016-05-051-1/+5
|
* Fix LD_LIBRARY_PATH (#441)JF Bastien2016-05-051-1/+1
| | | It needs to be concatenated, not overwritten.
* add optimization to c api, and so that we can find all passes in the c api ↵Alon Zakai2016-05-051-0/+2
| | | | library, make it dynamic
* Harmonize the internal opcodes with the binary format (#433)Alon Zakai2016-05-031-12/+25
| | | | | | * harmonize the internal opcodes with the binary format, so they clearly parallel, and also this helps us avoid needing the type to disambiguate * comment on GetLocal in C API
* disable wasm2asm tests in auto_update_tests.py as well, not just in check.pyAlon Zakai2016-04-181-0/+2
|
* Generate emscripten dynCall thunks in s2wasm (#342)Derek Schuff2016-04-131-1/+1
| | | | | | | | | | | * Generate emscripten dynCall thunks in s2wasm Part of the usual emscripten glue for asm.js is thunks for calling functions on the module given a function pointer; aka a dynCall. This is implemented via thunks generated on the Module called 'dynCall_<signature>'. This gives support to s2wasm to generate these thunks in the wasm module along with other emscripten glue. It also introduces a flag to s2wasm to make generation of emscripten glue optional.
* Properly align the stack pointerDerek Schuff2016-04-061-1/+2
| | | | | | | | | | | | * Properly align the stack pointer By default (if no global base is given) the global base is 1, which seems wrong. In this case the stack pointer gets an address of 1, which is unaligned and definitely wrong. So, start the global base at 0 instead of 1 by default and align the stack pointer. Also factor allocation of statics into a function. * unconditionally allocate stack pointer; explicitly reserve address 0
* add option for imprecise asm2wasm optsAlon Zakai2016-03-201-3/+9
|
* Whitespace removal.Michael2016-02-221-0/+4
|
* Bug fix and adds printing / parsing tests.Michael2016-02-221-0/+9
|
* remove --print-before and --print-after flags, since we now have --printAlon Zakai2016-02-171-1/+1
|
* update auto updaterAlon Zakai2016-02-171-1/+5
|
* add example testcases to auto-updater, and update itAlon Zakai2016-02-171-0/+11
|
* remove wast => wast operation in auto_update_tests.py, as it breaks when the ↵Alon Zakai2016-02-081-9/+0
| | | | spec changes, and remove some unnecessarily big wasts
* auto-update: pass --start when neededJF Bastien2016-02-051-2/+4
|
* add I32ReinterpretF32 in binary format, for nowAlon Zakai2016-01-221-1/+1
|