aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/inline
diff options
context:
space:
mode:
authorWayne Zuo <wdvxdr1123@gmail.com>2022-03-20 21:28:46 +0800
committerMatthew Dempsky <mdempsky@google.com>2022-03-25 22:34:45 +0000
commit80a7504a13a5dccb60757d1fc66d71bcba359799 (patch)
treeac43b3bf34523f4583782df78772037d3b0cd767 /src/cmd/compile/internal/inline
parent3dac99ad4cdc7014343bcbddf01aca2d9e7a4e96 (diff)
downloadgo-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.go11
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) {