summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* sort locals by number of total copiesAlon Zakai2016-09-1012-12094/+12000
|
* take into account removed copies even when number of locals is the same, in ↵Alon Zakai2016-09-099-6768/+6754
| | | | coalesce-locals
* optimize loop endings in RemoveUnusedBrsAlon Zakai2016-09-0910-6716/+6693
| | | | | * rotate an if near the end of a loop as it can let a break out flow naturally and be removable * turn a br_if into an if it allows such an optimization in cases where it helps remove other structures
* enable udivmoddi4 opts in asm2wasmAlon Zakai2016-09-084-4403/+144
|
* autodrop if body if no elseAlon Zakai2016-09-0719-283/+438
|
* properly handle blocks with return values in vacuum - we cannot remove their ↵Alon Zakai2016-09-074-8/+17
| | | | final value directly, we can only do that if it is dropped, from the drop
* vacuum drops betterAlon Zakai2016-09-076-114/+117
|
* do a first pass in SimplifyLocals that focuses on single-use localsAlon Zakai2016-09-072-5082/+4776
|
* add a testAlon Zakai2016-09-075-1/+37
|
* flip select-eqz when possibleAlon Zakai2016-09-078-262/+220
|
* optimize out a set of a get of a globalAlon Zakai2016-09-074-18/+0
|
* track globals in EffectAnalyzerAlon Zakai2016-09-077-304/+433
|
* optimize loads+shifts into signed loadsAlon Zakai2016-09-077-428/+464
|
* optimize out eqz^2Alon Zakai2016-09-074-588/+304
|
* use eqz as an optimizationAlon Zakai2016-09-0710-4357/+3682
|
* new validation checks for upcoming spec testsAlon Zakai2016-09-075-51/+51
|
* new export syntax in spec repoAlon Zakai2016-09-0740-283/+283
|
* new import syntax in spec repoAlon Zakai2016-09-0743-475/+475
|
* re-enable spec testsAlon Zakai2016-09-071-0/+0
|
* Add a ReFinalize helper, and use that to properly handle asm.js imports ↵Alon Zakai2016-09-075-56/+210
| | | | whose return value is polymorphic
* support HEAP8[x | 0| notation in asm2wasmAlon Zakai2016-09-075-0/+29
|
* import memoryBase and tableBaseAlon Zakai2016-09-0732-16/+72
|
* import tableAlon Zakai2016-09-0732-0/+32
|
* import memory #684Alon Zakai2016-09-0732-32/+32
|
* update empty.fromast test outputAlon Zakai2016-09-071-0/+2
|
* add asm2wasm option to import a mem init fileAlon Zakai2016-09-077-0/+14
| | | | | | | | 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
* do a little more optimization at the end of asm2wasm processingAlon Zakai2016-09-076-136/+68
|
* sink a drop into a single if armAlon Zakai2016-09-074-34/+63
|
* autodrop must be run before we optimize in asm2wasm, as otherwise its input ↵Alon Zakai2016-09-074-76/+102
| | | | | | is not yet valid then after finalizeCalls, we must autodrop again to drop things that finalizeCalls changed
* don't simplify locals out of loops if they contain branching, as it may ↵Alon Zakai2016-09-072-0/+49
| | | | invalidate the branch
* when replacing an if with its condition (when it has no body), we must drop itAlon Zakai2016-09-075-0/+77
|
* add a test for loop finalizationAlon Zakai2016-09-075-0/+108
|
* run vacuum again after autodrop in asm2wasm, if optimizingAlon Zakai2016-09-076-130/+430
|
* handle asm.js globals that are set and the return value usedAlon Zakai2016-09-071-0/+11
|
* fix AutoDrop block handling - the block type might change as we modify its ↵Alon Zakai2016-09-074-168/+128
| | | | contents
* set type of calls to their target, instead of the previous behavior where ↵Alon Zakai2016-09-075-0/+106
| | | | the asm.js context informed us. this lets us add drops where necessary
* use globals in asm2wasmAlon Zakai2016-09-0720-2762/+1450
|
* export kindsAlon Zakai2016-09-0732-35/+35
|
* add a drop for final elements in blocks if they are not usedAlon Zakai2016-09-078-124/+196
|
* update testsAlon Zakai2016-09-071-4/+4
|
* don't depend on order of operations in calls, it varies by compilerAlon Zakai2016-09-0712-1416/+1416
|
* select values must be validAlon Zakai2016-09-071-16/+16
|
* move drop into blocks, dropping all the breaks as well, when possibleAlon Zakai2016-09-071-274/+224
|
* loops no longer have an out label and other upstream loop updatesAlon Zakai2016-09-0738-40507/+41619
|
* call_indirect now has the target at the endAlon Zakai2016-09-0722-302/+303
|
* add drop and tee expressionsAlon Zakai2016-09-0783-11054/+16397
|
* remove lower-if-else, as it's no longer neededAlon Zakai2016-09-072-71/+0
|
* Improvements to build-js.sh and JS API (#679)Rasmus2016-09-022-0/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Adds command-line argument to build-js.sh for specifying the location of Emscripten. Also spreads out program arguments on separate lines * Exposes WasmBinaryWriter and BufferWithRandomAccess in the JS API to allow writing WASM modules and access the produced bytes via the JS API * Updates bin/binaryen.js and bin/wasm.js from changes to build-js.sh * Adds exclude patterns to .gitignore for some files generated by build-js.sh and .DS_Store for macOS * Changes build-js.sh to use EMSCRIPTEN env var instead of a command-line argument to provide the path to emscripten * Improvements to JS builds - Adds -g flag to build-js.sh that will build unoptimized and unmangled versions of binaryen.js and wasm.js (output has a "-g.js" suffix to allow co-existence with regular optimized builds). - Enables closure compiler for non-debug builds - Adds browser test for s-expression parser + WASM code gen (requires wasm to be enabled in the browser.) - Adds iterator interface to BufferWithRandomAccess (when Symbol.iterator is available) - Adds toArrayBuffer to BufferWithRandomAccess (when TypedArray is available) - Adds compileWast(sourceText :string) :ArrayBuffer to the module, parsing & compiling s-expression code to a WASM module - Changes the way binaryen.js is exported to allow usage in CommonJS, AMD and UMD envionments. * Expose "Binaryen" global in a better way to work with a.js generated by check.py * Fix to binaryen.js to only export a global variable when running the test (a.js) while inside a module (avoids polluting global in e.g. nodejs). Also fixes a spelling mistake. * Better "no WASM detected" message in test/binaryen.js/browser.html * Small change to error message in build-js.sh where $EMSCRIPTEN does not point to a directory * Changes emcc args in build-js.sh after investingating a large number of argument combinations. Also adds a browser benchmark. The result of emcc arguments and the effect on performance is summarized in this doc: https://gist.github.com/rsms/e33c61a25a31c08260161a087be03169 * Enable inferring emscripten path by looking in PATH when EMSCRIPTEN is not set in env
* Update waterfall build to 10372 (#689)Derek Schuff2016-08-31464-38736/+41076
| | | | | | | This brings in LLVM changes up to r28025, which includes a fix for PR29127 and includes disabling the store-result optimization. * remove extraneous wasm-interpreter.h change
* asm.js-style setjmp/longjmp handling for wasm: add handling foraheejin2016-08-302-12/+24
| | | | emscripten_longjmp_jmpbuf name