Struct rustc_codegen_llvm::abi::ArgAttributes
source · pub struct ArgAttributes {
pub regular: ArgAttribute,
pub arg_ext: ArgExtension,
pub pointee_size: Size,
pub pointee_align: Option<Align>,
}
Expand description
A compact representation of LLVM attributes (at least those relevant for this module) that can be manipulated without interacting with LLVM’s Attribute machinery.
Fields
regular: ArgAttribute
arg_ext: ArgExtension
pointee_size: Size
The minimum size of the pointee, guaranteed to be valid for the duration of the whole call (corresponding to LLVM’s dereferenceable and dereferenceable_or_null attributes).
pointee_align: Option<Align>
Trait Implementations
sourceimpl ArgAttributesExt for ArgAttributes
impl ArgAttributesExt for ArgAttributes
fn apply_attrs_to_llfn(
&self,
idx: AttributePlace,
cx: &CodegenCx<'_, '_>,
llfn: &Value
)
fn apply_attrs_to_callsite(
&self,
idx: AttributePlace,
cx: &CodegenCx<'_, '_>,
callsite: &Value
)
Auto Trait Implementations
impl RefUnwindSafe for ArgAttributes
impl Send for ArgAttributes
impl Sync for ArgAttributes
impl Unpin for ArgAttributes
impl UnwindSafe for ArgAttributes
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
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes