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§
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>, )
Implementations on Foreign Types§
Source§impl<'ll, 'tcx> ArgAbiExt<'ll, 'tcx> for ArgAbi<'tcx, Ty<'tcx>>
impl<'ll, 'tcx> ArgAbiExt<'ll, 'tcx> for ArgAbi<'tcx, Ty<'tcx>>
Source§fn memory_ty(&self, cx: &GenericCx<'ll, FullCx<'ll, 'tcx>>) -> &'ll Type
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>,
)
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.