From 80a7504a13a5dccb60757d1fc66d71bcba359799 Mon Sep 17 00:00:00 2001 From: Wayne Zuo Date: Sun, 20 Mar 2022 21:28:46 +0800 Subject: cmd/compile: enable inlining SELECT Change-Id: I90c8e12a0be05d82bf6e147b5249859518f35c14 Reviewed-on: https://go-review.googlesource.com/c/go/+/394074 Run-TryBot: Alberto Donizetti TryBot-Result: Gopher Robot Reviewed-by: Matthew Dempsky Trust: Keith Randall --- src/cmd/compile/internal/inline/inl.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/cmd/compile/internal/inline') diff --git a/src/cmd/compile/internal/inline/inl.go b/src/cmd/compile/internal/inline/inl.go index 716a7fbcd9..be01914d08 100644 --- a/src/cmd/compile/internal/inline/inl.go +++ b/src/cmd/compile/internal/inline/inl.go @@ -358,8 +358,7 @@ func (v *hairyVisitor) doNode(n ir.Node) bool { return true } - case ir.OSELECT, - ir.OGO, + case ir.OGO, ir.ODEFER, ir.ODCLTYPE, // can't print yet ir.OTAILCALL: @@ -1310,7 +1309,7 @@ func (subst *inlsubst) node(n ir.Node) ir.Node { ir.EditChildren(m, subst.edit) if subst.newclofn == nil { - // Translate any label on FOR, RANGE loops or SWITCH + // Translate any label on FOR, RANGE loops, SWITCH or SELECT switch m.Op() { case ir.OFOR: m := m.(*ir.ForStmt) @@ -1326,8 +1325,12 @@ func (subst *inlsubst) node(n ir.Node) ir.Node { m := m.(*ir.SwitchStmt) m.Label = translateLabel(m.Label) return m - } + case ir.OSELECT: + m := m.(*ir.SelectStmt) + m.Label = translateLabel(m.Label) + return m + } } switch m := m.(type) { -- cgit v1.3