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§
source§impl 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§
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