summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Change print order of top-level module components (#751)Derek Schuff2016-10-07152-676/+602
| | | | | | | | In wast files, the spec and WABT require imports to appear before any non-import definitions (see also https://github.com/WebAssembly/wabt/issues/152). This patch re-orders visitModule in the wast printer to meet this requirement, and more or less match the order of the binary sections. Also remove extraneous whitespace around table definitions.
* Require unique names in binaryen IR (#746)Alon Zakai2016-10-0627-3674/+3670
|
* Dot s block signatures (#747)jgravelle-google2016-10-061254-4217/+4420
| | | | | | | | | | * Support block signatures in s2wasm's .s format * Autogenerate tests * update cfg-stackify tests * Remove conflict files
* Update for removal of loop's bottom label from LLVM (#750)Derek Schuff2016-10-061249-5418/+5651
| | | | Corresponds to LLVM change https://reviews.llvm.org/D25122, r283502
* Update s2wasm for removal of store results (#749)Derek Schuff2016-10-061298-11549/+12279
| | | | Corresponds to LLVM change https://reviews.llvm.org/D25122
* Remove hard-coded paths from LLVM test auto-generator (#748)Derek Schuff2016-10-061-6/+11
| | | | Use the command-line instead. Also update the blacklist to handle new tests.
* DCE bugfix (#736)Alon Zakai2016-10-044-0/+94
| | | | | * fix a dce bug where it is invalid to truncate a block if it leaves a final element with a bad type (wasm doesn't always allow removing unreachable code) * add wast pass fuzzer
* handle ifs with an i64 condition #741 (#742)Alon Zakai2016-10-044-4/+12
|
* Update i64 stores for 0xc (#731)jgravelle-google2016-10-046-9/+26
| | | | | | | | | | * Update i64 stores for 0xc * Update autogenerated LLVM tests * Update known torture test failures * Add i64.store32 test to unit.wast
* don't create an unnecessary duplicate block in asm2wasm switches, when there ↵Alon Zakai2016-10-038-9876/+9836
| | | | isn't a default (#734)
* wasm-only additions: i32.cttz, copysign, popcnt (#729)Alon Zakai2016-10-025-1/+88
|
* fix vacuum big where we changed an unreachable node to a nop (#728)Alon Zakai2016-10-022-0/+19
|
* More wasm-only opts (#727)Alon Zakai2016-10-025-34/+757
| | | | | | * wasm-only loads and stores * wasm-only 32-bit bitcasts
* asm2wasm i64 support (#723)Alon Zakai2016-09-3010-0/+1960
| | | | | | | | | | | | * 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 the linker always create a table segment (#722)Derek Schuff2016-09-3071-3/+141
| | | | | | | Previously a table was only created if there were any address-taken functions. New module validation rules require the existence of a table for any call-indirects to validate (even if they are dead and never called). However this use case seems common enough that we might want to make it continue to work. So the linker now always creates an empty table segment (indicating an empty table).
* validate drop (#712)Alon Zakai2016-09-302-10/+12
|
* Update waterfall to 11453 and re-enable torture tests (#721)Derek Schuff2016-09-29105-7075/+6538
| | | | | | | | Torture tests from the clang were disabled with the first 0xc udpate. This PR updates the tests to a new waterfall build and turns them on (also updating the known failures for 0xc). It also updates the download URL since mac and windows bots have been added to the waterfall (they are not up yet and support in this script is not tested yet).
* Print the name of memory along with size (#720)Derek Schuff2016-09-28150-234/+234
| | | | | Otherwise when we export it as "$0" it's an undefined name. The spec interpreter actually rejects this, although I think it's intended to work, given the tests in export.wast. wabt also accepts it.
* fix signed int64 LEB bug with large negative values (#719)Alon Zakai2016-09-283-0/+12
|
* s2wasm: Do not add drops for void values (#718)Derek Schuff2016-09-2832-3968/+3072
| | | Fixes #708
* Type check block/loop/if sigs (#717)Alon Zakai2016-09-2834-758/+770
| | | | | | * type check using block/loop/if types provided in text and binary formats. * print if and loop sigs which were missing. * remove dsl from OptimizeInstructions as after those changes it needs rethinking.
* Update binary encoding for block, loop, and if signatures (#711)Derek Schuff2016-09-277-11/+11
| | | | | | Also updates the tests and has a few other changes for binary 0xc: Update nop/unrechable opcodes Fix for "name" section
* Make wasm-as emit the names section/debug info only with -g (#705)Alon Zakai2016-09-265-0/+1205
|
* precompute breaks and returns (#715)Alon Zakai2016-09-254-1/+240
|
* optimize if(const)Alon Zakai2016-09-2411-167/+81
|
* precompute void expressions tooAlon Zakai2016-09-2410-96/+45
|
* fix a simplify-locals bug where we didn't notice and if already had a result ↵Alon Zakai2016-09-232-0/+55
| | | | value
* replace two drops in an if-else with one on the ifAlon Zakai2016-09-237-0/+100
|
* autoDrop fixAlon Zakai2016-09-237-59/+136
|
* update spec tests and check.py's handling of themAlon Zakai2016-09-211-0/+0
|
* new if label behaviorAlon Zakai2016-09-211-8/+8
|
* refactor wasm.h to remove numericIndex hacks, and move indexing to the parsersAlon Zakai2016-09-218-12/+12
|
* memory and table printing fixesAlon Zakai2016-09-2032-112/+64
|
* globals mutability fixesAlon Zakai2016-09-1920-400/+500
|
* parsing and validation fixesAlon Zakai2016-09-174-7/+14
|
* br_if returns its valueAlon Zakai2016-09-1612-97/+139
|
* block signaturesAlon Zakai2016-09-1629-458/+458
|
* call_import changes: no more call_import, shared index space with functionsAlon Zakai2016-09-1656-1979/+1979
|
* handle getTempRet0 having extra code, which can happen in emterpreter ↵Alon Zakai2016-09-155-1/+43
| | | | assertions mode
* fix remove-unused-brs bug when checking if it is safe to conditionalize codeAlon Zakai2016-09-152-0/+65
|
* Update s2wasm for 0xc changes (#698)Derek Schuff2016-09-1593-6657/+7164
| | | | | | | | | | | 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
* when optimizing a block return value, replacing the sunk set with the value ↵Alon Zakai2016-09-142-18/+75
| | | | is only possible if the break is unconditional; if it is condition, we must tee the value so that if the break condition is false and we do not jump, then we have the new value in the local on the line after it
* avoid threading jumps when there is irreducible control flow, as it is hard ↵Alon Zakai2016-09-142-2552/+2766
| | | | to know if it is safe to do so
* drop if-else arms as necessaryAlon Zakai2016-09-135-8/+133
|
* update br type when turning it into a br_if in remove-unused-brsAlon Zakai2016-09-135-0/+107
|
* fix bug with turning if into br_if without checking for reordering dangersAlon Zakai2016-09-124-20/+167
|
* simple jump threadingAlon Zakai2016-09-126-6987/+7005
|
* thread relooper jumpsAlon Zakai2016-09-127-17351/+16837
|
* remove final elements in vacuum carefully: we must preserve a return value ↵Alon Zakai2016-09-112-0/+75
| | | | if there is one
* run another optimize-expressions at the end of asm2wasmAlon Zakai2016-09-107-32/+209
|