Ban ArrayToPointer and MutToConstPointer from runtime MIR
Apparently MIR borrowck cares about at least one of these for checking variance. In runtime MIR, though, there's no need for them as `PtrToPtr` does the same thing. (Banning them simplifies passes like GVN that no longer need to handle multiple cast possibilities.)
This commit is contained in:
@@ -51,11 +51,11 @@ mod abort_unwinding_calls;
|
||||
mod add_call_guards;
|
||||
mod add_moves_for_packed_drops;
|
||||
mod add_retag;
|
||||
mod add_subtyping_projections;
|
||||
mod check_alignment;
|
||||
mod check_const_item_mutation;
|
||||
mod check_packed_ref;
|
||||
mod remove_place_mention;
|
||||
// This pass is public to allow external drivers to perform MIR cleanup
|
||||
mod add_subtyping_projections;
|
||||
pub mod cleanup_post_borrowck;
|
||||
mod copy_prop;
|
||||
mod coroutine;
|
||||
@@ -94,6 +94,7 @@ mod prettify;
|
||||
mod promote_consts;
|
||||
mod ref_prop;
|
||||
mod remove_noop_landing_pads;
|
||||
mod remove_place_mention;
|
||||
mod remove_storage_markers;
|
||||
mod remove_uninit_drops;
|
||||
mod remove_unneeded_drops;
|
||||
@@ -103,7 +104,6 @@ mod reveal_all;
|
||||
mod shim;
|
||||
mod ssa;
|
||||
// This pass is public to allow external drivers to perform MIR cleanup
|
||||
mod check_alignment;
|
||||
pub mod simplify;
|
||||
mod simplify_branches;
|
||||
mod simplify_comparison_integral;
|
||||
|
||||
Reference in New Issue
Block a user