Struct cranelift_codegen::ir::entities::Inst
source · pub struct Inst(_);
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
.
If you look around the API, you can find many inventive uses for Inst
,
such as annotating specific instructions with a comment
or performing reflection at compile time
on the type of instruction.
While the order is stable, it is arbitrary and does not necessarily resemble the layout order.
Implementations§
Trait Implementations§
source§impl From<Inst> for ExpandedProgramPoint
impl From<Inst> for ExpandedProgramPoint
source§impl From<Inst> for ProgramPoint
impl From<Inst> for ProgramPoint
source§impl Index<Inst> for Insts
impl Index<Inst> for Insts
Allow immutable access to instructions via indexing.
§type Output = InstructionData
type Output = InstructionData
source§impl Ord for Inst
impl Ord for Inst
source§impl PartialEq<Inst> for Inst
impl PartialEq<Inst> for Inst
source§impl PartialOrd<Inst> for Inst
impl PartialOrd<Inst> for Inst
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§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 StructuralEq for Inst
impl StructuralPartialEq for Inst
Auto Trait Implementations§
impl RefUnwindSafe for Inst
impl Send for Inst
impl Sync for Inst
impl Unpin for Inst
impl UnwindSafe for Inst
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.