Home | History | Annotate | Download | only in ssa

Lines Matching refs:Func

13 // A Func represents a Go func declaration (or function literal) and
14 // its body. This package compiles each Func independently.
15 type Func struct {
49 // NumBlocks returns an integer larger than the id of any Block in the Func.
50 func (f *Func) NumBlocks() int {
54 // NumValues returns an integer larger than the id of any Value in the Func.
55 func (f *Func) NumValues() int {
60 func (f *Func) newSparseSet(n int) *sparseSet {
72 func (f *Func) retSparseSet(ss *sparseSet) {
83 func (f *Func) newValue(op Op, t Type, b *Block, line int32) *Value {
111 func (f *Func) LogStat(key string, args ...interface{}) {
124 func (f *Func) freeValue(v *Value) {
153 func (f *Func) NewBlock(kind BlockKind) *Block {
168 b.Func = f
177 func (f *Func) freeBlock(b *Block) {
178 if b.Func == nil {
190 func (b *Block) NewValue0(line int32, op Op, t Type) *Value {
191 v := b.Func.newValue(op, t, b, line)
198 func (b *Block) NewValue0I(line int32, op Op, t Type, auxint int64) *Value {
199 v := b.Func.newValue(op, t, b, line)
206 func (b *Block) NewValue0A(line int32, op Op, t Type, aux interface{}) *Value {
213 v := b.Func.newValue(op, t, b, line)
221 func (b *Block) NewValue0IA(line int32, op Op, t Type, auxint int64, aux interface{}) *Value {
222 v := b.Func.newValue(op, t, b, line)
230 func (b *Block) NewValue1(line int32, op Op, t Type, arg *Value) *Value {
231 v := b.Func.newValue(op, t, b, line)
240 func (b *Block) NewValue1I(line int32, op Op, t Type, auxint int64, arg *Value) *Value {
241 v := b.Func.newValue(op, t, b, line)
250 func (b *Block) NewValue1A(line int32, op Op, t Type, aux interface{}, arg *Value) *Value {
251 v := b.Func.newValue(op, t, b, line)
261 func (b *Block) NewValue1IA(line int32, op Op, t Type, auxint int64, aux interface{}, arg *Value) *Value {
262 v := b.Func.newValue(op, t, b, line)
272 func (b *Block) NewValue2(line int32, op Op, t Type, arg0, arg1 *Value) *Value {
273 v := b.Func.newValue(op, t, b, line)
284 func (b *Block) NewValue2I(line int32, op Op, t Type, auxint int64, arg0, arg1 *Value) *Value {
285 v := b.Func.newValue(op, t, b, line)
296 func (b *Block) NewValue3(line int32, op Op, t Type, arg0, arg1, arg2 *Value) *Value {
297 v := b.Func.newValue(op, t, b, line)
310 func (b *Block) NewValue3I(line int32, op Op, t Type, auxint int64, arg0, arg1, arg2 *Value) *Value {
311 v := b.Func.newValue(op, t, b, line)
324 func (b *Block) NewValue4(line int32, op Op, t Type, arg0, arg1, arg2, arg3 *Value) *Value {
325 v := b.Func.newValue(op, t, b, line)
336 func (f *Func) constVal(line int32, op Op, t Type, c int64, setAux bool) *Value {
371 func (f *Func) ConstBool(line int32, t Type, c bool) *Value {
378 func (f *Func) ConstInt8(line int32, t Type, c int8) *Value {
381 func (f *Func) ConstInt16(line int32, t Type, c int16) *Value {
384 func (f *Func) ConstInt32(line int32, t Type, c int32) *Value {
387 func (f *Func) ConstInt64(line int32, t Type, c int64) *Value {
390 func (f *Func) ConstFloat32(line int32, t Type, c float64) *Value {
393 func (f *Func) ConstFloat64(line int32, t Type, c float64) *Value {
397 func (f *Func) ConstSlice(line int32, t Type) *Value {
400 func (f *Func) ConstInterface(line int32, t Type) *Value {
403 func (f *Func) ConstNil(line int32, t Type) *Value {
406 func (f *Func) ConstEmptyString(line int32, t Type) *Value {
412 func (f *Func) Logf(msg string, args ...interface{}) { f.Config.Logf(msg, args...) }
413 func (f *Func) Log() bool { return f.Config.Log() }
414 func (f *Func) Fatalf(msg string, args ...interface{}) { f.Config.Fatalf(f.Entry.Line, msg, args...) }
416 func (f *Func) Free() {
445 *f = Func{} // just in case
449 func (f *Func) postorder() []*Block {
458 func (f *Func) Idom() []*Block {
467 func (f *Func) sdom() SparseTree {
475 func (f *Func) loopnest() *loopnest {
483 func (f *Func) invalidateCFG() {