Enum cranelift_codegen::machinst::blockorder::LoweredBlock
source · [−]pub enum LoweredBlock {
Orig {
block: Block,
},
OrigAndEdge {
block: Block,
edge_inst: Inst,
succ: Block,
},
EdgeAndOrig {
pred: Block,
edge_inst: Inst,
block: Block,
},
Edge {
pred: Block,
edge_inst: Inst,
succ: Block,
},
}
Expand description
The origin of a block in the lowered block-order: either an original CLIF block, or an inserted edge-block, or a combination of the two if an edge is non-critical.
Variants
Orig
Fields
block: Block
Original CLIF block.
Block in original CLIF, with no merged edge-blocks.
OrigAndEdge
Fields
block: Block
The original CLIF block contained in this lowered block.
edge_inst: Inst
The edge (jump) instruction transitioning from this block
to the next, i.e., corresponding to the included edge-block. This
will be an instruction in block
.
succ: Block
The successor CLIF block.
Block in the original CLIF, plus edge-block to one succ (which is the one successor of the original block).
EdgeAndOrig
Fields
pred: Block
The previous CLIF block, i.e., the edge block’s predecessor.
edge_inst: Inst
The edge (jump) instruction corresponding to the included
edge-block. This will be an instruction in pred
.
block: Block
The original CLIF block included in this lowered block.
Block in the original CLIF, preceded by edge-block from one pred (which is the one pred of the original block).
Edge
Fields
pred: Block
The predecessor CLIF block.
edge_inst: Inst
The edge (jump) instruction corresponding to this edge’s transition.
This will be an instruction in pred
.
succ: Block
The successor CLIF block.
Split critical edge between two CLIF blocks. This lowered block does not
correspond to any original CLIF blocks; it only serves as an insertion
point for work to happen on the transition from pred
to succ
.
Implementations
sourceimpl LoweredBlock
impl LoweredBlock
sourcepub fn orig_block(self) -> Option<Block>
pub fn orig_block(self) -> Option<Block>
The associated original (CLIF) block included in this lowered block, if any.
Trait Implementations
sourceimpl Clone for LoweredBlock
impl Clone for LoweredBlock
sourcefn clone(&self) -> LoweredBlock
fn clone(&self) -> LoweredBlock
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for LoweredBlock
impl Debug for LoweredBlock
sourceimpl Hash for LoweredBlock
impl Hash for LoweredBlock
sourceimpl PartialEq<LoweredBlock> for LoweredBlock
impl PartialEq<LoweredBlock> for LoweredBlock
sourcefn eq(&self, other: &LoweredBlock) -> bool
fn eq(&self, other: &LoweredBlock) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &LoweredBlock) -> bool
fn ne(&self, other: &LoweredBlock) -> bool
This method tests for !=
.
impl Copy for LoweredBlock
impl Eq for LoweredBlock
impl StructuralEq for LoweredBlock
impl StructuralPartialEq for LoweredBlock
Auto Trait Implementations
impl RefUnwindSafe for LoweredBlock
impl Send for LoweredBlock
impl Sync for LoweredBlock
impl Unpin for LoweredBlock
impl UnwindSafe for LoweredBlock
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CallHasher for T where
T: Hash + ?Sized,
impl<T> CallHasher for T where
T: Hash + ?Sized,
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcepub fn equivalent(&self, key: &K) -> bool
pub fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more