DoxigAlpha

callMemSet

Function parameters

Parameters

#
self:*WipFunction
@"inline":bool

Type definitions in this namespace

Types

#

Functions in this namespace

Functions

#

= 16

Values

#

Source

Implementation

#
pub fn callMemSet(
    self: *WipFunction,
    dst: Value,
    dst_align: Alignment,
    val: Value,
    len: Value,
    kind: MemoryAccessKind,
    @"inline": bool,
) Allocator.Error!Instruction.Index {
    var dst_attrs = [_]Attribute.Index{try self.builder.attr(.{ .@"align" = dst_align })};
    const value = try self.callIntrinsic(
        .normal,
        try self.builder.fnAttrs(&.{ .none, .none, try self.builder.attrs(&dst_attrs) }),
        if (@"inline") .@"memset.inline" else .memset,
        &.{ dst.typeOfWip(self), len.typeOfWip(self) },
        &.{ dst, val, len, switch (kind) {
            .normal => Value.false,
            .@"volatile" => Value.true,
        } },
        undefined,
    );
    return value.unwrap().instruction;
}