pub enum BlockInstr<B> {
Decl(SSAName, Ty<SSAName>),
Init(SSAName, Ty<SSAName>, Exp<SSAName>),
Copy(BlockLoc, Exp<SSAName>),
Monomorphize(SSAName),
Call(BlockLoc, bool, Name, Vec<Exp<SSAName>>),
PrimopUnary(BlockLoc, Unary<B>, Exp<SSAName>),
PrimopBinary(BlockLoc, Binary<B>, Exp<SSAName>, Exp<SSAName>),
PrimopVariadic(BlockLoc, Variadic<B>, Vec<Exp<SSAName>>),
}Expand description
BlockInstr is the same as Instr but restricted to just instructions that can appear in basic blocks, and with all names replaced by SSAName.
Variants§
Decl(SSAName, Ty<SSAName>)
Init(SSAName, Ty<SSAName>, Exp<SSAName>)
Copy(BlockLoc, Exp<SSAName>)
Monomorphize(SSAName)
Call(BlockLoc, bool, Name, Vec<Exp<SSAName>>)
PrimopUnary(BlockLoc, Unary<B>, Exp<SSAName>)
PrimopBinary(BlockLoc, Binary<B>, Exp<SSAName>, Exp<SSAName>)
PrimopVariadic(BlockLoc, Variadic<B>, Vec<Exp<SSAName>>)
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<B> Freeze for BlockInstr<B>
impl<B> RefUnwindSafe for BlockInstr<B>
impl<B> Send for BlockInstr<B>
impl<B> Sync for BlockInstr<B>
impl<B> Unpin for BlockInstr<B>
impl<B> UnwindSafe for BlockInstr<B>
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