From: Cherry Zhang Date: Thu, 11 Aug 2016 13:54:04 +0000 (-0400) Subject: cmd/compile: remove nil check in accessing PAUTOHEAP variable X-Git-Tag: go1.8beta1~1858 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=4c4ca8312064cc47bc3b3cd5efc43ff5b89f4dff;p=gostls13.git 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 --- 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: