about summary refs log tree commit diff
path: root/src/test/codegen/drop.rs
AgeCommit message (Collapse)AuthorLines
2018-12-25Remove licensesMark Rousskov-10/+0
2017-06-12Update test/codegen/drop.rs to reflect inconsequential change in basic block ↵Felix S. Klock II-1/+1
ordering.
2017-04-22remove cleanup branches to the resume blockAriel Ben-Yehuda-1/+1
This improves LLVM performance by 10% lost during the shimmir transition.
2016-08-24Disable old trans access via -Z orbit, #[rustc_no_mir] or --disable-orbit.Eduard Burtescu-5/+5
2016-07-08Fix codegen tests by make sure items are translated in AST order.Michael Woerister-7/+7
2016-03-17Add #[rustc_no_mir] to make tests pass with -Z orbit.Eduard Burtescu-0/+2
2016-02-04Avoid quadratic growth of functions due to cleanupsBjörn Steinbrink-0/+47
If a new cleanup is added to a cleanup scope, the cached exits for that scope are cleared, so all previous cleanups have to be translated again. In the worst case this means that we get N distinct landing pads where the last one has N cleanups, then N-1 and so on. As new cleanups are to be executed before older ones, we can instead cache the number of already translated cleanups in addition to the block that contains them, and then only translate new ones, if any and then jump to the cached ones, getting away with linear growth instead. For the crate in #31381 this reduces the compile time for an optimized build from >20 minutes (I cancelled the build at that point) to about 11 seconds. Testing a few crates that come with rustc show compile time improvements somewhere between 1 and 8%. The "big" winner being rustc_platform_intrinsics which features code similar to that in #31381. Fixes #31381