Reuse CTFE MIR for constructors.#156053
Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Reuse CTFE MIR for constructors.
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (fdbcb89): comparison URL. Overall result: no relevant changes - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (secondary -1.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 1.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.0%, secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 481.713s -> 484.465s (0.57%) |
|
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
|
r? @jackh726 rustbot has assigned @jackh726. Use Why was this reviewer chosen?The reviewer was selected based on:
|
…uwer Rollup of 9 pull requests Successful merges: - #156030 (Make stable hashing names consistent (part 1)) - #156020 (Improve source code for `librustdoc/visit_ast.rs`) - #156021 (Clean up some traits) - #156028 (Add a `Local::arg(i)` helper constructor) - #156037 (Add AcceptContext::expect_no_args) - #156040 (Add missing alias to mailmap) - #156048 (Make `diverging_type_vars` a vec of `TyVid`) - #156053 (Reuse CTFE MIR for constructors.) - #156059 (compiler: Print valid `-Zmir-enable-passes` names if invalid name is used) Failed merges: - #155940 (refactor rustc_on_unimplemented's filtering) - #156065 (Remove unused spans from AttributeKind)
Rollup merge of #156053 - cjgillot:optimized-reuse-ctfe, r=oli-obk Reuse CTFE MIR for constructors. For constructors, we manually build the MIR shim we want. We can just have `optimized_mir` call `mir_for_ctfe` instead of rebuilding the shim.
…uwer Rollup of 9 pull requests Successful merges: - rust-lang/rust#156030 (Make stable hashing names consistent (part 1)) - rust-lang/rust#156020 (Improve source code for `librustdoc/visit_ast.rs`) - rust-lang/rust#156021 (Clean up some traits) - rust-lang/rust#156028 (Add a `Local::arg(i)` helper constructor) - rust-lang/rust#156037 (Add AcceptContext::expect_no_args) - rust-lang/rust#156040 (Add missing alias to mailmap) - rust-lang/rust#156048 (Make `diverging_type_vars` a vec of `TyVid`) - rust-lang/rust#156053 (Reuse CTFE MIR for constructors.) - rust-lang/rust#156059 (compiler: Print valid `-Zmir-enable-passes` names if invalid name is used) Failed merges: - rust-lang/rust#155940 (refactor rustc_on_unimplemented's filtering) - rust-lang/rust#156065 (Remove unused spans from AttributeKind)
…uwer Rollup of 9 pull requests Successful merges: - rust-lang/rust#156030 (Make stable hashing names consistent (part 1)) - rust-lang/rust#156020 (Improve source code for `librustdoc/visit_ast.rs`) - rust-lang/rust#156021 (Clean up some traits) - rust-lang/rust#156028 (Add a `Local::arg(i)` helper constructor) - rust-lang/rust#156037 (Add AcceptContext::expect_no_args) - rust-lang/rust#156040 (Add missing alias to mailmap) - rust-lang/rust#156048 (Make `diverging_type_vars` a vec of `TyVid`) - rust-lang/rust#156053 (Reuse CTFE MIR for constructors.) - rust-lang/rust#156059 (compiler: Print valid `-Zmir-enable-passes` names if invalid name is used) Failed merges: - rust-lang/rust#155940 (refactor rustc_on_unimplemented's filtering) - rust-lang/rust#156065 (Remove unused spans from AttributeKind)
For constructors, we manually build the MIR shim we want. We can just have
optimized_mircallmir_for_ctfeinstead of rebuilding the shim.