]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: use appendWalkStmt when possible
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Wed, 4 May 2022 19:52:07 +0000 (02:52 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Thu, 5 May 2022 01:33:01 +0000 (01:33 +0000)
Change-Id: I718ad2fd98a3d30087e169abdd5ba3cc4f4b36ba
Reviewed-on: https://go-review.googlesource.com/c/go/+/403999
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/walk/complit.go

index 3999f697d29c19196e2edf3644087d46aa9bee0a..df6d811d6242ce2cb5301fc6ed960d4ffbd55cd4 100644 (file)
@@ -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) {