[llvm] r241513 - WebAssembly: add some TODO

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Jul 6 16:12:36 PDT 2015


Out of curiosity, why does Webassembly require structured control flow? To
make it easier to lower to js? Is that something you want to change in the
future?
On Jul 6, 2015 5:44 PM, "JF Bastien" <jfb at google.com> wrote:

> Author: jfb
> Date: Mon Jul  6 16:41:59 2015
> New Revision: 241513
>
> URL: http://llvm.org/viewvc/llvm-project?rev=241513&view=rev
> Log:
> WebAssembly: add some TODO
>
> Reviewers: sunfish
>
> Subscribers: llvm-commits, jfb
>
> Differential Revision: http://reviews.llvm.org/D10971
>
> Modified:
>     llvm/trunk/lib/Target/WebAssembly/README.txt
>
> Modified: llvm/trunk/lib/Target/WebAssembly/README.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/README.txt?rev=241513&r1=241512&r2=241513&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/WebAssembly/README.txt (original)
> +++ llvm/trunk/lib/Target/WebAssembly/README.txt Mon Jul  6 16:41:59 2015
> @@ -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.
> +
>
>  //===---------------------------------------------------------------------===//
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150706/9b068df9/attachment.html>


More information about the llvm-commits mailing list