summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly
diff options
context:
space:
mode:
authorJF Bastien <jfb@google.com>2015-07-06 21:41:59 +0000
committerJF Bastien <jfb@google.com>2015-07-06 21:41:59 +0000
commit86bc91508dca4cc5d9cd4bf57016fd8a4d886ccf (patch)
tree48fd483e1435d72e9da4e8f2860b7f8e052b3cf9 /llvm/lib/Target/WebAssembly
parent2d5d23d41d41a1c6a32d0d1c94efc843ca32fa35 (diff)
downloadbcm5719-llvm-86bc91508dca4cc5d9cd4bf57016fd8a4d886ccf.tar.gz
bcm5719-llvm-86bc91508dca4cc5d9cd4bf57016fd8a4d886ccf.zip
WebAssembly: add some TODO
Reviewers: sunfish Subscribers: llvm-commits, jfb Differential Revision: http://reviews.llvm.org/D10971 llvm-svn: 241513
Diffstat (limited to 'llvm/lib/Target/WebAssembly')
-rw-r--r--llvm/lib/Target/WebAssembly/README.txt11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/README.txt b/llvm/lib/Target/WebAssembly/README.txt
index 7a71060a638..63e02c45589 100644
--- a/llvm/lib/Target/WebAssembly/README.txt
+++ b/llvm/lib/Target/WebAssembly/README.txt
@@ -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.
+
//===---------------------------------------------------------------------===//
OpenPOWER on IntegriCloud