pub struct Inst(/* private fields */);
Expand description
An opaque reference to an instruction in a Function
.
Most usage of Inst
is internal. Inst
ructions are returned by
InstBuilder
instructions that do not return a
Value
, such as control flow and trap instructions, as well as instructions that return a
variable (potentially zero!) number of values, like call or call-indirect instructions. To get
the Value
of such instructions, use inst_results
or
its analogue in cranelift_frontend::FuncBuilder
.
While the order is stable, it is arbitrary and does not necessarily resemble the layout order.
Implementations§
Source§impl Inst
impl Inst
Sourcepub fn as_bits(self) -> u32
pub fn as_bits(self) -> u32
Return the raw bit encoding for this instance.
Warning: the raw bit encoding is opaque and has no
guaranteed correspondence to the entity’s index. It encodes the
entire state of this index value: either a valid index or an
invalid-index sentinel. The value returned by this method should
only be passed to from_bits
.
Sourcepub fn from_bits(x: u32) -> Self
pub fn from_bits(x: u32) -> Self
Create a new instance from the raw bit encoding.
Warning: the raw bit encoding is opaque and has no
guaranteed correspondence to the entity’s index. It encodes the
entire state of this index value: either a valid index or an
invalid-index sentinel. The value returned by this method should
only be given bits from as_bits
.
Trait Implementations§
Source§impl From<Inst> for ProgramPoint
impl From<Inst> for ProgramPoint
Source§impl Index<Inst> for Insts
Allow immutable access to instructions via indexing.
impl Index<Inst> for Insts
Allow immutable access to instructions via indexing.
Source§type Output = InstructionData
type Output = InstructionData
Source§impl Ord for Inst
impl Ord for Inst
Source§impl PartialOrd for Inst
impl PartialOrd for Inst
Source§impl ReservedValue for Inst
impl ReservedValue for Inst
Source§fn reserved_value() -> Inst
fn reserved_value() -> Inst
Source§fn is_reserved_value(&self) -> bool
fn is_reserved_value(&self) -> bool
impl Copy for Inst
impl Eq for Inst
impl StructuralPartialEq for Inst
Auto Trait Implementations§
impl Freeze for Inst
impl RefUnwindSafe for Inst
impl Send for Inst
impl Sync for Inst
impl Unpin for Inst
impl UnwindSafe for Inst
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.