diff --git a/src/cmd/compile/internal/inline/inl.go b/src/cmd/compile/internal/inline/inl.go
index 483b3d5..da905bd 100644
--- a/src/cmd/compile/internal/inline/inl.go
+++ b/src/cmd/compile/internal/inline/inl.go
@@ -358,8 +358,7 @@
 			return true
 		}
 
-	case ir.ORANGE,
-		ir.OSELECT,
+	case ir.OSELECT,
 		ir.OGO,
 		ir.ODEFER,
 		ir.ODCLTYPE, // can't print yet
diff --git a/test/fixedbugs/issue49100b.go b/test/fixedbugs/issue49100b.go
new file mode 100644
index 0000000..992ff96
--- /dev/null
+++ b/test/fixedbugs/issue49100b.go
@@ -0,0 +1,27 @@
+// run
+
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+func r(j int) {
+loop:
+	for i, c := range "goclang" {
+		if i == 2 {
+			continue loop
+		}
+		println(string(c))
+	}
+}
+
+func main() {
+loop:
+	for j := 0; j < 4; j++ {
+		r(j)
+		if j == 0 {
+			break loop
+		}
+	}
+}
diff --git a/test/fixedbugs/issue49100b.out b/test/fixedbugs/issue49100b.out
new file mode 100644
index 0000000..d5abb92
--- /dev/null
+++ b/test/fixedbugs/issue49100b.out
@@ -0,0 +1,6 @@
+g
+o
+l
+a
+n
+g
diff --git a/test/inline.go b/test/inline.go
index 599d523..d0ebe84 100644
--- a/test/inline.go
+++ b/test/inline.go
@@ -160,6 +160,19 @@
 	}
 }
 
+func inlineRangeIntoMe(data []int) { // ERROR "can inline inlineRangeIntoMe" "data does not escape"
+	rangeFunc(data, 12) // ERROR "inlining call to rangeFunc"
+}
+
+func rangeFunc(xs []int, b int) int { // ERROR "can inline rangeFunc" "xs does not escape"
+	for i, x := range xs {
+		if x == b {
+			return i
+		}
+	}
+	return -1
+}
+
 type T struct{}
 
 func (T) meth(int, int) {} // ERROR "can inline T.meth"
diff --git a/test/linkname.dir/linkname1.go b/test/linkname.dir/linkname1.go
index c61a0d7..7d51b94 100644
--- a/test/linkname.dir/linkname1.go
+++ b/test/linkname.dir/linkname1.go
@@ -1,6 +1,6 @@
 package x
 
-func indexByte(xs []byte, b byte) int { // ERROR "xs does not escape"
+func indexByte(xs []byte, b byte) int { // ERROR "xs does not escape" "can inline indexByte"
 	for i, x := range xs {
 		if x == b {
 			return i
