-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
[Coverage][MCDC] Adapt mcdc to llvm 19 #126733
Conversation
rustbot has assigned @compiler-errors. Use |
@rustbot label +A-code-coverage |
This comment has been minimized.
This comment has been minimized.
I think we need to discuss more about mcdc options. Thus now I remove the commit and just reset Nevertheless I would wait until rustc is going to update in-tree llvm 19 and see if there are any other changes need to make. |
☔ The latest upstream changes (presumably #123918) made this pull request unmergeable. Please resolve the merge conflicts. |
☔ The latest upstream changes (presumably #127360) made this pull request unmergeable. Please resolve the merge conflicts. |
1a8d158
to
b09e96e
Compare
Some changes occurred in coverage tests. cc @Zalathar Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt Some changes occurred in coverage instrumentation. cc @Zalathar Some changes occurred in coverage instrumentation. cc @Zalathar Some changes occurred in coverage instrumentation. cc @Zalathar Some changes occurred in coverage instrumentation. cc @Zalathar |
Now this pr is independent from #126677 . We can focus on this only. |
fn take_condition( | ||
fn try_finish_decision( | ||
&mut self, | ||
span: Span, | ||
true_marker: BlockMarkerId, | ||
false_marker: BlockMarkerId, | ||
) -> (Option<ConditionInfo>, Option<MCDCDecisionSpan>) { |
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.
This change looks a bit awkward. It's just a temporary expedient and will be removed in refactored mcdc implementation for pattern matching.
ad61314
to
3ae3585
Compare
☔ The latest upstream changes (presumably #130357) made this pull request unmergeable. Please resolve the merge conflicts. |
3ae3585
to
3bc3f75
Compare
☔ The latest upstream changes (presumably #130534) made this pull request unmergeable. Please resolve the merge conflicts. |
3bc3f75
to
639d83e
Compare
This comment has been minimized.
This comment has been minimized.
639d83e
to
fb8757d
Compare
☔ The latest upstream changes (presumably #130724) made this pull request unmergeable. Please resolve the merge conflicts. |
fb8757d
to
bddf980
Compare
Currently these tests only run against LLVM 18, but the default is now LLVM 19, which makes them very tricky to bless. Since rust-lang#126733 is going to drop support for MC/DC in LLVM 18 anyway, it's easier to just completely disable the tests until that PR fixes them.
@bors r+ |
☀️ Test successful - checks-actions |
Finished benchmarking commit (cf24c73): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (secondary -2.6%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (secondary -3.5%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 775.416s -> 775.01s (-0.05%) |
Related issue: #126672
Also finish task 4 at #124144
llvm #82448 has introduced some break changes into mcdc, causing incompatibility between llvm 18 and 19. This draft adapts to that change and gives up supporting for llvm-18.