pub struct InlineAsmOp { /* private fields */ }Expand description
Equivalent to LLVM’s inline assembly call.
§Operands
| operand | description |
|---|---|
inputs | input operands to the inline asm |
§Result(s):
| result | description |
|---|---|
res | the asm result (a void type when there is none) |
§Attribute(s):
Note: Only attributes defined directly as part of this operation are listed here. There may be others, not listed here, defined by interface implementations.
| Name | Static Name Identifier | Type |
|---|---|---|
llvm_inline_asm_template | ATTR_KEY_LLVM_INLINE_ASM_TEMPLATE | StringAttr |
llvm_inline_asm_constraints | ATTR_KEY_LLVM_INLINE_ASM_CONSTRAINTS | StringAttr |
llvm_inline_asm_side_effects | ATTR_KEY_LLVM_INLINE_ASM_SIDE_EFFECTS | BoolAttr |
llvm_inline_asm_attrs | ATTR_KEY_LLVM_INLINE_ASM_ATTRS | LlvmAttributesAttr |
Implementations§
Source§impl InlineAsmOp
impl InlineAsmOp
Sourcepub fn get_attr_llvm_inline_asm_template<'a>(
&self,
ctx: &'a Context,
) -> Option<Ref<'a, StringAttr>>
pub fn get_attr_llvm_inline_asm_template<'a>( &self, ctx: &'a Context, ) -> Option<Ref<'a, StringAttr>>
Get a Ref to the value of the attribute named llvm_inline_asm_template.
The Ref is a borrow of the containing Operation object.
Sourcepub fn set_attr_llvm_inline_asm_template(
&self,
ctx: &Context,
value: StringAttr,
)
pub fn set_attr_llvm_inline_asm_template( &self, ctx: &Context, value: StringAttr, )
Set the value of the attribute named llvm_inline_asm_template.
Sourcepub fn get_attr_llvm_inline_asm_constraints<'a>(
&self,
ctx: &'a Context,
) -> Option<Ref<'a, StringAttr>>
pub fn get_attr_llvm_inline_asm_constraints<'a>( &self, ctx: &'a Context, ) -> Option<Ref<'a, StringAttr>>
Get a Ref to the value of the attribute named llvm_inline_asm_constraints.
The Ref is a borrow of the containing Operation object.
Sourcepub fn set_attr_llvm_inline_asm_constraints(
&self,
ctx: &Context,
value: StringAttr,
)
pub fn set_attr_llvm_inline_asm_constraints( &self, ctx: &Context, value: StringAttr, )
Set the value of the attribute named llvm_inline_asm_constraints.
Sourcepub fn get_attr_llvm_inline_asm_side_effects<'a>(
&self,
ctx: &'a Context,
) -> Option<Ref<'a, BoolAttr>>
pub fn get_attr_llvm_inline_asm_side_effects<'a>( &self, ctx: &'a Context, ) -> Option<Ref<'a, BoolAttr>>
Get a Ref to the value of the attribute named llvm_inline_asm_side_effects.
The Ref is a borrow of the containing Operation object.
Sourcepub fn set_attr_llvm_inline_asm_side_effects(
&self,
ctx: &Context,
value: BoolAttr,
)
pub fn set_attr_llvm_inline_asm_side_effects( &self, ctx: &Context, value: BoolAttr, )
Set the value of the attribute named llvm_inline_asm_side_effects.
Sourcepub fn get_attr_llvm_inline_asm_attrs<'a>(
&self,
ctx: &'a Context,
) -> Option<Ref<'a, LlvmAttributesAttr>>
pub fn get_attr_llvm_inline_asm_attrs<'a>( &self, ctx: &'a Context, ) -> Option<Ref<'a, LlvmAttributesAttr>>
Get a Ref to the value of the attribute named llvm_inline_asm_attrs.
The Ref is a borrow of the containing Operation object.
Sourcepub fn set_attr_llvm_inline_asm_attrs(
&self,
ctx: &Context,
value: LlvmAttributesAttr,
)
pub fn set_attr_llvm_inline_asm_attrs( &self, ctx: &Context, value: LlvmAttributesAttr, )
Set the value of the attribute named llvm_inline_asm_attrs.
Source§impl InlineAsmOp
impl InlineAsmOp
Sourcepub fn new(
ctx: &mut Context,
result_ty: TypeHandle,
inputs: Vec<Value>,
asm_template: &str,
constraints: &str,
side_effects: bool,
) -> Self
pub fn new( ctx: &mut Context, result_ty: TypeHandle, inputs: Vec<Value>, asm_template: &str, constraints: &str, side_effects: bool, ) -> Self
Create a new InlineAsmOp.
Use a void result type for asm with no result value.
Trait Implementations§
Source§impl Clone for InlineAsmOp
impl Clone for InlineAsmOp
Source§fn clone(&self) -> InlineAsmOp
fn clone(&self) -> InlineAsmOp
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for InlineAsmOp
impl Eq for InlineAsmOp
Source§impl Hash for InlineAsmOp
impl Hash for InlineAsmOp
Source§impl OneResultInterface for InlineAsmOp
impl OneResultInterface for InlineAsmOp
Source§fn result_type(&self, ctx: &Context) -> TypeHandle
fn result_type(&self, ctx: &Context) -> TypeHandle
Source§impl Op for InlineAsmOp
impl Op for InlineAsmOp
Source§fn get_operation(&self) -> Ptr<Operation>
fn get_operation(&self) -> Ptr<Operation>
Source§fn get_opid_static() -> OpId
fn get_opid_static() -> OpId
Source§fn get_concrete_op_info() -> ConcreteOpInfowhere
Self: Sized,
fn get_concrete_op_info() -> ConcreteOpInfowhere
Self: Sized,
Source§impl Parsable for InlineAsmOp
impl Parsable for InlineAsmOp
Source§type Arg = Vec<(Identifier, Location)>
type Arg = Vec<(Identifier, Location)>
Source§fn parse<'__pliron_parse>(
state_stream: &mut StateStream<'__pliron_parse>,
arg: Self::Arg,
) -> ParseResult<'__pliron_parse, Self::Parsed>
fn parse<'__pliron_parse>( state_stream: &mut StateStream<'__pliron_parse>, arg: Self::Arg, ) -> ParseResult<'__pliron_parse, Self::Parsed>
into on [Parser::parse_stream] to get the final ParseResult.
Use state_stream.state as necessary.Source§impl PartialEq for InlineAsmOp
impl PartialEq for InlineAsmOp
Source§impl Printable for InlineAsmOp
impl Printable for InlineAsmOp
impl StructuralPartialEq for InlineAsmOp
Auto Trait Implementations§
impl !RefUnwindSafe for InlineAsmOp
impl !UnwindSafe for InlineAsmOp
impl Freeze for InlineAsmOp
impl Send for InlineAsmOp
impl Sync for InlineAsmOp
impl Unpin for InlineAsmOp
impl UnsafeUnpin for InlineAsmOp
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.