The project is still ongoing: https://github.com/ewasm/evm2wasm
WASM seems more secure, also, webassembly is backed by Google, Apple and Microsoft, the community is also active, it's gonna be a widely used platform. So embrace WASM will be a really good choice.
I'm also looking for the benchmark ...
The Webassembly(wasm) gives you more compatibility, portability, optimization than LLVM IR.
wasm makes transactions faster and thus creates a better environment for smart contracts(It allows you to write contracts in any LLVM languages that's the reason for moving forward from EVM to eWASM)
1) by default the IR is not portable >> the same program ...
Actually the solidity compiler can output ewasm already. So you do not have to use another language if you do not want.
But I do not think the change is imminent. It will take some time until changes arrive to mainnet.
If the consensus mechanism is stored in the blockchain as WASM code and every client comes with a WASM interpreter, no forks are required anymore since every client can fallback to WASM code in the blockchain if it figures out it's own local consensus rule is outdated.
Client verifies block using it's local consensus rules
Client fails to verify ...
You do not need to write contract in eWASM. Just write it using solidity, and it will be converted to EVM bytecode, then eWASM.
As I know so far, the eWASM is only available on Kovan testnet, so you may need to use parity to test it out if you're interested.
A stack-based machine can be easier to implement than a register-based one, and I assume that was ultimately the decision-making factor here. The document "A Prehistory of the Ethereum Protocol" linked above hints at that.
WebAssembly is also stack-based, however the assembly is designed to be structured: blocks are explicitly terminated by an END ...