@sdeleuze, interesting perspective. Why do you think LLVM is not a good fit for Wasm? And what makes Wasm a significantly faster target to compile to compared to native binary?
02/17/2019, 8:14 AM
From the discussion we had with Luke Wagner from Mozilla, LLVM is not suitable for WebAssembly GC. Also using a toolchain that has been designed to generate native code for all the various platform where WebAssembly is a kind of universal target make little sense, even if LLVM provide various optimization, so using it was a kind of transition step.
https://github.com/WebAssembly/binaryen/ is designed for WebAssembly, Binaryen's IR is close to WebAssembly, it is designed for completely parallel codegen and optimization, using all available CPU cores. It will be updated to support WebAssembly GC when available.
On WebAssembly performance itself, interpretors like Cranelift are doing great progress, concurrency and shared data structure are coming, even if there is still room for better optimization (see http://troubles.md/posts/wasm-is-not-a-stack-machine/).