src/cmd/compile/internal/ssa/testdata/hist.go
55:	func test() {
57:		l := line{point{1 + zero, 2 + zero}, point{3 + zero, 4 + zero}}
58:		tinycall()                // this forces l etc to stack
57:		l := line{point{1 + zero, 2 + zero}, point{3 + zero, 4 + zero}}
59:		dx := l.end.x - l.begin.x //gdb-dbg=(l.begin.x,l.end.y)//gdb-opt=(l,dx/O,dy/O)
l = {begin = {x = 1, y = 2}, end = {x = 3, y = 4}}
dx = <Optimized out, as expected>
dy = <Optimized out, as expected>
60:		dy := l.end.y - l.begin.y //gdb-opt=(dx,dy/O)
dx = 2
dy = <Optimized out, as expected>
61:		sink = dx + dy            //gdb-opt=(dx,dy)
dx = 2
dy = 2
63:		hist := make([]int, 7)                                //gdb-opt=(dx/O,dy/O) // TODO sink is missing if this code is in 'test' instead of 'main'
dx = <Optimized out, as expected>
dy = <Optimized out, as expected>
64:		var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A) // TODO cannedInput/A is missing if this code is in 'test' instead of 'main'
65:		if len(os.Args) > 1 {
73:		scanner := bufio.NewScanner(reader)
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
75:			s := scanner.Text()
76:			i, err := strconv.ParseInt(s, 10, 64)
77:			if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i)
err = {tab = 0x0, data = 0x0}
hist =  []int = {0, 0, 0, 0, 0, 0, 0}
i = 1
81:			hist = ensure(int(i), hist)
82:			hist[int(i)]++
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
75:			s := scanner.Text()
76:			i, err := strconv.ParseInt(s, 10, 64)
77:			if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i)
err = {tab = 0x0, data = 0x0}
hist =  []int = {0, 1, 0, 0, 0, 0, 0}
i = 1
81:			hist = ensure(int(i), hist)
82:			hist[int(i)]++
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
75:			s := scanner.Text()
76:			i, err := strconv.ParseInt(s, 10, 64)
77:			if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i)
err = {tab = 0x0, data = 0x0}
hist =  []int = {0, 2, 0, 0, 0, 0, 0}
i = 1
81:			hist = ensure(int(i), hist)
82:			hist[int(i)]++
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
75:			s := scanner.Text()
76:			i, err := strconv.ParseInt(s, 10, 64)
77:			if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i)
err = {tab = 0x0, data = 0x0}
hist =  []int = {0, 3, 0, 0, 0, 0, 0}
i = 2
81:			hist = ensure(int(i), hist)
82:			hist[int(i)]++
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
75:			s := scanner.Text()
76:			i, err := strconv.ParseInt(s, 10, 64)
77:			if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i)
err = {tab = 0x0, data = 0x0}
hist =  []int = {0, 3, 1, 0, 0, 0, 0}
i = 2
81:			hist = ensure(int(i), hist)
82:			hist[int(i)]++
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
75:			s := scanner.Text()
76:			i, err := strconv.ParseInt(s, 10, 64)
77:			if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i)
err = {tab = 0x0, data = 0x0}
hist =  []int = {0, 3, 2, 0, 0, 0, 0}
i = 2
81:			hist = ensure(int(i), hist)
82:			hist[int(i)]++
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
75:			s := scanner.Text()
76:			i, err := strconv.ParseInt(s, 10, 64)
77:			if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i)
err = {tab = 0x0, data = 0x0}
hist =  []int = {0, 3, 3, 0, 0, 0, 0}
i = 4
81:			hist = ensure(int(i), hist)
82:			hist[int(i)]++
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
75:			s := scanner.Text()
76:			i, err := strconv.ParseInt(s, 10, 64)
77:			if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i)
err = {tab = 0x0, data = 0x0}
hist =  []int = {0, 3, 3, 0, 1, 0, 0}
i = 4
81:			hist = ensure(int(i), hist)
82:			hist[int(i)]++
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
75:			s := scanner.Text()
76:			i, err := strconv.ParseInt(s, 10, 64)
77:			if err != nil { //gdb-dbg=(i) //gdb-opt=(err,hist,i)
err = {tab = 0x0, data = 0x0}
hist =  []int = {0, 3, 3, 0, 2, 0, 0}
i = 5
81:			hist = ensure(int(i), hist)
82:			hist[int(i)]++
74:		for scanner.Scan() { //gdb-opt=(scanner/A)
scanner = (struct bufio.Scanner *) <A>
86:		for i, a := range hist {
87:			if a == 0 { //gdb-opt=(a,n,t)
a = 0
n = 0
t = 0
88:				continue
87:			if a == 0 { //gdb-opt=(a,n,t)
a = 3
n = 0
t = 0
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
91:			n += a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
90:			t += i * a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
90:			t += i * a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
86:		for i, a := range hist {
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
87:			if a == 0 { //gdb-opt=(a,n,t)
a = 3
n = 3
t = 3
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
91:			n += a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
90:			t += i * a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
90:			t += i * a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
86:		for i, a := range hist {
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
87:			if a == 0 { //gdb-opt=(a,n,t)
a = 0
n = 6
t = 9
88:				continue
87:			if a == 0 { //gdb-opt=(a,n,t)
a = 2
n = 6
t = 9
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
91:			n += a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
90:			t += i * a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
90:			t += i * a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
86:		for i, a := range hist {
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
87:			if a == 0 { //gdb-opt=(a,n,t)
a = 1
n = 8
t = 17
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
91:			n += a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
90:			t += i * a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
90:			t += i * a
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
86:		for i, a := range hist {
92:			fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
87:			if a == 0 { //gdb-opt=(a,n,t)
a = 0
n = 9
t = 22
88:				continue
98:	}