From: Cuong Manh Le Date: Wed, 4 May 2022 19:52:07 +0000 (+0700) Subject: cmd/compile: use appendWalkStmt when possible X-Git-Tag: go1.19beta1~425 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ed462a66a5e4b57402b509aa27c90342075231f0;p=gostls13.git cmd/compile: use appendWalkStmt when possible Change-Id: I718ad2fd98a3d30087e169abdd5ba3cc4f4b36ba Reviewed-on: https://go-review.googlesource.com/c/go/+/403999 TryBot-Result: Gopher Robot Reviewed-by: Matthew Dempsky Run-TryBot: Cuong Manh Le Reviewed-by: David Chase --- diff --git a/src/cmd/compile/internal/walk/complit.go b/src/cmd/compile/internal/walk/complit.go index 3999f697d2..df6d811d62 100644 --- a/src/cmd/compile/internal/walk/complit.go +++ b/src/cmd/compile/internal/walk/complit.go @@ -258,9 +258,7 @@ func fixedlit(ctxt initContext, kind initKind, n *ir.CompLitExpr, var_ ir.Node, case initKindStatic: genAsStatic(as) case initKindDynamic, initKindLocalCode: - a = orderStmtInPlace(as, map[string][]*ir.Name{}) - a = walkStmt(a) - init.Append(a) + appendWalkStmt(init, orderStmtInPlace(as, map[string][]*ir.Name{})) default: base.Fatalf("fixedlit: bad kind %d", kind) } @@ -396,19 +394,13 @@ func slicelit(ctxt initContext, n *ir.CompLitExpr, var_ ir.Node, init *ir.Nodes) // build list of vauto[c] = expr ir.SetPos(value) - as := typecheck.Stmt(ir.NewAssignStmt(base.Pos, a, value)) - as = orderStmtInPlace(as, map[string][]*ir.Name{}) - as = walkStmt(as) - init.Append(as) + as := ir.NewAssignStmt(base.Pos, a, value) + appendWalkStmt(init, orderStmtInPlace(typecheck.Stmt(as), map[string][]*ir.Name{})) } // make slice out of heap (6) a = ir.NewAssignStmt(base.Pos, var_, ir.NewSliceExpr(base.Pos, ir.OSLICE, vauto, nil, nil, nil)) - - a = typecheck.Stmt(a) - a = orderStmtInPlace(a, map[string][]*ir.Name{}) - a = walkStmt(a) - init.Append(a) + appendWalkStmt(init, orderStmtInPlace(typecheck.Stmt(a), map[string][]*ir.Name{})) } func maplit(n *ir.CompLitExpr, m ir.Node, init *ir.Nodes) {