README.txt revision 287506
1//===-- README.txt - Notes for WebAssembly code gen -----------------------===// 2 3This WebAssembly backend is presently in a very early stage of development. 4The code should build and not break anything else, but don't expect a lot more 5at this point. 6 7For more information on WebAssembly itself, see the design documents: 8 * https://github.com/WebAssembly/design/blob/master/README.md 9 10The following documents contain some information on the planned semantics and 11binary encoding of WebAssembly itself: 12 * https://github.com/WebAssembly/design/blob/master/AstSemantics.md 13 * https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md 14 15Interesting work that remains to be done: 16* Write a pass to restructurize irreducible control flow. This needs to be done 17 before register allocation to be efficient, because it may duplicate basic 18 blocks and WebAssembly performs register allocation at a whole-function 19 level. Note that LLVM's GPU code has such a pass, but it linearizes control 20 flow (e.g. both sides of branches execute and are masked) which is undesirable 21 for WebAssembly. 22* Basic relooper to expose control flow as an AST. 23* Figure out how to properly use MC for virtual ISAs. This may require some 24 refactoring of MC. 25 26//===---------------------------------------------------------------------===// 27