go/src/cmd/compile/internal/ssa/numberlines.go

func isPoorStatementOp(op Op) bool {}

// nextGoodStatementIndex returns an index at i or later that is believed
// to be a good place to start the statement for b.  This decision is
// based on v's Op, the possibility of a better later operation, and
// whether the values following i are the same line as v.
// If a better statement index isn't found, then i is returned.
func nextGoodStatementIndex(v *Value, i int, b *Block) int {}

// notStmtBoundary reports whether a value with opcode op can never be a statement
// boundary. Such values don't correspond to a user's understanding of a
// statement boundary.
func notStmtBoundary(op Op) bool {}

func (b *Block) FirstPossibleStmtValue() *Value {}

func flc(p src.XPos) string {}

type fileAndPair

type fileAndPairs

func (fap fileAndPairs) Len() int {}

func (fap fileAndPairs) Less(i, j int) bool {}

func (fap fileAndPairs) Swap(i, j int) {}

// -d=ssa/number_lines/stats=1 (that bit) for line and file distribution statistics
// -d=ssa/number_lines/debug for information about why particular values are marked as statements.
func numberLines(f *Func) {}