pub(crate) struct InstructionBuilder {Show 15 fields
name: String,
doc: String,
format: Rc<InstructionFormat>,
operands_in: Option<Vec<Operand>>,
operands_out: Option<Vec<Operand>>,
is_terminator: bool,
is_branch: bool,
is_call: bool,
is_return: bool,
can_load: bool,
can_store: bool,
can_trap: bool,
other_side_effects: bool,
side_effects_idempotent: bool,
inst_builder_imm_method: bool,
}Fields§
§name: String§doc: String§format: Rc<InstructionFormat>§operands_in: Option<Vec<Operand>>§operands_out: Option<Vec<Operand>>§is_terminator: bool§is_branch: bool§is_call: bool§is_return: bool§can_load: bool§can_store: bool§can_trap: bool§other_side_effects: bool§side_effects_idempotent: bool§inst_builder_imm_method: boolImplementations§
Source§impl InstructionBuilder
impl InstructionBuilder
pub fn new<S: Into<String>>( name: S, doc: S, format: &Rc<InstructionFormat>, ) -> Self
pub fn operands_in(self, operands: Vec<Operand>) -> Self
pub fn operands_out(self, operands: Vec<Operand>) -> Self
Sourcepub fn terminates_block(self) -> Self
pub fn terminates_block(self) -> Self
Mark this instruction as a block terminator.
Sourcepub fn branches(self) -> Self
pub fn branches(self) -> Self
Mark this instruction as a branch instruction. This also implies that the instruction is a block terminator.
Sourcepub fn returns(self) -> Self
pub fn returns(self) -> Self
Mark this instruction as a return instruction. This also implies that the instruction is a block terminator.
Sourcepub fn other_side_effects(self) -> Self
pub fn other_side_effects(self) -> Self
Mark this instruction as one that has side-effects.
Sourcepub fn side_effects_idempotent(self) -> Self
pub fn side_effects_idempotent(self) -> Self
Mark this instruction as one whose side-effects may be de-duplicated.
Sourcepub fn inst_builder_imm_method(self, enabled: bool) -> Self
pub fn inst_builder_imm_method(self, enabled: bool) -> Self
Request that the InstBuilder get an additional {name}_imm
convenience method for this instruction. See
InstructionContent::inst_builder_imm_method.
fn build(self) -> Rc<InstructionContent>
Auto Trait Implementations§
impl !RefUnwindSafe for InstructionBuilder
impl !Send for InstructionBuilder
impl !Sync for InstructionBuilder
impl !UnwindSafe for InstructionBuilder
impl Freeze for InstructionBuilder
impl Unpin for InstructionBuilder
impl UnsafeUnpin for InstructionBuilder
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