# wg-incr-comp meeting 2020-10-06 ## Items - @spastorino has opened a PR to reduce the amount of inlined function duplication in debug builds [rust#76896](https://github.com/rust-lang/rust/pull/76896) - @wesleywiser is looking into regressions - losses (on microbenchmarks) are on order of 4-5% - but wins are on level of 3-4% on *real* programs (like regex and a servo crate) - @davidtwco has opened a draft PR for an initial implementation of split debuginfo [rust#77117](https://github.com/rust-lang/rust/pull/77117) - Currently pending a solution for linking together dwarf objects. - `dwp` tool exists which can link pre-standard GNU-flavoured dwarf objects, but not DWARF 5-flavoured dwarf objects. - Could add support to `dwp` (part of `binutils`) for this, but would need to wait for it to be in distros. - LLVM selects whether or not to use DWARF 5 based on the target, so that isn't something we can easily control (or want to?). - Also need a solution for modifying the DWARF attribute in the binary/object file to point at new linked dwarf package file. - Not aware of any tools that currently do this - assuming that existing usage of split dwarf in other languages/projects doesn't add the split dwarf attributes and only uses `add-symbol-file` in gdb; or just keeps the per `.o` dwarf objects around (rustc produces more of these with our codegen units). - @AmanArora has opened a PR implementing anonymous query nodes [rust#77070](https://github.com/rust-lang/rust/pull/77070) - @wesleywiser is working on adding more detailed tracing data for the self-profiling feature. - https://github.com/rust-lang/measureme/pull/138 - The goal is to add estimated cost and potentially information about why the cgu is being codegen'd (especially for incremental cases). ## Issue triage - [9 open `WG-incr-comp` issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AWG-incr-comp) - https://github.com/rust-lang/rust/issues/65023 "error: unused attribute const_fn_union with incr-comp" - https://github.com/rust-lang/rust/issues/64291 "Hard-linking incremental files can be expensive." - https://github.com/rust-lang/rust/issues/55500 "Incremental compiliation is ineffective when building compiler" - https://github.com/rust-lang/rust/issues/54960 "unexpected panic whilst using base64!() macro from binary_macros crate" - https://github.com/rust-lang/rust/issues/53929 "Incremental compilation fails when a generic function uses a private symbol" - [108 open `A-incr-comp` issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-incr-comp)