pub struct IntegerOverflowFlagsAttr {
pub nsw: bool,
pub nuw: bool,
}Expand description
Integer overflow flags for arithmetic operations. The description below is from LLVM’s release notes that added the flags. “nsw” and “nuw” bits indicate that the operation is guaranteed to not overflow (in the signed or unsigned case, respectively). This gives the optimizer more information and can be used for things like C signed integer values, which are undefined on overflow.
Fields§
§nsw: bool§nuw: boolTrait Implementations§
Source§impl Attribute for IntegerOverflowFlagsAttr
impl Attribute for IntegerOverflowFlagsAttr
Source§fn get_attr_id(&self) -> AttrId
fn get_attr_id(&self) -> AttrId
Get an Attribute’s static name. This is not per instantnce.
It is mostly useful for printing and parsing the attribute.
Source§fn get_attr_id_static() -> AttrId
fn get_attr_id_static() -> AttrId
Same as get_attr_id, but without the self reference.
Source§impl Clone for IntegerOverflowFlagsAttr
impl Clone for IntegerOverflowFlagsAttr
Source§fn clone(&self) -> IntegerOverflowFlagsAttr
fn clone(&self) -> IntegerOverflowFlagsAttr
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IntegerOverflowFlagsAttr
impl Debug for IntegerOverflowFlagsAttr
Source§impl Default for IntegerOverflowFlagsAttr
impl Default for IntegerOverflowFlagsAttr
Source§fn default() -> IntegerOverflowFlagsAttr
fn default() -> IntegerOverflowFlagsAttr
Returns the “default value” for a type. Read more
Source§impl Hash for IntegerOverflowFlagsAttr
impl Hash for IntegerOverflowFlagsAttr
Source§impl Parsable for IntegerOverflowFlagsAttr
impl Parsable for IntegerOverflowFlagsAttr
Source§type Parsed = IntegerOverflowFlagsAttr
type Parsed = IntegerOverflowFlagsAttr
The type of the parsed entity.
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>
Define a parser using existing combinators and call
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>
fn parser<'a>( arg: Self::Arg, ) -> Box<dyn Parser<Stream<Stream<Stream<Stream<IteratorStream<CharIterator<'a>>, SourcePosition>>>, State<'a>>, PartialState = (), Output = Self::Parsed> + 'a>
Get a parser combinator that can work on StateStream as its input.
Source§impl PartialEq for IntegerOverflowFlagsAttr
impl PartialEq for IntegerOverflowFlagsAttr
Source§impl Printable for IntegerOverflowFlagsAttr
impl Printable for IntegerOverflowFlagsAttr
Source§impl Verify for IntegerOverflowFlagsAttr
impl Verify for IntegerOverflowFlagsAttr
impl Eq for IntegerOverflowFlagsAttr
impl StructuralPartialEq for IntegerOverflowFlagsAttr
Auto Trait Implementations§
impl Freeze for IntegerOverflowFlagsAttr
impl RefUnwindSafe for IntegerOverflowFlagsAttr
impl Send for IntegerOverflowFlagsAttr
impl Sync for IntegerOverflowFlagsAttr
impl Unpin for IntegerOverflowFlagsAttr
impl UnsafeUnpin for IntegerOverflowFlagsAttr
impl UnwindSafe for IntegerOverflowFlagsAttr
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
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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.