pub struct InlineAsmOp { /* private fields */ }Expand description
§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 |
|---|---|---|
cube_asm_asm | ATTR_KEY_CUBE_ASM_ASM | StringAttr |
cube_asm_pure | ATTR_KEY_CUBE_ASM_PURE | UnitAttr |
cube_asm_memory_clobbers | ATTR_KEY_CUBE_ASM_MEMORY_CLOBBERS | MemoryClobbersAttr |
cube_asm_out_spec | ATTR_KEY_CUBE_ASM_OUT_SPEC | RegSpecsAttr |
cube_asm_in_spec | ATTR_KEY_CUBE_ASM_IN_SPEC | InputSpecsAttr |
Implementations§
Source§impl InlineAsmOp
impl InlineAsmOp
Sourcepub fn get_attr_cube_asm_asm<'a>(
&self,
ctx: &'a Context,
) -> Option<Ref<'a, StringAttr>>
pub fn get_attr_cube_asm_asm<'a>( &self, ctx: &'a Context, ) -> Option<Ref<'a, StringAttr>>
Get a Ref to the value of the attribute named cube_asm_asm.
The Ref is a borrow of the containing Operation object.
Sourcepub fn set_attr_cube_asm_asm(&self, ctx: &Context, value: StringAttr)
pub fn set_attr_cube_asm_asm(&self, ctx: &Context, value: StringAttr)
Set the value of the attribute named cube_asm_asm.
Sourcepub fn get_attr_cube_asm_pure<'a>(
&self,
ctx: &'a Context,
) -> Option<Ref<'a, UnitAttr>>
pub fn get_attr_cube_asm_pure<'a>( &self, ctx: &'a Context, ) -> Option<Ref<'a, UnitAttr>>
Get a Ref to the value of the attribute named cube_asm_pure.
The Ref is a borrow of the containing Operation object.
Sourcepub fn set_attr_cube_asm_pure(&self, ctx: &Context, value: UnitAttr)
pub fn set_attr_cube_asm_pure(&self, ctx: &Context, value: UnitAttr)
Set the value of the attribute named cube_asm_pure.
Sourcepub fn get_attr_cube_asm_memory_clobbers<'a>(
&self,
ctx: &'a Context,
) -> Option<Ref<'a, MemoryClobbersAttr>>
pub fn get_attr_cube_asm_memory_clobbers<'a>( &self, ctx: &'a Context, ) -> Option<Ref<'a, MemoryClobbersAttr>>
Get a Ref to the value of the attribute named cube_asm_memory_clobbers.
The Ref is a borrow of the containing Operation object.
Sourcepub fn set_attr_cube_asm_memory_clobbers(
&self,
ctx: &Context,
value: MemoryClobbersAttr,
)
pub fn set_attr_cube_asm_memory_clobbers( &self, ctx: &Context, value: MemoryClobbersAttr, )
Set the value of the attribute named cube_asm_memory_clobbers.
Sourcepub fn get_attr_cube_asm_out_spec<'a>(
&self,
ctx: &'a Context,
) -> Option<Ref<'a, RegSpecsAttr>>
pub fn get_attr_cube_asm_out_spec<'a>( &self, ctx: &'a Context, ) -> Option<Ref<'a, RegSpecsAttr>>
Get a Ref to the value of the attribute named cube_asm_out_spec.
The Ref is a borrow of the containing Operation object.
Sourcepub fn set_attr_cube_asm_out_spec(&self, ctx: &Context, value: RegSpecsAttr)
pub fn set_attr_cube_asm_out_spec(&self, ctx: &Context, value: RegSpecsAttr)
Set the value of the attribute named cube_asm_out_spec.
Sourcepub fn get_attr_cube_asm_in_spec<'a>(
&self,
ctx: &'a Context,
) -> Option<Ref<'a, InputSpecsAttr>>
pub fn get_attr_cube_asm_in_spec<'a>( &self, ctx: &'a Context, ) -> Option<Ref<'a, InputSpecsAttr>>
Get a Ref to the value of the attribute named cube_asm_in_spec.
The Ref is a borrow of the containing Operation object.
Sourcepub fn set_attr_cube_asm_in_spec(&self, ctx: &Context, value: InputSpecsAttr)
pub fn set_attr_cube_asm_in_spec(&self, ctx: &Context, value: InputSpecsAttr)
Set the value of the attribute named cube_asm_in_spec.
Source§impl InlineAsmOp
impl InlineAsmOp
pub fn new( ctx: &mut Context, result_types: Vec<TypeHandle>, out_spec: Vec<RegSpec>, asm: String, memory_clobbers: MemoryClobbers, arguments: Vec<Value>, in_spec: Vec<InputSpec>, ) -> Self
pub fn asm<'a>(&self, ctx: &'a Context) -> Ref<'a, StringAttr>
pub fn inputs(&self, ctx: &Context) -> Vec<Value>
pub fn results(&self, ctx: &Context) -> Vec<Value>
pub fn pure(&self, ctx: &Context) -> bool
pub fn set_pure(&self, ctx: &Context)
pub fn memory_clobbers<'a>(&self, ctx: &'a Context) -> Ref<'a, MemoryClobbers>
pub fn out_specs(&self, ctx: &Context) -> Vec<RegSpec>
pub fn in_specs(&self, ctx: &Context) -> Vec<InputSpec>
Trait Implementations§
Source§impl Clone for InlineAsmOp
impl Clone for InlineAsmOp
impl Copy for InlineAsmOp
impl Eq for InlineAsmOp
Source§impl Hash for InlineAsmOp
impl Hash for InlineAsmOp
Source§impl MaterializableOp for InlineAsmOp
impl MaterializableOp for InlineAsmOp
Source§impl MemoryEffectsOp for InlineAsmOp
impl MemoryEffectsOp for InlineAsmOp
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() -> (fn(Ptr<Operation>) -> OpBox, TypeId)where
Self: Sized,
fn get_concrete_op_info() -> (fn(Ptr<Operation>) -> OpBox, TypeId)where
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§fn parser<'a>(
arg: Self::Arg,
) -> Box<dyn Parser<Stream<Stream<Stream<Stream<IteratorStream<CharIterator<'a>>, SourcePosition>>>, State<'a>>, PartialState = (), Output = Self::Parsed> + 'a>where
Self::Parsed: 'a,
fn parser<'a>(
arg: Self::Arg,
) -> Box<dyn Parser<Stream<Stream<Stream<Stream<IteratorStream<CharIterator<'a>>, SourcePosition>>>, State<'a>>, PartialState = (), Output = Self::Parsed> + 'a>where
Self::Parsed: 'a,
Source§impl PartialEq for InlineAsmOp
impl PartialEq for InlineAsmOp
Source§impl Printable for InlineAsmOp
impl Printable for InlineAsmOp
Source§impl SideEffects for InlineAsmOp
impl SideEffects for InlineAsmOp
Source§fn has_side_effects(&self, ctx: &Context) -> bool
fn has_side_effects(&self, ctx: &Context) -> bool
true if the operation has side effects, and false otherwise.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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more