Versions in this module Expand all Collapse all v0 v0.1.0 Sep 22, 2016 Changes in this version + const AdjustAfter + const AdjustBefore + const AdjustWithin + const BranchLikely + const BranchUnknown + const BranchUnlikely + const CMPeq + const CMPgt + const CMPlt + const MaxStruct + const ScoreControl + const ScoreDefault + const ScoreFlags + const ScoreMemory + const ScorePhi + const ScoreVarDef + var BuildDebug int + var BuildStats int + var BuildTest int + var IntrinsicsDebug int + var IntrinsicsDisable bool + var TypeFlags = &CompilerType + var TypeInt128 = &CompilerType + var TypeInvalid = &CompilerType + var TypeMem = &CompilerType + var TypeVoid = &CompilerType + func Compile(f *Func) + func PhaseOption(phase, flag string, val int) string + type ArgSymbol struct + Node GCNode + Typ Type + func (s *ArgSymbol) String() string + type AutoSymbol struct + Node GCNode + Typ Type + func (s *AutoSymbol) String() string + type Block struct + Aux interface{} + Control *Value + FlagsLiveAtEnd bool + Func *Func + ID ID + Kind BlockKind + Likely BranchPrediction + Line int32 + Preds []Edge + Succs []Edge + Values []*Value + func (b *Block) AddEdgeTo(c *Block) + func (b *Block) Fatalf(msg string, args ...interface{}) + func (b *Block) HTML() string + func (b *Block) Log() bool + func (b *Block) Logf(msg string, args ...interface{}) + func (b *Block) LongHTML() string + func (b *Block) LongString() string + func (b *Block) NewValue0(line int32, op Op, t Type) *Value + func (b *Block) NewValue0A(line int32, op Op, t Type, aux interface{}) *Value + func (b *Block) NewValue0I(line int32, op Op, t Type, auxint int64) *Value + func (b *Block) NewValue0IA(line int32, op Op, t Type, auxint int64, aux interface{}) *Value + func (b *Block) NewValue1(line int32, op Op, t Type, arg *Value) *Value + func (b *Block) NewValue1A(line int32, op Op, t Type, aux interface{}, arg *Value) *Value + func (b *Block) NewValue1I(line int32, op Op, t Type, auxint int64, arg *Value) *Value + func (b *Block) NewValue1IA(line int32, op Op, t Type, auxint int64, aux interface{}, arg *Value) *Value + func (b *Block) NewValue2(line int32, op Op, t Type, arg0, arg1 *Value) *Value + func (b *Block) NewValue2I(line int32, op Op, t Type, auxint int64, arg0, arg1 *Value) *Value + func (b *Block) NewValue3(line int32, op Op, t Type, arg0, arg1, arg2 *Value) *Value + func (b *Block) NewValue3I(line int32, op Op, t Type, auxint int64, arg0, arg1, arg2 *Value) *Value + func (b *Block) SetControl(v *Value) + func (b *Block) String() string + func (b *Block) Unimplementedf(msg string, args ...interface{}) + type BlockKind int8 + const BlockAMD64EQ + const BlockAMD64EQF + const BlockAMD64GE + const BlockAMD64GT + const BlockAMD64LE + const BlockAMD64LT + const BlockAMD64NAN + const BlockAMD64NE + const BlockAMD64NEF + const BlockAMD64ORD + const BlockAMD64UGE + const BlockAMD64UGT + const BlockAMD64ULE + const BlockAMD64ULT + const BlockARMEQ + const BlockARMGE + const BlockARMGT + const BlockARMLE + const BlockARMLT + const BlockARMNE + const BlockARMUGE + const BlockARMUGT + const BlockARMULE + const BlockARMULT + const BlockCall + const BlockCheck + const BlockDefer + const BlockExit + const BlockFirst + const BlockIf + const BlockInvalid + const BlockPlain + const BlockRet + const BlockRetJmp + func (k BlockKind) String() string + type BranchPrediction int8 + type Cmp int8 + type CompilerType struct + Flags bool + Int128 bool + Memory bool + Name string + Void bool + func (t *CompilerType) Alignment() int64 + func (t *CompilerType) Compare(u Type) Cmp + func (t *CompilerType) ElemType() Type + func (t *CompilerType) FieldName(i int) string + func (t *CompilerType) FieldOff(i int) int64 + func (t *CompilerType) FieldType(i int) Type + func (t *CompilerType) IsArray() bool + func (t *CompilerType) IsBoolean() bool + func (t *CompilerType) IsComplex() bool + func (t *CompilerType) IsFlags() bool + func (t *CompilerType) IsFloat() bool + func (t *CompilerType) IsInteger() bool + func (t *CompilerType) IsInterface() bool + func (t *CompilerType) IsMemory() bool + func (t *CompilerType) IsPtrShaped() bool + func (t *CompilerType) IsSigned() bool + func (t *CompilerType) IsSlice() bool + func (t *CompilerType) IsString() bool + func (t *CompilerType) IsStruct() bool + func (t *CompilerType) IsVoid() bool + func (t *CompilerType) NumElem() int64 + func (t *CompilerType) NumFields() int + func (t *CompilerType) PtrTo() Type + func (t *CompilerType) SimpleString() string + func (t *CompilerType) Size() int64 + func (t *CompilerType) String() string + type Config struct + HTML *HTMLWriter + IntSize int64 + PtrSize int64 + func NewConfig(arch string, fe Frontend, ctxt *obj.Link, optimize bool) *Config + func (c *Config) DebugHashMatch(evname, name string) bool + func (c *Config) DebugNameMatch(evname, name string) bool + func (c *Config) Debug_checknil() bool + func (c *Config) Fatalf(line int32, msg string, args ...interface{}) + func (c *Config) Frontend() Frontend + func (c *Config) Log() bool + func (c *Config) Logf(msg string, args ...interface{}) + func (c *Config) NewFunc() *Func + func (c *Config) SparsePhiCutoff() uint64 + func (c *Config) Unimplementedf(line int32, msg string, args ...interface{}) + func (c *Config) Warnl(line int32, msg string, args ...interface{}) + type Edge struct + func (e Edge) Block() *Block + type ExternSymbol struct + Sym fmt.Stringer + Typ Type + func (s *ExternSymbol) String() string + type Frontend interface + Auto func(Type) GCNode + Line func(int32) string + SplitComplex func(LocalSlot) (LocalSlot, LocalSlot) + SplitInterface func(LocalSlot) (LocalSlot, LocalSlot) + SplitSlice func(LocalSlot) (LocalSlot, LocalSlot, LocalSlot) + SplitString func(LocalSlot) (LocalSlot, LocalSlot) + SplitStruct func(LocalSlot, int) LocalSlot + StringData func(string) interface{} + type Func struct + Blocks []*Block + Config *Config + Entry *Block + Name string + NamedValues map[LocalSlot][]*Value + Names []LocalSlot + RegAlloc []Location + StaticData interface{} + Type Type + func (f *Func) ConstBool(line int32, t Type, c bool) *Value + func (f *Func) ConstEmptyString(line int32, t Type) *Value + func (f *Func) ConstFloat32(line int32, t Type, c float64) *Value + func (f *Func) ConstFloat64(line int32, t Type, c float64) *Value + func (f *Func) ConstInt16(line int32, t Type, c int16) *Value + func (f *Func) ConstInt32(line int32, t Type, c int32) *Value + func (f *Func) ConstInt64(line int32, t Type, c int64) *Value + func (f *Func) ConstInt8(line int32, t Type, c int8) *Value + func (f *Func) ConstInterface(line int32, t Type) *Value + func (f *Func) ConstNil(line int32, t Type) *Value + func (f *Func) ConstSlice(line int32, t Type) *Value + func (f *Func) Fatalf(msg string, args ...interface{}) + func (f *Func) Free() + func (f *Func) HTML() string + func (f *Func) Log() bool + func (f *Func) LogStat(key string, args ...interface{}) + func (f *Func) Logf(msg string, args ...interface{}) + func (f *Func) NewBlock(kind BlockKind) *Block + func (f *Func) NumBlocks() int + func (f *Func) NumValues() int + func (f *Func) String() string + func (f *Func) Unimplementedf(msg string, args ...interface{}) + type GCNode interface + String func() string + Typ func() Type + type HTMLWriter struct + func NewHTMLWriter(path string, logger Logger, funcname string) *HTMLWriter + func (w *HTMLWriter) Close() + func (w *HTMLWriter) Printf(msg string, v ...interface{}) + func (w *HTMLWriter) WriteColumn(title string, html string) + func (w *HTMLWriter) WriteFunc(title string, f *Func) + func (w *HTMLWriter) WriteString(s string) + type ID int32 + type LocalSlot struct + N GCNode + Off int64 + Type Type + func (s LocalSlot) Name() string + type Location interface + Name func() string + type Logger interface + Debug_checknil func() bool + Fatalf func(line int32, msg string, args ...interface{}) + Log func() bool + Logf func(string, ...interface{}) + Unimplementedf func(line int32, msg string, args ...interface{}) + Warnl func(line int32, fmt_ string, args ...interface{}) + type Op int32 + const OpAMD64ADDL + const OpAMD64ADDLconst + const OpAMD64ADDQ + const OpAMD64ADDQconst + const OpAMD64ADDSD + const OpAMD64ADDSS + const OpAMD64ANDL + const OpAMD64ANDLconst + const OpAMD64ANDQ + const OpAMD64ANDQconst + const OpAMD64AVGQU + const OpAMD64BSFL + const OpAMD64BSFQ + const OpAMD64BSFW + const OpAMD64BSRL + const OpAMD64BSRQ + const OpAMD64BSRW + const OpAMD64BSWAPL + const OpAMD64BSWAPQ + const OpAMD64CALLclosure + const OpAMD64CALLdefer + const OpAMD64CALLgo + const OpAMD64CALLinter + const OpAMD64CALLstatic + const OpAMD64CMOVLEQconst + const OpAMD64CMOVLNEconst + const OpAMD64CMOVQEQconst + const OpAMD64CMOVQNEconst + const OpAMD64CMOVWEQconst + const OpAMD64CMOVWNEconst + const OpAMD64CMPB + const OpAMD64CMPBconst + const OpAMD64CMPL + const OpAMD64CMPLconst + const OpAMD64CMPQ + const OpAMD64CMPQconst + const OpAMD64CMPW + const OpAMD64CMPWconst + const OpAMD64CVTSD2SS + const OpAMD64CVTSL2SD + const OpAMD64CVTSL2SS + const OpAMD64CVTSQ2SD + const OpAMD64CVTSQ2SS + const OpAMD64CVTSS2SD + const OpAMD64CVTTSD2SL + const OpAMD64CVTTSD2SQ + const OpAMD64CVTTSS2SL + const OpAMD64CVTTSS2SQ + const OpAMD64DIVL + const OpAMD64DIVLU + const OpAMD64DIVQ + const OpAMD64DIVQU + const OpAMD64DIVSD + const OpAMD64DIVSS + const OpAMD64DIVW + const OpAMD64DIVWU + const OpAMD64DUFFCOPY + const OpAMD64DUFFZERO + const OpAMD64FlagEQ + const OpAMD64FlagGT_UGT + const OpAMD64FlagGT_ULT + const OpAMD64FlagLT_UGT + const OpAMD64FlagLT_ULT + const OpAMD64HMULB + const OpAMD64HMULBU + const OpAMD64HMULL + const OpAMD64HMULLU + const OpAMD64HMULQ + const OpAMD64HMULQU + const OpAMD64HMULW + const OpAMD64HMULWU + const OpAMD64InvertFlags + const OpAMD64LEAQ + const OpAMD64LEAQ1 + const OpAMD64LEAQ2 + const OpAMD64LEAQ4 + const OpAMD64LEAQ8 + const OpAMD64LoweredGetClosurePtr + const OpAMD64LoweredGetG + const OpAMD64LoweredNilCheck + const OpAMD64MODL + const OpAMD64MODLU + const OpAMD64MODQ + const OpAMD64MODQU + const OpAMD64MODW + const OpAMD64MODWU + const OpAMD64MOVBQSX + const OpAMD64MOVBQSXload + const OpAMD64MOVBQZX + const OpAMD64MOVBload + const OpAMD64MOVBloadidx1 + const OpAMD64MOVBstore + const OpAMD64MOVBstoreconst + const OpAMD64MOVBstoreconstidx1 + const OpAMD64MOVBstoreidx1 + const OpAMD64MOVLQSX + const OpAMD64MOVLQSXload + const OpAMD64MOVLQZX + const OpAMD64MOVLconst + const OpAMD64MOVLload + const OpAMD64MOVLloadidx1 + const OpAMD64MOVLloadidx4 + const OpAMD64MOVLstore + const OpAMD64MOVLstoreconst + const OpAMD64MOVLstoreconstidx1 + const OpAMD64MOVLstoreconstidx4 + const OpAMD64MOVLstoreidx1 + const OpAMD64MOVLstoreidx4 + const OpAMD64MOVOconst + const OpAMD64MOVOload + const OpAMD64MOVOstore + const OpAMD64MOVQconst + const OpAMD64MOVQconvert + const OpAMD64MOVQload + const OpAMD64MOVQloadidx1 + const OpAMD64MOVQloadidx8 + const OpAMD64MOVQstore + const OpAMD64MOVQstoreconst + const OpAMD64MOVQstoreconstidx1 + const OpAMD64MOVQstoreconstidx8 + const OpAMD64MOVQstoreidx1 + const OpAMD64MOVQstoreidx8 + const OpAMD64MOVSDconst + const OpAMD64MOVSDload + const OpAMD64MOVSDloadidx1 + const OpAMD64MOVSDloadidx8 + const OpAMD64MOVSDstore + const OpAMD64MOVSDstoreidx1 + const OpAMD64MOVSDstoreidx8 + const OpAMD64MOVSSconst + const OpAMD64MOVSSload + const OpAMD64MOVSSloadidx1 + const OpAMD64MOVSSloadidx4 + const OpAMD64MOVSSstore + const OpAMD64MOVSSstoreidx1 + const OpAMD64MOVSSstoreidx4 + const OpAMD64MOVWQSX + const OpAMD64MOVWQSXload + const OpAMD64MOVWQZX + const OpAMD64MOVWload + const OpAMD64MOVWloadidx1 + const OpAMD64MOVWloadidx2 + const OpAMD64MOVWstore + const OpAMD64MOVWstoreconst + const OpAMD64MOVWstoreconstidx1 + const OpAMD64MOVWstoreconstidx2 + const OpAMD64MOVWstoreidx1 + const OpAMD64MOVWstoreidx2 + const OpAMD64MULL + const OpAMD64MULLconst + const OpAMD64MULQ + const OpAMD64MULQconst + const OpAMD64MULSD + const OpAMD64MULSS + const OpAMD64NEGL + const OpAMD64NEGQ + const OpAMD64NOTL + const OpAMD64NOTQ + const OpAMD64ORL + const OpAMD64ORLconst + const OpAMD64ORQ + const OpAMD64ORQconst + const OpAMD64PXOR + const OpAMD64REPMOVSQ + const OpAMD64REPSTOSQ + const OpAMD64ROLBconst + const OpAMD64ROLLconst + const OpAMD64ROLQconst + const OpAMD64ROLWconst + const OpAMD64SARB + const OpAMD64SARBconst + const OpAMD64SARL + const OpAMD64SARLconst + const OpAMD64SARQ + const OpAMD64SARQconst + const OpAMD64SARW + const OpAMD64SARWconst + const OpAMD64SBBLcarrymask + const OpAMD64SBBQcarrymask + const OpAMD64SETA + const OpAMD64SETAE + const OpAMD64SETB + const OpAMD64SETBE + const OpAMD64SETEQ + const OpAMD64SETEQF + const OpAMD64SETG + const OpAMD64SETGE + const OpAMD64SETGEF + const OpAMD64SETGF + const OpAMD64SETL + const OpAMD64SETLE + const OpAMD64SETNAN + const OpAMD64SETNE + const OpAMD64SETNEF + const OpAMD64SETORD + const OpAMD64SHLL + const OpAMD64SHLLconst + const OpAMD64SHLQ + const OpAMD64SHLQconst + const OpAMD64SHRB + const OpAMD64SHRBconst + const OpAMD64SHRL + const OpAMD64SHRLconst + const OpAMD64SHRQ + const OpAMD64SHRQconst + const OpAMD64SHRW + const OpAMD64SHRWconst + const OpAMD64SQRTSD + const OpAMD64SUBL + const OpAMD64SUBLconst + const OpAMD64SUBQ + const OpAMD64SUBQconst + const OpAMD64SUBSD + const OpAMD64SUBSS + const OpAMD64TESTB + const OpAMD64TESTBconst + const OpAMD64TESTL + const OpAMD64TESTLconst + const OpAMD64TESTQ + const OpAMD64TESTQconst + const OpAMD64TESTW + const OpAMD64TESTWconst + const OpAMD64UCOMISD + const OpAMD64UCOMISS + const OpAMD64XORL + const OpAMD64XORLconst + const OpAMD64XORQ + const OpAMD64XORQconst + const OpARMADD + const OpARMADDconst + const OpARMCALLstatic + const OpARMCMP + const OpARMLessThan + const OpARMMOVWconst + const OpARMMOVWload + const OpARMMOVWstore + const OpAdd16 + const OpAdd32 + const OpAdd32F + const OpAdd64 + const OpAdd64F + const OpAdd8 + const OpAddPtr + const OpAddr + const OpAnd16 + const OpAnd32 + const OpAnd64 + const OpAnd8 + const OpAndB + const OpArg + const OpArrayIndex + const OpAvg64u + const OpBswap32 + const OpBswap64 + const OpClosureCall + const OpClz16 + const OpClz32 + const OpClz64 + const OpCom16 + const OpCom32 + const OpCom64 + const OpCom8 + const OpComplexImag + const OpComplexMake + const OpComplexReal + const OpConst16 + const OpConst32 + const OpConst32F + const OpConst64 + const OpConst64F + const OpConst8 + const OpConstBool + const OpConstInterface + const OpConstNil + const OpConstSlice + const OpConstString + const OpConvert + const OpCopy + const OpCtz16 + const OpCtz32 + const OpCtz64 + const OpCvt32Fto32 + const OpCvt32Fto64 + const OpCvt32Fto64F + const OpCvt32to32F + const OpCvt32to64F + const OpCvt64Fto32 + const OpCvt64Fto32F + const OpCvt64Fto64 + const OpCvt64to32F + const OpCvt64to64F + const OpDeferCall + const OpDiv16 + const OpDiv16u + const OpDiv32 + const OpDiv32F + const OpDiv32u + const OpDiv64 + const OpDiv64F + const OpDiv64u + const OpDiv8 + const OpDiv8u + const OpEq16 + const OpEq32 + const OpEq32F + const OpEq64 + const OpEq64F + const OpEq8 + const OpEqB + const OpEqInter + const OpEqPtr + const OpEqSlice + const OpFunc + const OpFwdRef + const OpGeq16 + const OpGeq16U + const OpGeq32 + const OpGeq32F + const OpGeq32U + const OpGeq64 + const OpGeq64F + const OpGeq64U + const OpGeq8 + const OpGeq8U + const OpGetClosurePtr + const OpGetG + const OpGoCall + const OpGreater16 + const OpGreater16U + const OpGreater32 + const OpGreater32F + const OpGreater32U + const OpGreater64 + const OpGreater64F + const OpGreater64U + const OpGreater8 + const OpGreater8U + const OpHmul16 + const OpHmul16u + const OpHmul32 + const OpHmul32u + const OpHmul64 + const OpHmul64u + const OpHmul8 + const OpHmul8u + const OpIData + const OpIMake + const OpITab + const OpInitMem + const OpInterCall + const OpInvalid + const OpIsInBounds + const OpIsNonNil + const OpIsSliceInBounds + const OpKeepAlive + const OpLeq16 + const OpLeq16U + const OpLeq32 + const OpLeq32F + const OpLeq32U + const OpLeq64 + const OpLeq64F + const OpLeq64U + const OpLeq8 + const OpLeq8U + const OpLess16 + const OpLess16U + const OpLess32 + const OpLess32F + const OpLess32U + const OpLess64 + const OpLess64F + const OpLess64U + const OpLess8 + const OpLess8U + const OpLoad + const OpLoadReg + const OpLrot16 + const OpLrot32 + const OpLrot64 + const OpLrot8 + const OpLsh16x16 + const OpLsh16x32 + const OpLsh16x64 + const OpLsh16x8 + const OpLsh32x16 + const OpLsh32x32 + const OpLsh32x64 + const OpLsh32x8 + const OpLsh64x16 + const OpLsh64x32 + const OpLsh64x64 + const OpLsh64x8 + const OpLsh8x16 + const OpLsh8x32 + const OpLsh8x64 + const OpLsh8x8 + const OpMod16 + const OpMod16u + const OpMod32 + const OpMod32u + const OpMod64 + const OpMod64u + const OpMod8 + const OpMod8u + const OpMove + const OpMul16 + const OpMul32 + const OpMul32F + const OpMul64 + const OpMul64F + const OpMul8 + const OpNeg16 + const OpNeg32 + const OpNeg32F + const OpNeg64 + const OpNeg64F + const OpNeg8 + const OpNeq16 + const OpNeq32 + const OpNeq32F + const OpNeq64 + const OpNeq64F + const OpNeq8 + const OpNeqB + const OpNeqInter + const OpNeqPtr + const OpNeqSlice + const OpNilCheck + const OpNot + const OpOffPtr + const OpOr16 + const OpOr32 + const OpOr64 + const OpOr8 + const OpOrB + const OpPhi + const OpPtrIndex + const OpRsh16Ux16 + const OpRsh16Ux32 + const OpRsh16Ux64 + const OpRsh16Ux8 + const OpRsh16x16 + const OpRsh16x32 + const OpRsh16x64 + const OpRsh16x8 + const OpRsh32Ux16 + const OpRsh32Ux32 + const OpRsh32Ux64 + const OpRsh32Ux8 + const OpRsh32x16 + const OpRsh32x32 + const OpRsh32x64 + const OpRsh32x8 + const OpRsh64Ux16 + const OpRsh64Ux32 + const OpRsh64Ux64 + const OpRsh64Ux8 + const OpRsh64x16 + const OpRsh64x32 + const OpRsh64x64 + const OpRsh64x8 + const OpRsh8Ux16 + const OpRsh8Ux32 + const OpRsh8Ux64 + const OpRsh8Ux8 + const OpRsh8x16 + const OpRsh8x32 + const OpRsh8x64 + const OpRsh8x8 + const OpSB + const OpSP + const OpSignExt16to32 + const OpSignExt16to64 + const OpSignExt32to64 + const OpSignExt8to16 + const OpSignExt8to32 + const OpSignExt8to64 + const OpSliceCap + const OpSliceLen + const OpSliceMake + const OpSlicePtr + const OpSqrt + const OpStaticCall + const OpStore + const OpStoreReg + const OpStringLen + const OpStringMake + const OpStringPtr + const OpStructMake0 + const OpStructMake1 + const OpStructMake2 + const OpStructMake3 + const OpStructMake4 + const OpStructSelect + const OpSub16 + const OpSub32 + const OpSub32F + const OpSub64 + const OpSub64F + const OpSub8 + const OpSubPtr + const OpTrunc16to8 + const OpTrunc32to16 + const OpTrunc32to8 + const OpTrunc64to16 + const OpTrunc64to32 + const OpTrunc64to8 + const OpUnknown + const OpVarDef + const OpVarKill + const OpVarLive + const OpXor16 + const OpXor32 + const OpXor64 + const OpXor8 + const OpZero + const OpZeroExt16to32 + const OpZeroExt16to64 + const OpZeroExt32to64 + const OpZeroExt8to16 + const OpZeroExt8to32 + const OpZeroExt8to64 + func StructMakeOp(nf int) Op + func (o Op) Asm() obj.As + func (o Op) String() string + type RBTint32 struct + func (t *RBTint32) Find(key int32) interface{} + func (t *RBTint32) Glb(x int32) (k int32, d interface{}) + func (t *RBTint32) GlbEq(x int32) (k int32, d interface{}) + func (t *RBTint32) Insert(key int32, data interface{}) interface{} + func (t *RBTint32) IsEmpty() bool + func (t *RBTint32) IsSingle() bool + func (t *RBTint32) Lub(x int32) (k int32, d interface{}) + func (t *RBTint32) LubEq(x int32) (k int32, d interface{}) + func (t *RBTint32) Max() (k int32, d interface{}) + func (t *RBTint32) Min() (k int32, d interface{}) + func (t *RBTint32) String() string + func (t *RBTint32) VisitInOrder(f func(int32, interface{})) + type Register struct + Num int32 + func (r *Register) Name() string + type SparseTree []SparseTreeNode + func (t SparseTree) Child(x *Block) *Block + func (t SparseTree) Sibling(x *Block) *Block + type SparseTreeHelper struct + Dom []*Block + Po []*Block + Ponums []int32 + Sdom []SparseTreeNode + func NewSparseTreeHelper(f *Func) *SparseTreeHelper + func (h *SparseTreeHelper) NewTree() *SparseTreeMap + type SparseTreeMap RBTint32 + func (m *SparseTreeMap) Find(b *Block, adjust int32, helper *SparseTreeHelper) interface{} + func (m *SparseTreeMap) Insert(b *Block, adjust int32, x interface{}, helper *SparseTreeHelper) + func (m *SparseTreeMap) String() string + type SparseTreeNode struct + func (s *SparseTreeNode) Entry() int32 + func (s *SparseTreeNode) Exit() int32 + func (s *SparseTreeNode) String() string + type Type interface + Alignment func() int64 + Compare func(Type) Cmp + ElemType func() Type + FieldName func(i int) string + FieldOff func(i int) int64 + FieldType func(i int) Type + IsArray func() bool + IsBoolean func() bool + IsComplex func() bool + IsFlags func() bool + IsFloat func() bool + IsInteger func() bool + IsInterface func() bool + IsMemory func() bool + IsPtrShaped func() bool + IsSigned func() bool + IsSlice func() bool + IsString func() bool + IsStruct func() bool + IsVoid func() bool + NumElem func() int64 + NumFields func() int + PtrTo func() Type + SimpleString func() string + Size func() int64 + String func() string + type TypeSource interface + CanSSA func(t Type) bool + TypeBool func() Type + TypeBytePtr func() Type + TypeFloat32 func() Type + TypeFloat64 func() Type + TypeInt func() Type + TypeInt16 func() Type + TypeInt32 func() Type + TypeInt64 func() Type + TypeInt8 func() Type + TypeString func() Type + TypeUInt16 func() Type + TypeUInt32 func() Type + TypeUInt64 func() Type + TypeUInt8 func() Type + TypeUintptr func() Type + type ValAndOff int64 + func (x ValAndOff) Int64() int64 + func (x ValAndOff) Off() int64 + func (x ValAndOff) String() string + func (x ValAndOff) Val() int64 + type ValHeap struct + func (h *ValHeap) Pop() interface{} + func (h *ValHeap) Push(x interface{}) + func (h ValHeap) Len() int + func (h ValHeap) Less(i, j int) bool + func (h ValHeap) Swap(i, j int) + type Value struct + Args []*Value + Aux interface{} + AuxInt int64 + Block *Block + ID ID + Line int32 + Op Op + Type Type + Uses int32 + func (v *Value) AddArg(w *Value) + func (v *Value) AddArgs(a ...*Value) + func (v *Value) AuxFloat() float64 + func (v *Value) AuxInt16() int16 + func (v *Value) AuxInt32() int32 + func (v *Value) AuxInt8() int8 + func (v *Value) AuxValAndOff() ValAndOff + func (v *Value) Fatalf(msg string, args ...interface{}) + func (v *Value) HTML() string + func (v *Value) Log() bool + func (v *Value) Logf(msg string, args ...interface{}) + func (v *Value) LongHTML() string + func (v *Value) LongString() string + func (v *Value) RemoveArg(i int) + func (v *Value) SetArg(i int, w *Value) + func (v *Value) SetArgs1(a *Value) + func (v *Value) SetArgs2(a *Value, b *Value) + func (v *Value) String() string + func (v *Value) Unimplementedf(msg string, args ...interface{})