I came across this comment while reading your bazel code:
# TODO(PiotrSikora): Add -flto to copts/linkopts when fixed in emsdk.
I just wanted to let you guys know that -flto can be used in clfags just fine.
It does not work for linkopts because emsdk bazel ships a pre-packaged sysroot that does not include lto'd system libs,
but you can still get significant improvements from running lto on your binary.
For a project at my job, it reduced the WASM binary size by half.
I came across this comment while reading your bazel code: # TODO(PiotrSikora): Add -flto to copts/linkopts when fixed in emsdk. I just wanted to let you guys know that
-flto
can be used in clfags just fine. It does not work for linkopts because emsdk bazel ships a pre-packaged sysroot that does not include lto'd system libs, but you can still get significant improvements from running lto on your binary. For a project at my job, it reduced the WASM binary size by half.Anyway, just wanted to let you all know, cheers.