| // Copyright 2021 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| // This testcase caused a crash when the register ABI was in effect, |
| // on amd64 (problem with register allocation). |
| func (w *M) walkP(p *P) *P { |
| func (w *M) walkOp(op *Op) *Op { |
| for i := range op.plist { |
| if s := w.walkP(&op.plist[i]); s != &op.plist[i] { |
| op.plist = make([]P, len(orig.plist)) |
| copy(op.plist, orig.plist) |
| o := Op{tag: "old", plist: []P{p1}} |
| if no.plist[0].tag != "anew" { |