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.