add missing description
This commit is contained in:
parent
ce64fad448
commit
79b14950be
23
README.md
23
README.md
|
@ -1,3 +1,24 @@
|
|||
# binaryen
|
||||
|
||||
Binaryen is a compiler and toolchain infrastructure library for WebAssembly,
|
||||
Binaryen is a compiler and toolchain infrastructure library for WebAssembly,
|
||||
written in C++. It aims to make compiling to WebAssembly easy, fast, and
|
||||
effective:
|
||||
|
||||
* Easy: Binaryen has a simple C API in a single header, and can also be used
|
||||
from JavaScript. It accepts input in WebAssembly-like form but also accepts
|
||||
a general control flow graph for compilers that prefer that.
|
||||
|
||||
* Fast: Binaryen's internal IR uses compact data structures and is designed for
|
||||
completely parallel codegen and optimization, using all available CPU cores.
|
||||
Binaryen's IR also compiles down to WebAssembly extremely easily and quickly
|
||||
because it is essentially a subset of WebAssembly.
|
||||
|
||||
* Effective: Binaryen's optimizer has many passes that can improve code very
|
||||
significantly (e.g. local coloring to coalesce local variables; dead code
|
||||
elimination; precomputing expressions when possible at compile time; etc.).
|
||||
These optimizations aim to make Binaryen powerful enough to be used as a
|
||||
compiler backend by itself. One specific area of focus is on
|
||||
WebAssembly-specific optimizations (that general-purpose compilers might not
|
||||
do), which you can think of as wasm minification , similar to minification for
|
||||
JavaScript, CSS, etc., all of which are language-specific (an example of such
|
||||
an optimization is block return value generation in SimplifyLocals).
|
||||
|
|
Loading…
Reference in New Issue