diff options
| author | Wayne Zuo <wdvxdr1123@gmail.com> | 2022-03-20 21:28:46 +0800 |
|---|---|---|
| committer | Matthew Dempsky <mdempsky@google.com> | 2022-03-25 22:34:45 +0000 |
| commit | 80a7504a13a5dccb60757d1fc66d71bcba359799 (patch) | |
| tree | ac43b3bf34523f4583782df78772037d3b0cd767 /src/cmd/compile/internal/inline | |
| parent | 3dac99ad4cdc7014343bcbddf01aca2d9e7a4e96 (diff) | |
| download | go-80a7504a13a5dccb60757d1fc66d71bcba359799.tar.xz | |
cmd/compile: enable inlining SELECT
Change-Id: I90c8e12a0be05d82bf6e147b5249859518f35c14
Reviewed-on: https://go-review.googlesource.com/c/go/+/394074
Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Trust: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/inline')
| -rw-r--r-- | src/cmd/compile/internal/inline/inl.go | 11 |
1 files changed, 7 insertions, 4 deletions
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) { |
