]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: refine statement marking in numberlines
authorDavid Chase <drchase@google.com>
Tue, 30 Jul 2019 20:23:55 +0000 (16:23 -0400)
committerDavid Chase <drchase@google.com>
Thu, 3 Oct 2019 21:06:11 +0000 (21:06 +0000)
commitf7f85bdc2c4a8a472a271a7d2333557ad6143eeb
tree45ac588f3e15ab08ed9efeac1f6e4e3d540ba769
parent3ad350820df8217b4d05c56923e533a196bace27
cmd/compile: refine statement marking in numberlines

1) An empty block is treated as not-a-statement unless its line differs
from at least one of its predecessors (it might make sense to
rearrange branches in predecessors, but that is a different issue).

2) When iterating forward to choose a "good" place for a statement,
actually check that the chosen place is in fact good.

3) Refactor same line and same file into methods on XPos and Pos.

This reduces the failure rate of ssa/stmtlines_test by 7-ish lines.
(And interacts favorably with later debugging CLs.)

Change-Id: Idb7cca7068f6fc9fbfdbe25bc0da15bcfc7b9d4a
Reviewed-on: https://go-review.googlesource.com/c/go/+/188217
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
src/cmd/compile/internal/ssa/numberlines.go
src/cmd/internal/src/pos.go
src/cmd/internal/src/xpos.go