pub struct PreheaderBlock {
pub loop_header: LcnfVarId,
pub preheader_lets: Vec<LoopInvariantExpr>,
}Expand description
A synthetic block that is prepended before a loop to receive hoisted code.
After LICM the preheader_lets bindings appear sequentially before the
loop entry in the output LCNF.
Fields§
§loop_header: LcnfVarIdThe loop this preheader guards.
preheader_lets: Vec<LoopInvariantExpr>Bindings to materialise in the preheader, in hoisting order.
Trait Implementations§
Source§impl Clone for PreheaderBlock
impl Clone for PreheaderBlock
Source§fn clone(&self) -> PreheaderBlock
fn clone(&self) -> PreheaderBlock
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PreheaderBlock
impl RefUnwindSafe for PreheaderBlock
impl Send for PreheaderBlock
impl Sync for PreheaderBlock
impl Unpin for PreheaderBlock
impl UnsafeUnpin for PreheaderBlock
impl UnwindSafe for PreheaderBlock
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