Versions in this module Expand all Collapse all v1 v1.0.0 Sep 11, 2020 Changes in this version + var Variadic variadicTy + func DataLayout(abi *device.ABI) string + func IsBool(ty Type) bool + func IsEnum(ty Type) bool + func IsFloat(ty Type) bool + func IsFunction(ty Type) bool + func IsInteger(ty Type) bool + func IsIntegerOrEnum(ty Type) bool + func IsPointer(ty Type) bool + func IsSignedInteger(ty Type) bool + func IsSignedIntegerOrEnum(ty Type) bool + func IsStruct(ty Type) bool + func IsUnsignedInteger(ty Type) bool + func IsVector(ty Type) bool + func StrideInBits(ty Type) int + type Alias struct + func (a Alias) AlignInBits() int + func (a Alias) SizeInBits() int + func (a Alias) String() string + func (a Alias) TypeName() string + type Array struct + Element Type + Size int + func (t Array) AlignInBits() int + func (t Array) SizeInBits() int + func (t Array) String() string + func (t Array) TypeName() string + type Builder struct + func (b *Builder) Add(x, y *Value) *Value + func (b *Builder) AddS(x *Value, y interface{}) *Value + func (b *Builder) AlignOf(ty Type) *Value + func (b *Builder) And(x, y *Value) *Value + func (b *Builder) Call(f *Function, args ...*Value) *Value + func (b *Builder) CallIndirect(f *Value, args ...*Value) *Value + func (b *Builder) Div(x, y *Value) *Value + func (b *Builder) DivS(x *Value, y interface{}) *Value + func (b *Builder) Equal(x, y *Value) *Value + func (b *Builder) ForN(n *Value, cb func(iterator *Value) (cont *Value)) + func (b *Builder) FuncAddr(f *Function) *Value + func (b *Builder) GreaterOrEqualTo(x, y *Value) *Value + func (b *Builder) GreaterThan(x, y *Value) *Value + func (b *Builder) If(cond *Value, onTrue func()) + func (b *Builder) IfElse(cond *Value, onTrue, onFalse func()) + func (b *Builder) Invert(x *Value) *Value + func (b *Builder) Invoke(f *Function, cleanup func(), args ...*Value) *Value + func (b *Builder) IsBlockTerminated() bool + func (b *Builder) LessOrEqualTo(x, y *Value) *Value + func (b *Builder) LessThan(x, y *Value) *Value + func (b *Builder) Local(name string, ty Type) *Value + func (b *Builder) LocalInit(name string, val *Value) *Value + func (b *Builder) Memcpy(dst, src, size *Value) + func (b *Builder) Memset(dst, val, size *Value) + func (b *Builder) Memzero(dst, size *Value) + func (b *Builder) Mul(x, y *Value) *Value + func (b *Builder) MulS(x *Value, y interface{}) *Value + func (b *Builder) Negate(x *Value) *Value + func (b *Builder) Not(x *Value) *Value + func (b *Builder) NotEqual(x, y *Value) *Value + func (b *Builder) One(ty Type) *Value + func (b *Builder) Or(x, y *Value) *Value + func (b *Builder) Parameter(i int) *Value + func (b *Builder) PrintfSpecifier(v *Value) (string, []*Value) + func (b *Builder) Rem(x, y *Value) *Value + func (b *Builder) Return(val *Value) + func (b *Builder) Scalar(v interface{}) *Value + func (b *Builder) Select(cond, x, y *Value) *Value + func (b *Builder) SetLocation(line, column int) + func (b *Builder) ShiftLeft(x, y *Value) *Value + func (b *Builder) ShiftRight(x, y *Value) *Value + func (b *Builder) Shuffle(x, y, indices *Value) *Value + func (b *Builder) SizeOf(ty Type) *Value + func (b *Builder) StructOf(name string, v []*Value) *Value + func (b *Builder) Sub(x, y *Value) *Value + func (b *Builder) SubS(x *Value, y interface{}) *Value + func (b *Builder) Switch(cases []SwitchCase, defaultCase func()) + func (b *Builder) Throw(v *Value) + func (b *Builder) Undef(ty Type) *Value + func (b *Builder) Vector(el0 interface{}, els ...interface{}) *Value + func (b *Builder) VectorN(n int, v interface{}) *Value + func (b *Builder) While(test func() *Value, loop func()) + func (b *Builder) Xor(x, y *Value) *Value + func (b *Builder) Zero(ty Type) *Value + type Const struct + Type Type + func (c Const) Value(b *Builder) *Value + func (v Const) Cast(ty Type) Const + type Enum struct + func (t Enum) AlignInBits() int + func (t Enum) SizeInBits() int + func (t Enum) String() string + func (t Enum) TypeName() string + type Executor struct + func (e *Executor) AlignOf(t Type) int + func (e *Executor) FieldOffsets(s *Struct) []int + func (e *Executor) FunctionAddress(f *Function) unsafe.Pointer + func (e *Executor) GlobalAddress(g Global) unsafe.Pointer + func (e *Executor) SizeOf(t Type) int + func (e *Executor) StructLayout(s *Struct) string + type Field struct + Name string + Type Type + type Float struct + func (t Float) AlignInBits() int + func (t Float) SizeInBits() int + func (t Float) String() string + func (t Float) TypeName() string + type Function struct + Name string + Type *FunctionType + func (f *Function) Build(cb func(*Builder)) (err error) + func (f *Function) Inline() *Function + func (f *Function) LinkInternal() *Function + func (f *Function) LinkOnceODR() *Function + func (f *Function) LinkPrivate() *Function + func (f *Function) SetLocation(path string, line int) *Function + func (f *Function) SetParameterNames(names ...string) *Function + func (f Function) String() string + type FunctionType struct + Signature Signature + func (t FunctionType) AlignInBits() int + func (t FunctionType) SizeInBits() int + func (t FunctionType) String() string + func (t FunctionType) TypeName() string + type Global struct + Type Type + func (g Global) LinkPrivate() Global + func (g Global) LinkPublic() Global + func (g Global) SetConstant(constant bool) Global + func (g Global) Value(b *Builder) *Value + func (v Global) Cast(ty Type) Global + type IndexOrName interface + type Integer struct + Signed bool + func (t Integer) AlignInBits() int + func (t Integer) SizeInBits() int + func (t Integer) String() string + func (t Integer) TypeName() string + type Module struct + Types Types + func NewModule(name string, target *device.ABI) *Module + func (m *Module) AlignOf(ty Type) Const + func (m *Module) Array(v interface{}, elTy Type) Const + func (m *Module) ConstStruct(ty *Struct, fields map[string]interface{}) Const + func (m *Module) Ctor(priority int32, cb func(*Builder)) + func (m *Module) EmitDebug() + func (m *Module) Executor(optimize bool) (*Executor, error) + func (m *Module) Extern(name string, ty Type) Global + func (m *Module) Function(resTy Type, name string, paramTys ...Type) *Function + func (m *Module) Global(name string, val Const) Global + func (m *Module) Object(optimize bool) ([]byte, error) + func (m *Module) OffsetOf(ty *Struct, name string) Const + func (m *Module) Optimize() + func (m *Module) ParseFunctionSignature(sig string) *Function + func (m *Module) Scalar(v interface{}) Const + func (m *Module) ScalarOfType(v interface{}, ty Type) Const + func (m *Module) SizeOf(ty Type) Const + func (m *Module) String() string + func (m *Module) Verify() error + func (m *Module) Zero(ty Type) Const + func (m *Module) ZeroGlobal(name string, ty Type) Global + type Pointer struct + Element Type + func (t Pointer) AlignInBits() int + func (t Pointer) SizeInBits() int + func (t Pointer) String() string + func (t Pointer) TypeName() string + type Signature struct + Parameters TypeList + Result Type + Variadic bool + type Struct struct + func (t *Struct) AlignInBits() int + func (t *Struct) Field(name string) Field + func (t *Struct) FieldIndex(name string) int + func (t *Struct) FieldOffsetInBits(idx int) int + func (t *Struct) Fields() []Field + func (t *Struct) SetBody(packed bool, fields ...Field) *Struct + func (t *Struct) SizeInBits() int + func (t *Struct) String() string + func (t *Struct) TypeName() string + type SwitchCase struct + Block func() + Conditions func() []*Value + type Triple struct + func NewTriple(arch, vendor, os, abi string) Triple + func TargetTriple(dev *device.ABI) Triple + func (t Triple) String() string + type Type interface + AlignInBits func() int + SizeInBits func() int + String func() string + TypeName func() string + func Scalar(ty Type) Type + func Underlying(ty Type) Type + type TypeList []Type + func (l TypeList) String() string + type Types struct + Bool Type + Float32 Type + Float64 Type + Int Type + Int16 Type + Int32 Type + Int64 Type + Int8 Type + Size Type + Uint Type + Uint16 Type + Uint32 Type + Uint64 Type + Uint8 Type + Uintptr Type + Void Type + func (t *Types) Alias(name string, to Type) Alias + func (t *Types) Array(el Type, n int) *Array + func (t *Types) DeclarePackedStruct(name string) *Struct + func (t *Types) DeclareStruct(name string) *Struct + func (t *Types) Enum(name string) Enum + func (t *Types) FieldsOf(v interface{}) []Field + func (t *Types) Function(resTy Type, paramTys ...Type) *FunctionType + func (t *Types) PackedStruct(name string, fields ...Field) *Struct + func (t *Types) Pointer(el Type) Pointer + func (t *Types) Struct(name string, fields ...Field) *Struct + func (t *Types) TypeOf(v interface{}) Type + func (t *Types) Vector(el Type, count int) Vector + type Value struct + func (v *Value) Bitcast(ty Type) *Value + func (v *Value) Cast(ty Type) *Value + func (v *Value) EmitDebug(name string) *Value + func (v *Value) Extract(at IndexOrName) *Value + func (v *Value) Index(path ...ValueIndexOrName) *Value + func (v *Value) Insert(at ValueIndexOrName, val *Value) *Value + func (v *Value) IsNull() *Value + func (v *Value) Load() *Value + func (v *Value) LoadUnaligned() *Value + func (v *Value) Name() string + func (v *Value) SetName(name string) *Value + func (v *Value) Store(val *Value) + func (v *Value) StoreUnaligned(val *Value) + func (v *Value) Type() Type + type ValueIndexOrName interface + type Vector struct + Count int + Element Type + func (t Vector) AlignInBits() int + func (t Vector) SizeInBits() int + func (t Vector) String() string + func (t Vector) TypeName() string Incompatible versions in this module v3.0.1+incompatible Apr 20, 2022 v3.0.0+incompatible Mar 14, 2022 v2.1.0+incompatible Oct 6, 2021 v2.0.0+incompatible Jul 8, 2021