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>
case OSLICEARR:
if nr.Right.Op == OKEY && nr.Right.Left == nil && nr.Right.Right == nil {
nr = nr.Left
- if !reportOnly {
- gused(nil) // in case the data is the dest of a goto
- }
nl := nr
if nr == nil || nr.Op != OADDR {
goto no