mirror of
https://github.com/golang/go
synced 2024-10-05 18:21:21 -06:00
[dev.ssa] cmd/compile: don't issue nops for static data
It confuses live variable analysis to have a bunch of unreachable no-ops at the end of a function. Symptom is: gc/plive.go:483 panic: interface conversion: interface {} is nil, not *gc.BasicBlock I don't see any reason why the old compiler needs these no-ops either. all.bash passes with the equivalent code removed on master. Change-Id: Ifcd2c3e139aa16314f08aebc9079b2fb7aa60556 Reviewed-on: https://go-review.googlesource.com/16132 Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
parent
97728b6575
commit
fbfc18c522
@ -1431,9 +1431,6 @@ func gen_as_init(n *Node, reportOnly bool) bool {
|
|||||||
case OSLICEARR:
|
case OSLICEARR:
|
||||||
if nr.Right.Op == OKEY && nr.Right.Left == nil && nr.Right.Right == nil {
|
if nr.Right.Op == OKEY && nr.Right.Left == nil && nr.Right.Right == nil {
|
||||||
nr = nr.Left
|
nr = nr.Left
|
||||||
if !reportOnly {
|
|
||||||
gused(nil) // in case the data is the dest of a goto
|
|
||||||
}
|
|
||||||
nl := nr
|
nl := nr
|
||||||
if nr == nil || nr.Op != OADDR {
|
if nr == nil || nr.Op != OADDR {
|
||||||
goto no
|
goto no
|
||||||
|
Loading…
Reference in New Issue
Block a user