about summary refs log tree commit diff
path: root/src/test/codegen-units/partitioning/vtable-through-const.rs
AgeCommit message (Collapse)AuthorLines
2023-01-11Move /src/test to /testsAlbert Larsan-94/+0
2021-09-23Support incremental in compiletest for non-incremental modes.Eric Huss-2/+3
2021-04-03Remove redundant `ignore-tidy-linelength` annotationsSimon Jakobi-1/+1
This is step 2 towards fixing #77548. In the codegen and codegen-units test suites, the `//` comment markers were kept in order not to affect any source locations. This is because these tests cannot be automatically `--bless`ed.
2021-03-09Deprecate items that accidentally weren't deprecatedbstrie-1/+1
Fixes #82080
2020-08-30ty: remove obsolete printerDavid Wood-12/+12
This commit removes the obsolete printer and replaces all uses of it with `FmtPrinter`. Of the replaced uses, all but one use was in `debug!` logging, two cases were notable: - `MonoItem::to_string` is used in `-Z print-mono-items` and therefore affects the output of all codegen-units tests. - `DefPathBasedNames` was used in `librustc_codegen_llvm/type_of.rs` with `LLVMStructCreateNamed` and that'll now get different values, but this should result in no functional change. Signed-off-by: David Wood <david@davidtw.co>
2020-03-24Remove `-Z incremental`.Nicholas Nethercote-2/+2
`-C incremental` was introduced over two years ago. `-Z incremental` was kept for transitioning, but it's been long enough now that it should be ok to remove it.
2020-01-19adjust codegen-units testsRalf Jung-1/+1
2018-12-25Remove licensesMark Rousskov-10/+0
2018-11-22fix codegen-units testsRalf Jung-1/+1
2018-10-25More mono items are generated nowOliver Schneider-0/+5
2018-05-17Rename trans to codegen everywhere.Irina Popa-10/+10
2017-12-26Convert codegen-unit tests to use `start` instead of `main`Bastian Köcher-22/+8
The new Termination traits brings in the unwinding machinery and that blows up the required `TRANS_ITEM`s.
2017-12-26Fixes codegen-units testsBastian Köcher-0/+19
2017-10-07rustc: Don't inline in CGUs at -O0Alex Crichton-0/+1
This commit tweaks the behavior of inlining functions into multiple codegen units when rustc is compiling in debug mode. Today rustc will unconditionally treat `#[inline]` functions by translating them into all codegen units that they're needed within, marking the linkage as `internal`. This commit changes the behavior so that in debug mode (compiling at `-O0`) rustc will instead only translate `#[inline]` functions into *one* codegen unit, forcing all other codegen units to reference this one copy. The goal here is to improve debug compile times by reducing the amount of translation that happens on behalf of multiple codegen units. It was discovered in #44941 that increasing the number of codegen units had the adverse side effect of increasing the overal work done by the compiler, and the suspicion here was that the compiler was inlining, translating, and codegen'ing more functions with more codegen units (for example `String` would be basically inlined into all codegen units if used). The strategy in this commit should reduce the cost of `#[inline]` functions to being equivalent to one codegen unit, which is only translating and codegen'ing inline functions once. Collected [data] shows that this does indeed improve the situation from [before] as the overall cpu-clock time increases at a much slower rate and when pinned to one core rustc does not consume significantly more wall clock time than with one codegen unit. One caveat of this commit is that the symbol names for inlined functions that are only translated once needed some slight tweaking. These inline functions could be translated into multiple crates and we need to make sure the symbols don't collideA so the crate name/disambiguator is mixed in to the symbol name hash in these situations. [data]: https://github.com/rust-lang/rust/issues/44941#issuecomment-334880911 [before]: https://github.com/rust-lang/rust/issues/44941#issuecomment-334583384
2017-07-13Adapt cgu-partitioning tests to pre-trans symbol internalization.Michael Woerister-1/+1
2017-03-18translate drop glue using MIRAriel Ben-Yehuda-1/+1
Drop of arrays is now translated in trans::block in an ugly way that I should clean up in a later PR, and does not handle panics in the middle of an array drop, but this commit & PR are growing too big.
2017-01-09trans: Treat generics like regular functions, not like #[inline] functions ↵Michael Woerister-5/+5
during CGU partitioning.
2016-09-20rustc_trans: don't do on-demand drop glue instantiation.Eduard Burtescu-0/+1
2016-09-13trans: Let the collector find drop-glue for all vtables, not just VTableImpl.Michael Woerister-2/+0
2016-08-12Make the translation item collector handle *uses* of 'const' items instead ↵Michael Woerister-0/+93
of declarations.