]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: get rid of "volatile" in SSA
authorCherry Zhang <cherryyz@google.com>
Fri, 3 Feb 2017 00:47:59 +0000 (19:47 -0500)
committerCherry Zhang <cherryyz@google.com>
Fri, 3 Mar 2017 13:26:15 +0000 (13:26 +0000)
commit5bfd1ef036f2cd549f78a0acd3e2666b42bcc07d
tree18c23cf93f097115a76eccb93a5c6d563237ac57
parent4775b7feb10014751da2669da973fb852f09aebe
cmd/compile: get rid of "volatile" in SSA

A value is "volatile" if it is a pointer to the argument region
on stack which will be clobbered by function call. This is used
to make sure the value is safe when inserting write barrier calls.
The writebarrier pass can tell whether a value is such a pointer.
Therefore no need to mark it when building SSA and thread this
information through.

Passes "toolstash -cmp" on std.

Updates #17583.

Change-Id: Idc5fc0d710152b94b3c504ce8db55ea9ff5b5195
Reviewed-on: https://go-review.googlesource.com/36835
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/gen/genericOps.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/writebarrier.go