First we'll make sure things are stable, especially after the new backend goes out in the SDK (which it hasn't yet in a non-beta version). Then we can discuss more details with upstream. So it will take a while, hard to say how much, it will depend mostly on upstream LLVM's decisions.
- Alon On Mon, Apr 21, 2014 at 2:27 PM, Ryan Sturgell <[email protected]>wrote: > Very exciting! Do you have any sense of how long it will take to upstream > the llvm/clang changes? > > Thanks, > Ryan > > > On Wednesday, April 16, 2014 11:37:04 AM UTC-7, Alon Zakai wrote: > >> Hi everyone, >> >> After several months of development, the new LLVM backend ("fastcomp") is >> now on the master branch. It has been complete for a few months, but we >> waited while people tested on the incoming branch before merging it to >> master. We've also done extensive fuzzing, and Jukka has the bots all green >> on all platforms, so things now look stable. >> >> See details on the backend at >> >> https://github.com/kripken/emscripten/wiki/LLVM-Backend >> >> I also updated the other wiki pages about installing Emscripten from >> source, etc, hopefully I got it all, please let me know if I missed >> anything. >> >> What this change means for you: >> >> 1) If you've been using incoming, nothing changes. >> >> 2) If you've been using master, then next time you pull, emscripten will >> have fastcomp on by default. You should get and build Emscripten's >> LLVM+Clang which has fastcomp, and use that (see instructions in the link >> above). (You also have the option to disable fastcomp and use a stock LLVM, >> again details are in the link, but that is not recommended.) After updating >> to fastcomp, you should see a big speedup in compilation times, especially >> on large codebases; the generated code should also be a little smaller and >> faster. Otherwise there should be no differences, however a few features >> are not yet fastcomp-compatible (like embind), so you may get a compiler >> warning or error if you use one of those. (If you do, your options are to >> disable fastcomp as mentioned before, or to use an earlier version of >> emscripten.) >> >> As mentioned in the title, we now have multiple branches - the main >> Emscripten repo, our LLVM repo and our Clang repo. See the link above for >> details. What you need to keep in mind is the 3 repos need to be in sync - >> make sure to use either the master branch in all 3, or the incoming branch >> in all 3, as mixing and matching may not work. In particular, if you use >> master, you will need to pull master in all 3 repos each time you update >> (and then build LLVM+Clang with those changes), whereas before you just had >> one repo to pull. You can use >> >> emcc -v >> >> to check if the source code in the 3 repos have the same version number. >> >> 3) If you are using an SDK build, nothing changes. The next SDK update, >> however, will be built from master, so it will include fastcomp, at which >> point the changes will be the same as in the last paragraph (as if you were >> using master). We'll probably wait on releasing the SDK update for a while, >> to see if any issues are reported on master. >> >> - Alon >> >> -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
