On Fri, Oct 25, 2019 at 5:31 AM Gabriel Cuvillier < [email protected]> wrote:
> Ok, I understand better. > > What makes things confusing is probably more that the usual distinction > between compiler flags and linker flags are a bit blurred in Emscripten. > > As "WASM_OBJECT_FILES=0" is doing the same as "-flto", but also applying > it to system libs, maybe it would be cleaner to have it replaced by a "-s > ENABLE_SYSTEM_LIBS_LTO=1" that would only focus on enabling LTO on the > system libs (letting the user control the LTO of its own code with the > usual -flto flag). > > > Btw, the docs mention that --lvm-lto might have the values 1,2 or 3 => is > this still applicable to the new Wasm backend ? I guess no (?) > > Yeah, the flags here might be better renamed. And yes, 1,2,3 still work AFAIK, but we should probably remove 2 and 3 since they were only useful in the far past. - Alon Cheers, > > Gabriel > > Le 22/10/2019 à 21:39, Alon Zakai a écrit : > > 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 > <https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpRXtK1wYBfm27dqgALwr2oHMZLE4QeU7rN1KKEugfORfg%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/24154c49-5529-af52-1319-c0cd47ccb242%40gmail.com > <https://groups.google.com/d/msgid/emscripten-discuss/24154c49-5529-af52-1319-c0cd47ccb242%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/CAEX4NpQXJ4Se_wdyvKNvT1qKJNcn3ZoTycxdTYneSr3Ja8H4gg%40mail.gmail.com.
