The LTO docs are here:

https://emscripten.org/docs/optimizing/Optimizing-Code.html#lto

Basically

 * -flto is a clang flag that says "emit LLVM IR in the bitcode file"
 * WASM_OBJECT_FILES=0 is an emscripten flag that says "don't use wasm
object files, so use LLVM IR in bitcode files, *and also in system libs*"
 * --llvm-lto 1 is an emscripten flag that also runs LLVM's default LTO
opts at link time.

Perhaps -flto should automatically set --llvm-lto 1? I'm not sure what
clang normally does, but we should do the same probably...

- Alon


On Tue, Oct 22, 2019 at 2:40 AM Gabriel Cuvillier <
[email protected]> wrote:

> Great!
>
> A question regarding this in the documentation, which confuses me a bit:
>
> *You can disable wasm object files with -s WASM_OBJECT_FILES=0, which will
> make the wasm backend behave more like fastcomp. *
> *Neither fastcomp nor the wasm backend without wasm object files will run
> the LLVM optimization passes by default, even if using LLVM IR in object
> files; *
> *for that you must pass --llvm-lto 1.*
>
> With the 3 options "-s WASM_OBJECT_FILES=0", "--llvm-lto 1", and "-flto",
> there is a lot of combinations possible and the outcome is not quite clear.
>
> So, on the Wasm backed, what's the difference between doing (or what is
> meaningful/meaningless):
>     -flto
>   --llvm-lto 1
>   -s WASM_OBJECT_FILES=0
>   -flto --llvm-lto 1
>   -flto -s WASM_OBJECT_FILES=0
>   -flto -s WASM_OBJECT_FILES=0 --llvm-lto 1
>   -s WASM_OBJECT_FILES=0 --llvm-lto 1
>
> + Which option shall be passed at compilation time / at link time ?
>
> Thanks!
> Le 22/10/2019 à 00:17, Alon Zakai a écrit :
>
> Hello everyone,
>
> The emsdk will now install the upstream LLVM backend by default, instead
> of fastcomp, as of
>
> https://github.com/emscripten-core/emsdk/pull/373
>
> That is, if you install/activate "latest" then you get the same as
> "latest-upstream". It used to be an alias for "latest-fastcomp".
>
> You can still use "latest-fastcomp" to get fastcomp if you need that. You
> can also install stuff like "1.39.0-fastcomp", a version with a specific
> backend.
>
> The emsdk defaults to the upstream backend from 1.39.0, but not earlier
> versions, as the upstream backend wasn't stable enough yet at those times.
> (But you can as always do "1.38.39-upstream" to get upstream for those
> versions.) In other words, the only thing that changed now is that for
> 1.39.0 and onwards, if you don't specify the backend, you'll get upstream.
>
> We are changing the default now after a long period of recommending people
> upgrade to the LLVM backend and fixing issues based on their feedback, as a
> result of which at this point we feel comfortable changing the default.
>
> Please test and file bugs if you find any! All you need to do is update to
> the latest emsdk master from github, and
>
> ./emsdk install latest
> ./emsdk activate latest
>
> If this is your first time using the upstream backend, see the list of
> differences,
>
> https://emscripten.org/docs/compiling/WebAssembly.html#backends
>
> Our goal is to remove fastcomp eventually, and it is now officially
> deprecated, but we will only start to plan that after seeing the feedback
> from users after this switch.
>
> - 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].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpTHC%3DRz2UZrqLBBaPQ0ROT4JXGA7RnH5iDEsLeUdvRmMA%40mail.gmail.com
> <https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpTHC%3DRz2UZrqLBBaPQ0ROT4JXGA7RnH5iDEsLeUdvRmMA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> --
> 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].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/emscripten-discuss/06858de5-a732-0e70-6ce7-e60c1a9e2667%40gmail.com
> <https://groups.google.com/d/msgid/emscripten-discuss/06858de5-a732-0e70-6ce7-e60c1a9e2667%40gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpRXtK1wYBfm27dqgALwr2oHMZLE4QeU7rN1KKEugfORfg%40mail.gmail.com.

Reply via email to