WebAssembly: add some TODO
authorJF Bastien <jfb@google.com>
Mon, 6 Jul 2015 21:41:59 +0000 (21:41 +0000)
committerJF Bastien <jfb@google.com>
Mon, 6 Jul 2015 21:41:59 +0000 (21:41 +0000)
Reviewers: sunfish

Subscribers: llvm-commits, jfb

Differential Revision: http://reviews.llvm.org/D10971

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241513 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/WebAssembly/README.txt

index 7a71060a638f145e09cb00b50eaa95b260783806..63e02c455895ff619c85a3bb9b9ca4f0b6d37066 100644 (file)
@@ -12,4 +12,15 @@ binary encoding of WebAssembly itself:
   * https://github.com/WebAssembly/design/blob/master/AstSemantics.md
   * https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md
 
+Interesting work that remains to be done:
+* Write a pass to restructurize irreducible control flow. This needs to be done
+  before register allocation to be efficient, because it may duplicate basic
+  blocks and WebAssembly performs register allocation at a whole-function
+  level. Note that LLVM's GPU code has such a pass, but it linearizes control
+  flow (e.g. both sides of branches execute and are masked) which is undesirable
+  for WebAssembly.
+* Basic relooper to expose control flow as an AST.
+* Figure out how to properly use MC for virtual ISAs. This may require some
+  refactoring of MC.
+
 //===---------------------------------------------------------------------===//