-
Notifications
You must be signed in to change notification settings - Fork 13.8k
Do not compute optimized MIR if code does not type-check. #147092
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This PR changes a file inside |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me when green
@bors r=compiler-errors rollup |
…iler-errors Do not compute optimized MIR if code does not type-check. Since rust-lang#128612, we compute optimized MIR when `-Zvalidate-mir` is present. This is done as part of required analyses, even if type-checking fails. This causes ICEs, as most of the mir-opt pipeline expects well-formed code. Fixes rust-lang#129095 Fixes rust-lang#134174 Fixes rust-lang#134654 Fixes rust-lang#136381 Fixes rust-lang#137468 Fixes rust-lang#144491 Fixes rust-lang#147011 This does not fix issue rust-lang#137190, as it ICEs without `-Zvalidate-mir`. r? `@compiler-errors`
Rollup of 16 pull requests Successful merges: - #142139 (Include additional hashes in src/stage0) - #146745 (Clarified error note for usize range matching) - #146763 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 5)) - #146788 (chore: removes deprecated discord.) - #146942 ([rustdoc] Finish getting rid of usages `write_str`) - #147002 (rustdoc-search: stringdex update with more packing) - #147061 (fix rebasing cycle heads when not reaching a fixpoint) - #147066 (Fix tracking issue number for feature(macro_attr)) - #147081 (doc: fix a typo in platform-support.md) - #147082 (formatting_options: fix alternate docs 0b/0o mixup) - #147086 (compiletest: Use `PanicHookInfo::payload_as_str` now that it's stable in beta) - #147092 (Do not compute optimized MIR if code does not type-check.) - #147093 (redox: switch to colon as path separator) - #147095 (Library: Remove remaining private `#[repr]` workarounds) - #147098 (Add auto extra-checks in pre-push hook) - #147110 (Fix typo) r? `@ghost` `@rustbot` modify labels: rollup
Probably failed in rollup due to crash test not crashing: #147114 (comment) @bors r- |
(Bisecting the rollup now; I'll reapprove if my guess was wrong.) |
OK I can confirm that this PR also fixes Tracking this down was made much harder by the tests being marked |
c6657be
to
7a7cb05
Compare
This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
@bors r=compiler-errors rollup |
…iler-errors Do not compute optimized MIR if code does not type-check. Since rust-lang#128612, we compute optimized MIR when `-Zvalidate-mir` is present. This is done as part of required analyses, even if type-checking fails. This causes ICEs, as most of the mir-opt pipeline expects well-formed code. Fixes rust-lang#129095 Fixes rust-lang#134174 Fixes rust-lang#134654 Fixes rust-lang#135570 Fixes rust-lang#136381 Fixes rust-lang#137468 Fixes rust-lang#144491 Fixes rust-lang#147011 This does not fix issue rust-lang#137190, as it ICEs without `-Zvalidate-mir`. r? `@compiler-errors`
Rollup of 6 pull requests Successful merges: - #133477 (Detect tuple structs that are unconstructable due to re-export) - #140916 (Fix unuseful span in type error in some format_args!() invocations) - #146979 (constify Default on Nanoseconds) - #147090 (Skip stack overflow handler for panic=immediate-abort) - #147092 (Do not compute optimized MIR if code does not type-check.) - #147127 (Add a leading dash to linker plugin arguments in the gcc codegen) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 7 pull requests Successful merges: - #133477 (Detect tuple structs that are unconstructable due to re-export) - #146929 (compiletest: Remove old-output-capture and become a stage0 bootstrap tool) - #146979 (constify Default on Nanoseconds) - #147092 (Do not compute optimized MIR if code does not type-check.) - #147112 (all 48 keywords in just 300 characters) - #147122 (Fix some crash-test directives) - #147127 (Add a leading dash to linker plugin arguments in the gcc codegen) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #147092 - cjgillot:late-validate-mir, r=compiler-errors Do not compute optimized MIR if code does not type-check. Since #128612, we compute optimized MIR when `-Zvalidate-mir` is present. This is done as part of required analyses, even if type-checking fails. This causes ICEs, as most of the mir-opt pipeline expects well-formed code. Fixes #129095 Fixes #134174 Fixes #134654 Fixes #135570 Fixes #136381 Fixes #137468 Fixes #144491 Fixes #147011 This does not fix issue #137190, as it ICEs without `-Zvalidate-mir`. r? ``@compiler-errors``
@rust-timer build 5e08e7f |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (5e08e7f): comparison URL. Overall result: ❌ regressions - please read the text belowBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults (primary 2.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 1.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 469.945s -> 471.627s (0.36%) |
Since #128612, we compute optimized MIR when
-Zvalidate-mir
is present.This is done as part of required analyses, even if type-checking fails. This causes ICEs, as most of the mir-opt pipeline expects well-formed code.
Fixes #129095
Fixes #134174
Fixes #134654
Fixes #135570
Fixes #136381
Fixes #137468
Fixes #144491
Fixes #147011
This does not fix issue #137190, as it ICEs without
-Zvalidate-mir
.r? @compiler-errors