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
sourceimpl From<Inst> for ExpandedProgramPoint
impl From<Inst> for ExpandedProgramPoint
sourceimpl From<Inst> for ProgramPoint
impl From<Inst> for ProgramPoint
sourceimpl Index<Inst> for DataFlowGraph
impl Index<Inst> for DataFlowGraph
Allow immutable access to instructions via indexing.
type Output = InstructionData
type Output = InstructionData
sourcefn index(&self, inst: Inst) -> &InstructionData
fn index(&self, inst: Inst) -> &InstructionData
container[index]
) operation. Read moresourceimpl IndexMut<Inst> for DataFlowGraph
impl IndexMut<Inst> for DataFlowGraph
Allow mutable access to instructions via indexing.
sourcefn index_mut(&mut self, inst: Inst) -> &mut InstructionData
fn index_mut(&mut self, inst: Inst) -> &mut InstructionData
container[index]
) operation. Read moresourceimpl Ord for Inst
impl Ord for Inst
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl PartialOrd<Inst> for Inst
impl PartialOrd<Inst> for Inst
sourcefn partial_cmp(&self, other: &Inst) -> Option<Ordering>
fn partial_cmp(&self, other: &Inst) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresourceimpl ReservedValue for Inst
impl ReservedValue for Inst
sourcefn reserved_value() -> Inst
fn reserved_value() -> Inst
sourcefn 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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<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,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.