go/test/fixedbugs
Russ Cox 5225854b74 cmd/gc: synthesize zeroed value for non-assignment context
CL 157910047 introduced code to turn a node representing
a zeroed composite literal into N, the nil Node* pointer
(which represents any zero, not the Go literal nil).

That's great for assignments like x = T{}, but it doesn't work
when T{} is used in a value context like T{}.v or x == T{}.
Fix those.

Should have no effect on performance; confirmed.
The deltas below are noise (compare ns/op):

benchmark                          old ns/op      new ns/op      delta
BenchmarkBinaryTree17              2902919192     2915228424     +0.42%
BenchmarkFannkuch11                2597417605     2630363685     +1.27%
BenchmarkFmtFprintfEmpty           73.7           74.8           +1.49%
BenchmarkFmtFprintfString          196            199            +1.53%
BenchmarkFmtFprintfInt             213            217            +1.88%
BenchmarkFmtFprintfIntInt          336            356            +5.95%
BenchmarkFmtFprintfPrefixedInt     289            294            +1.73%
BenchmarkFmtFprintfFloat           415            416            +0.24%
BenchmarkFmtManyArgs               1281           1271           -0.78%
BenchmarkGobDecode                 10271734       10307978       +0.35%
BenchmarkGobEncode                 8985021        9079442        +1.05%
BenchmarkGzip                      410233227      412266944      +0.50%
BenchmarkGunzip                    102114554      103272443      +1.13%
BenchmarkHTTPClientServer          45297          44993          -0.67%
BenchmarkJSONEncode                19499741       19498489       -0.01%
BenchmarkJSONDecode                76436733       74247497       -2.86%
BenchmarkMandelbrot200             4273814        4307292        +0.78%
BenchmarkGoParse                   4024594        4028937        +0.11%
BenchmarkRegexpMatchEasy0_32       131            135            +3.05%
BenchmarkRegexpMatchEasy0_1K       328            333            +1.52%
BenchmarkRegexpMatchEasy1_32       115            117            +1.74%
BenchmarkRegexpMatchEasy1_1K       931            948            +1.83%
BenchmarkRegexpMatchMedium_32      216            217            +0.46%
BenchmarkRegexpMatchMedium_1K      72669          72857          +0.26%
BenchmarkRegexpMatchHard_32        3818           3809           -0.24%
BenchmarkRegexpMatchHard_1K        121398         121945         +0.45%
BenchmarkRevcomp                   613996550      615145436      +0.19%
BenchmarkTemplate                  93678525       93267391       -0.44%
BenchmarkTimeParse                 414            411            -0.72%
BenchmarkTimeFormat                396            399            +0.76%

Fixes #8947.

LGTM=r
R=r, dave
CC=golang-codereviews
https://golang.org/cl/162130043
2014-10-24 10:27:39 -04:00
..
2009-07-30 16:46:14 -07:00
2009-09-17 10:27:04 -07:00
2009-09-17 10:27:04 -07:00
2010-09-13 15:42:14 -04:00
2012-05-02 16:56:26 +02:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:48:57 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-12-13 15:11:31 -08:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2014-07-16 19:27:10 -04:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2013-06-20 08:21:14 +02:00
2012-08-25 10:16:02 +02:00
2012-08-25 10:16:02 +02:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:30 -05:00
2012-08-25 10:16:02 +02:00
2012-09-28 08:30:30 -07:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-12-13 15:11:31 -08:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:30 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-21 22:54:07 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2013-02-01 23:10:02 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-24 13:17:26 +11:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-08-25 10:16:02 +02:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:49:59 -05:00
2012-02-18 22:15:42 +01:00
2012-08-25 10:16:02 +02:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:49:59 -05:00
2012-02-16 23:50:37 -05:00
2012-02-16 23:50:37 -05:00
2012-02-18 22:15:42 +01:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:50:37 -05:00
2012-02-16 23:50:37 -05:00
2012-02-16 23:50:37 -05:00
2014-07-16 19:27:10 -04:00
2012-02-24 13:17:26 +11:00
2012-02-16 23:50:37 -05:00
2012-09-28 08:30:30 -07:00
2012-08-25 10:16:02 +02:00
2012-09-28 08:30:30 -07:00
2012-02-18 22:15:42 +01:00
2012-02-16 23:50:37 -05:00
2012-06-07 03:06:40 -04:00
2012-09-28 08:30:30 -07:00
2013-06-20 08:21:14 +02:00
2013-12-12 17:18:12 -08:00
2014-03-27 14:05:57 -04:00
2012-02-16 23:49:30 -05:00
2013-12-12 17:18:12 -08:00
2013-06-20 08:21:14 +02:00
2013-06-20 08:21:14 +02:00
2013-06-26 18:05:02 +02:00
2013-06-20 08:21:14 +02:00
2013-12-12 17:18:12 -08:00
2012-12-22 16:46:01 -05:00
2013-01-18 22:54:27 +01:00
2012-11-21 08:39:45 +01:00
2013-12-12 17:18:12 -08:00
2013-12-12 17:18:12 -08:00
2013-06-28 23:08:07 +02:00
2013-06-20 08:21:14 +02:00
2013-06-28 23:08:07 +02:00
2013-12-12 17:18:12 -08:00
2013-12-12 17:18:12 -08:00
2013-12-12 17:18:12 -08:00
2013-01-08 00:23:02 +01:00
2013-12-12 17:18:12 -08:00
2013-12-12 17:18:12 -08:00
2013-02-14 14:49:04 -05:00
2013-12-12 17:18:12 -08:00
2013-12-12 17:18:12 -08:00
2013-03-15 09:03:45 +01:00
2013-12-12 17:18:12 -08:00
2013-12-12 17:18:12 -08:00
2013-12-12 17:18:12 -08:00
2013-12-12 17:18:12 -08:00
2013-06-28 23:08:07 +02:00
2013-09-09 12:49:39 -04:00
2013-09-09 20:36:19 +02:00
2014-05-20 11:38:34 -04:00
2014-03-03 19:55:40 -05:00
2014-02-24 19:51:59 +01:00
2014-05-27 21:53:39 -07:00
2014-05-19 15:08:04 -04:00
2014-05-27 23:59:06 -04:00
2014-06-11 20:34:46 -04:00
2014-06-12 16:34:36 -04:00
2014-07-18 20:59:55 -04:00