]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: begin OpArg and OpPhi location lists at block start
authorDavid Chase <drchase@google.com>
Fri, 26 Oct 2018 16:00:07 +0000 (12:00 -0400)
committerDavid Chase <drchase@google.com>
Thu, 29 Nov 2018 14:00:26 +0000 (14:00 +0000)
commit2b58ca6e3de3d93817a4e6cc55378015eb3c2040
tree0f255bde39d3a544ec1ac6b1ea62a752f0c7a796
parent311d87dbebbb0238196d3aa13fd9a37f655e1fc3
cmd/compile: begin OpArg and OpPhi location lists at block start

For the entry block, make the "first instruction" be truly
the first instruction.  This allows printing of incoming
parameters with Delve.

Also be sure Phis are marked as being at the start of their
block.  This is observed to move location list pointers,
and where moved, they become correct.

Leading zero-width instructions include LoweredGetClosurePtr.
Because this instruction is actually architecture-specific,
and it is now tested for in 3 different places, also created
Op.isLoweredGetClosurePtr() to reduce future surprises.

Change-Id: Ic043b7265835cf1790382a74334b5714ae4060af
Reviewed-on: https://go-review.googlesource.com/c/145179
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/debug.go
src/cmd/compile/internal/ssa/schedule.go
src/cmd/compile/internal/ssa/tighten.go