Comments (13)
yeah, could you put up a quick PR to disable it, gating it behind unsound MIR opts?
I will do it today. :)
from rust.
I think disabling the entire pass should have a very small impact, it's not like this is the LLVM instcombine pass :D. So that makes more sense, it's usually how we do it for less important MIR opt passes.
from rust.
#124156 landed so the soundness bug is fixed by disabling the affected optimization. Thanks @DianQK for the quick fix. :)
from rust.
Cc @rust-lang/wg-mir-opt
from rust.
does it make sense to quickly throw up a PR disabling it to leave more time for fixing it properly and thoroughly?
from rust.
does it make sense to quickly throw up a PR disabling it to leave more time for fixing it properly and thoroughly?
I like this: #124122 (comment).
I think that disabling some transforms where miscompilation might occur is feasible in #124122.
from rust.
yeah, could you put up a quick PR to disable it, gating it behind unsound MIR opts?
from rust.
For me, but it's more appropriate to disable unsigned and signed conversions in #124122. But might this require a longer review? I'm not sure, but at least the conversions that are retained should be clear.
@oli-obk Do you have any suggestions?
from rust.
For me, but it's more appropriate to disable unsigned and signed conversions in #124122.
This is just the usual operation on LLVM: disabling certain conversions, rather than disabling the entire Pass. Of course, compared to LLVM's passes, the passes in MIR-opt are much smaller.
from rust.
WG-prioritization assigning priority (Zulip discussion).
@rustbot label -I-prioritize +P-critical
from rust.
yeah, could you put up a quick PR to disable it, gating it behind unsound MIR opts?
I've rethought this scenario, and it's appropriate to add unsound opts. Because this pass is mostly all in #120614. :)
from rust.
I caused a P-critical issue for the first time. :p
from rust.
mir-opts work has a pretty high chance of doing that. Unfortunately we haven't yet figured out how to build correct-by-construction optimization passes outside of full-blown theorem provers...
from rust.
Related Issues (20)
- ICE on nightly-2024-05-28 during link stage HOT 1
- Lint `type_alias_bounds` fires unnecessarily for trait bounds that define short-hand projections on the RHS HOT 4
- Add an mpmc concurrent queue
- Confusing diagnostic when doing a recursive call in a const block in a const fn: "cycle detected when elaborating drops"
- compilation failure with "cargo check --tests" for espidf HOT 1
- const blocks don't have a recursion limit or timeout, causing the compiler to freeze in an infinite loop HOT 5
- run-make-support: rename `tmp_dir()` and clarify its semantics
- run-make-support: investigate if it's possible to make rust-analyzer work with rmake.rs files
- run-make-support: add helpers for fs operations HOT 1
- Tracking Issue for RFC 3467: UnsafePinned
- Unhelpful error on mismatched types for anonymous futures HOT 3
- More instructions generated for `Ord::clamp` than manual `max(X).min(Y)` for saturating truncating cast from `i32` to `u8` HOT 1
- run-make-support: use a `CommandWrapper` trait instead of `impl_helper_methods` macro HOT 2
- Tracking Issue for `duration_new_checked`
- ICE: `called Option::unwrap() on a None value` in `compiler/rustc_infer/src/infer/error_reporting/note_and_explain.rs` HOT 2
- ICE: `SizeSkeleton::compute` layout errored in `layout.rs`
- ICE: `assertion failed: !value.has_infer()` in `rustc_hir_typeck/src/writeback.rs`
- Illegal instruction when cross compile HOT 16
- conflicting impl since nightly-2024-05-01 HOT 13
- flaky aborts with `lto=thin` on Windows in `--release` HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.