Versions in this module Expand all Collapse all v0 v0.1.4 Jan 4, 2022 v0.1.3 Dec 21, 2021 v0.1.1 Dec 6, 2021 v0.1.0 Dec 6, 2021 Changes in this version + func PrevBuildVal() interface + type Block struct + Comment string + Dominees []*Block + Idom *Block + Op op.BlockOp + Source string + func (blk *Block) AddPred(pred *Block) + func (blk *Block) AddSucc(succ *Block) + func (blk *Block) Control(i int) *Value + func (blk *Block) FindPathTo(fn func(*Block) bool) []*Block + func (blk *Block) Func() *Func + func (blk *Block) ID() ID + func (blk *Block) InsertControl(i int, val *Value) + func (blk *Block) InsertCopy(i int, val *Value, r reg.Reg) *Value + func (blk *Block) InsertInstr(i int, val *Value) + func (blk *Block) Instr(i int) *Value + func (blk *Block) IsAfter(other *Block) bool + func (blk *Block) LongString() string + func (blk *Block) NumControls() int + func (blk *Block) NumInstrs() int + func (blk *Block) NumPreds() int + func (blk *Block) NumSuccs() int + func (blk *Block) OpString() string + func (blk *Block) Pred(i int) *Block + func (blk *Block) RemoveControl(i int) + func (blk *Block) RemoveInstr(val *Value) bool + func (blk *Block) ReplaceControl(i int, val *Value) + func (blk *Block) SetControls(ctrls []*Value) + func (blk *Block) String() string + func (blk *Block) Succ(i int) *Block + func (blk *Block) SwapInstr(a *Value, b *Value) + func (blk *Block) VisitSuccessors(fn func(*Block) bool) + type Builder struct + func BuildAfter(val *Value) Builder + func BuildAt(blk *Block, index int) Builder + func BuildBefore(val *Value) Builder + func BuildReplacement(val *Value) Builder + func (bd Builder) Op(o op.Op, typ types.Type, args ...interface{}) Builder + func (bd Builder) PrevVal() *Value + type Func struct + ArgSlots int + Consts []*Value + Globals []*Value + LocalSlots int + Name string + NumCalls int + Params []*Value + Pkg *Package + Referenced bool + SpillSlots int + Type *types.Signature + func (fn *Func) BlockForID(id ID) *Block + func (fn *Func) BlockIDCount() int + func (fn *Func) Blocks() []*Block + func (fn *Func) Const(typ types.Type, val constant.Value) *Value + func (fn *Func) FixedReg(reg reg.Reg) *Value + func (fn *Func) InsertBlock(i int, blk *Block) + func (fn *Func) InstrIDCount() int + func (fn *Func) IntConst(val int64) *Value + func (fn *Func) LongString() string + func (fn *Func) NewBlock(blk Block) *Block + func (fn *Func) NewRegValue(op op.Op, typ types.Type, reg reg.Reg, args ...*Value) *Value + func (fn *Func) NewValue(op op.Op, typ types.Type, args ...*Value) *Value + func (fn *Func) NextBlockID() ID + func (fn *Func) RemoveBlock(i int) + func (fn *Func) String() string + func (fn *Func) ValueForID(id ID) *Value + type ID int + type Package struct + Funcs []*Func + Globals []*Value + NextStringNum int + Strings map[string]*Value + func (pkg *Package) AddGlobal(name string, typ types.Type) *Value + func (pkg *Package) LongString() string + func (pkg *Package) LookupFunc(name string) *Func + type Value struct + Op op.Op + Reg reg.Reg + Type types.Type + Value constant.Value + func (val *Value) Arg(i int) *Value + func (val *Value) ArgIndex(arg *Value) int + func (val *Value) ArgUse(i int) *Value + func (val *Value) Block() *Block + func (val *Value) BlockID() ID + func (val *Value) BlockUse(i int) *Block + func (val *Value) FindPathTo(fn func(*Value) bool) []*Value + func (val *Value) FindUsageSuccessorPaths() [][]*Block + func (val *Value) Func() *Func + func (val *Value) ID() ID + func (val *Value) IDString() string + func (val *Value) Index() int + func (val *Value) InsertArg(i int, arg *Value) + func (val *Value) IsAfter(other *Value) bool + func (val *Value) LongString() string + func (val *Value) NeedsReg() bool + func (val *Value) NumArgUses() int + func (val *Value) NumArgs() int + func (val *Value) NumBlockUses() int + func (val *Value) NumUses() int + func (val *Value) Remove() + func (val *Value) RemoveArg(i int) *Value + func (val *Value) ReplaceArg(i int, arg *Value) + func (val *Value) ReplaceOtherUsesWith(other *Value) bool + func (val *Value) ReplaceWith(other *Value) bool + func (val *Value) ShortString() string + func (val *Value) String() string