Struct rustc_mir_transform::prettify::ReorderBasicBlocks
source · pub struct ReorderBasicBlocks;
Expand description
Rearranges the basic blocks into a reverse post-order.
Thus after this pass, all the successors of a block are later than it in the
IndexVec
, unless that successor is a back-edge (such as from a loop).
Trait Implementations§
source§impl<'tcx> MirPass<'tcx> for ReorderBasicBlocks
impl<'tcx> MirPass<'tcx> for ReorderBasicBlocks
source§fn is_enabled(&self, _session: &Session) -> bool
fn is_enabled(&self, _session: &Session) -> bool
Returns
true
if this pass is enabled with the current combination of compiler flags.fn run_pass(&self, tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>)
fn name(&self) -> &'static str
fn profiler_name(&self) -> &'static str
fn is_mir_dump_enabled(&self) -> bool
Auto Trait Implementations§
impl DynSend for ReorderBasicBlocks
impl DynSync for ReorderBasicBlocks
impl Freeze for ReorderBasicBlocks
impl RefUnwindSafe for ReorderBasicBlocks
impl Send for ReorderBasicBlocks
impl Sync for ReorderBasicBlocks
impl Unpin for ReorderBasicBlocks
impl UnwindSafe for ReorderBasicBlocks
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes