-
Notifications
You must be signed in to change notification settings - Fork 13.3k
JumpThreading: fix bitwise not on non-booleans #131203
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
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
eb99fae
to
fd35e82
Compare
Thanks! @bors r+ |
…piler-errors JumpThreading: fix bitwise not on non-booleans Fixes rust-lang#131195 Alternative to rust-lang#131201
This comment has been minimized.
This comment has been minimized.
Ok, well, this definitely causes a crash when building [email protected] @bors r- Let's actually land #131201, which is a more conservative fix. Then we can work on improving the jumpthreading optimization :) Since cjgillot authored the jump threading optimization (I think?) I can pass this off to them. r? @cjgillot |
Looks like some miscompile in std 🤔 In my local testing I get println hanging on |
I am very curious to learn what is wrong with this PR :D |
☔ The latest upstream changes (presumably #131201) made this pull request unmergeable. Please resolve the merge conflicts. |
@bors r+ rollup=never |
…ler-errors JumpThreading: fix bitwise not on non-booleans Fixes rust-lang#131195 Alternative to rust-lang#131201
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
bee9c73
to
41a5d8e
Compare
Rebased and updated a test. @bors r=compiler-errors rollup=never |
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 092a284 (parent) -> 6e83046 (this PR) Test differencesNo test diffs found Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
Finished benchmarking commit (6e83046): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary -7.5%, secondary -2.0%)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.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 779.607s -> 779.963s (0.05%) |
…ler-errors Remove early exits from JumpThreading. This removes early exits from rust-lang#131203 as I asked during review. The correctness of the backtracking is `mutated_statement` clearing all relevant conditions. If `process_statement` fails to insert a new condition, for instance by const-eval failure, `mutated_statement` still removes the obsolete conditions from the state. r? `@compiler-errors`
Rollup merge of rust-lang#140024 - cjgillot:continue-jumping, r=compiler-errors Remove early exits from JumpThreading. This removes early exits from rust-lang#131203 as I asked during review. The correctness of the backtracking is `mutated_statement` clearing all relevant conditions. If `process_statement` fails to insert a new condition, for instance by const-eval failure, `mutated_statement` still removes the obsolete conditions from the state. r? `@compiler-errors`
Remove early exits from JumpThreading. This removes early exits from rust-lang/rust#131203 as I asked during review. The correctness of the backtracking is `mutated_statement` clearing all relevant conditions. If `process_statement` fails to insert a new condition, for instance by const-eval failure, `mutated_statement` still removes the obsolete conditions from the state. r? `@compiler-errors`
Fixes #131195
Alternative to #131201