Trait ArgAbiExt

Source
trait ArgAbiExt<'ll, 'tcx> {
    // Required methods
    fn memory_ty(&self, cx: &GenericCx<'ll, FullCx<'ll, 'tcx>>) -> &'ll Type;
    fn store(
        &self,
        bx: &mut GenericBuilder<'_, 'll, FullCx<'ll, 'tcx>>,
        val: &'ll Value,
        dst: PlaceRef<'tcx, &'ll Value>,
    );
    fn store_fn_arg(
        &self,
        bx: &mut GenericBuilder<'_, 'll, FullCx<'ll, 'tcx>>,
        idx: &mut usize,
        dst: PlaceRef<'tcx, &'ll Value>,
    );
}

Required Methods§

Source

fn memory_ty(&self, cx: &GenericCx<'ll, FullCx<'ll, 'tcx>>) -> &'ll Type

Source

fn store( &self, bx: &mut GenericBuilder<'_, 'll, FullCx<'ll, 'tcx>>, val: &'ll Value, dst: PlaceRef<'tcx, &'ll Value>, )

Source

fn store_fn_arg( &self, bx: &mut GenericBuilder<'_, 'll, FullCx<'ll, 'tcx>>, idx: &mut usize, dst: PlaceRef<'tcx, &'ll Value>, )

Implementations on Foreign Types§

Source§

impl<'ll, 'tcx> ArgAbiExt<'ll, 'tcx> for ArgAbi<'tcx, Ty<'tcx>>

Source§

fn memory_ty(&self, cx: &GenericCx<'ll, FullCx<'ll, 'tcx>>) -> &'ll Type

Gets the LLVM type for a place of the original Rust type of this argument/return, i.e., the result of type_of::type_of.

Source§

fn store( &self, bx: &mut GenericBuilder<'_, 'll, FullCx<'ll, 'tcx>>, val: &'ll Value, dst: PlaceRef<'tcx, &'ll Value>, )

Stores a direct/indirect value described by this ArgAbi into a place for the original Rust type of this argument/return. Can be used for both storing formal arguments into Rust variables or results of call/invoke instructions into their destinations.

Source§

fn store_fn_arg( &self, bx: &mut GenericBuilder<'_, 'll, FullCx<'ll, 'tcx>>, idx: &mut usize, dst: PlaceRef<'tcx, &'ll Value>, )

Implementors§