pub const Function = struct {
pub const ops = [_]AbbrevOp{
.{ .literal = @backingInt(ModuleBlock.Code.FUNCTION) }, // Code
.{ .vbr = 16 }, // strtab_offset
.{ .vbr = 16 }, // strtab_size
.{ .fixed_runtime = Builder.Type },
.{ .fixed = @bitSizeOf(Builder.CallConv) },
.{ .fixed = 1 }, // isproto
.{ .fixed = @bitSizeOf(Builder.Linkage) },
.{ .vbr = 16 }, // paramattr
.{ .fixed = @bitSizeOf(Builder.Alignment) },
.{ .vbr = 16 }, // section
.{ .fixed = @bitSizeOf(Builder.Visibility) },
.{ .literal = 0 }, // gc
.{ .fixed = @bitSizeOf(Builder.UnnamedAddr) },
.{ .literal = 0 }, // prologuedata
.{ .fixed = @bitSizeOf(Builder.DllStorageClass) },
.{ .literal = 0 }, // comdat
.{ .literal = 0 }, // prefixdata
.{ .literal = 0 }, // personalityfn
.{ .fixed = @bitSizeOf(Builder.Preemption) },
.{ .fixed = @bitSizeOf(Builder.AddrSpace) },
};
strtab_offset: usize,
strtab_size: usize,
type_index: Builder.Type,
call_conv: Builder.CallConv,
is_proto: bool,
linkage: Builder.Linkage,
paramattr: usize,
alignment: @Int(.unsigned, @bitSizeOf(Builder.Alignment)),
section: usize,
visibility: Builder.Visibility,
unnamed_addr: Builder.UnnamedAddr,
dllstorageclass: Builder.DllStorageClass,
preemption: Builder.Preemption,
addr_space: Builder.AddrSpace,
}