From 4c4ca8312064cc47bc3b3cd5efc43ff5b89f4dff Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Thu, 11 Aug 2016 09:54:04 -0400 Subject: [PATCH] cmd/compile: remove nil check in accessing PAUTOHEAP variable CL 23393 introduces PAUTOHEAP, and access of PAUTOHEAP variable is rewritten to indirection of a PAUTO variable. Mark this variable non-nil, so this indirection does not introduce extra nil checks. Change-Id: I31853eed5e60238b6c5bc0546e2e9ab340dcddd9 Reviewed-on: https://go-review.googlesource.com/26831 Run-TryBot: Cherry Zhang TryBot-Result: Gobot Gobot Reviewed-by: Keith Randall --- src/cmd/compile/internal/gc/walk.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cmd/compile/internal/gc/walk.go b/src/cmd/compile/internal/gc/walk.go index 1e7d80d3e9..88ac347ad7 100644 --- a/src/cmd/compile/internal/gc/walk.go +++ b/src/cmd/compile/internal/gc/walk.go @@ -506,7 +506,9 @@ func walkexpr(n *Node, init *Nodes) *Node { if n.Op == ONAME && n.Class == PAUTOHEAP { nn := Nod(OIND, n.Name.Heapaddr, nil) nn = typecheck(nn, Erv) - return walkexpr(nn, init) + nn = walkexpr(nn, init) + nn.Left.NonNil = true + return nn } opswitch: -- 2.48.1