You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I tried compiling my crate with RUSTFLAGS="-Z merge-functions=aliases", but saw no difference in output size, whereas RUSTFLAGS="-C passes=mergefunc" showed a 1% improvement (not much but I'd take it). I think this is because of this code:
Hm. Is there any chance we could get the crate or reduced code that can demonstrate the problem? I can probably dig up some code that LLVM merges functions on from my own snippets, just want to be sure.
Yeah, it is entirely possible the full extent of the fix is "change the code (that Jordan found naively crawling through rustc) to a match over sess.opts.optimize, and make it reasonable".
Uh oh!
There was an error while loading. Please reload this page.
I tried compiling my crate with
RUSTFLAGS="-Z merge-functions=aliases"
, but saw no difference in output size, whereasRUSTFLAGS="-C passes=mergefunc"
showed a 1% improvement (not much but I'd take it). I think this is because of this code:rust/compiler/rustc_codegen_ssa/src/back/write.rs
Lines 248 to 259 in c3b7d7b
which is probably intended to exclude opt-level=0 builds but should really at least allow Size (s) and SizeMin (z), if not enable them by default.
The text was updated successfully, but these errors were encountered: