pub struct BasicBlock {
pub phi_nodes: Rc<RefCell<Vec<PhiInstruction>>>,
pub ops: Rc<RefCell<StableVec<Instruction>>>,
pub control_flow: Rc<RefCell<ControlFlow>>,
/* private fields */
}Expand description
A basic block of instructions interrupted by control flow. Phi nodes are assumed to come before any instructions. See https://en.wikipedia.org/wiki/Basic_block
Fields§
§phi_nodes: Rc<RefCell<Vec<PhiInstruction>>>The phi nodes that are required to be generated at the start of this block.
ops: Rc<RefCell<StableVec<Instruction>>>A stable list of operations performed in this block.
control_flow: Rc<RefCell<ControlFlow>>The control flow that terminates this block.
Trait Implementations§
Source§impl Clone for BasicBlock
impl Clone for BasicBlock
Source§fn clone(&self) -> BasicBlock
fn clone(&self) -> BasicBlock
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BasicBlock
impl Debug for BasicBlock
Source§impl Default for BasicBlock
impl Default for BasicBlock
Source§fn default() -> BasicBlock
fn default() -> BasicBlock
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for BasicBlock
impl !Send for BasicBlock
impl !Sync for BasicBlock
impl !UnwindSafe for BasicBlock
impl Freeze for BasicBlock
impl Unpin for BasicBlock
impl UnsafeUnpin for BasicBlock
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more