35
bigarrayp *[1 << 26]int
37
37
bigstructp *BigStruct
43
43
_ = *intp // ERROR "generated nil check"
45
45
// This one should be removed but the block copy needs
46
46
// to be turned into its own pseudo-op in order to see
48
48
_ = *arrayp // ERROR "generated nil check"
50
// 0-byte indirect doesn't suffice
51
_ = *array0p // ERROR "generated nil check"
52
_ = *array0p // ERROR "removed repeated nil check" 386
54
_ = *intp // ERROR "removed repeated nil check"
55
_ = *arrayp // ERROR "removed repeated nil check"
50
// 0-byte indirect doesn't suffice.
51
// we don't registerize globals, so there are no removed repeated nil checks.
52
_ = *array0p // ERROR "generated nil check"
53
_ = *array0p // ERROR "generated nil check"
55
_ = *intp // ERROR "generated nil check"
56
_ = *arrayp // ERROR "generated nil check"
56
57
_ = *structp // ERROR "generated nil check"
57
_ = *emptyp // ERROR "generated nil check"
58
_ = *arrayp // ERROR "removed repeated nil check"
58
_ = *emptyp // ERROR "generated nil check"
59
_ = *arrayp // ERROR "generated nil check"
67
bigarrayp *[1 << 20]int
68
69
bigstructp *BigStruct
73
_ = *intp // ERROR "generated nil check"
74
_ = *arrayp // ERROR "generated nil check"
75
_ = *array0p // ERROR "generated nil check"
76
_ = *array0p // ERROR "removed repeated nil check"
77
_ = *intp // ERROR "removed repeated nil check"
78
_ = *arrayp // ERROR "removed repeated nil check"
79
_ = *structp // ERROR "generated nil check"
80
_ = *emptyp // ERROR "generated nil check"
81
_ = *arrayp // ERROR "removed repeated nil check"
82
_ = *bigarrayp // ERROR "generated nil check" ARM removed nil check before indirect!!
74
_ = *intp // ERROR "generated nil check"
75
_ = *arrayp // ERROR "generated nil check"
76
_ = *array0p // ERROR "generated nil check"
77
_ = *array0p // ERROR "removed repeated nil check"
78
_ = *intp // ERROR "removed repeated nil check"
79
_ = *arrayp // ERROR "removed repeated nil check"
80
_ = *structp // ERROR "generated nil check"
81
_ = *emptyp // ERROR "generated nil check"
82
_ = *arrayp // ERROR "removed repeated nil check"
83
_ = *bigarrayp // ERROR "generated nil check" ARM removed nil check before indirect!!
83
84
_ = *bigstructp // ERROR "generated nil check"
84
_ = *empty1p // ERROR "generated nil check"
85
_ = *empty1p // ERROR "generated nil check"
87
88
func fx10k() *[10000]int
91
92
func f3(x *[10000]int) {
92
93
// Using a huge type and huge offsets so the compiler
93
94
// does not expect the memory hardware to fault.
94
95
_ = x[9999] // ERROR "generated nil check"
97
98
if x[9999] != 0 { // ERROR "generated nil check"
103
_ = x[9999] // ERROR "generated nil check"
105
_ = x[9999] // ERROR "removed repeated nil check"
107
_ = x[9999] // ERROR "removed repeated nil check"
109
_ = x[9999] // ERROR "generated nil check"
113
_ = x[9999] // ERROR "generated nil check"
115
_ = x[9999] // ERROR "generated nil check"
117
_ = x[9999] // ERROR "generated nil check"
104
_ = x[9999] // ERROR "generated nil check"
106
_ = x[9999] // ERROR "removed repeated nil check"
108
_ = x[9999] // ERROR "removed repeated nil check"
110
_ = x[9999] // ERROR "generated nil check"
114
_ = x[9999] // ERROR "generated nil check"
116
_ = x[9999] // ERROR "generated nil check"
118
_ = x[9999] // ERROR "generated nil check"
120
121
// This one is a bit redundant, if we figured out that
121
122
// x wasn't going to change across the function call.