aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssagen
diff options
context:
space:
mode:
authorDavid Chase <drchase@google.com>2021-04-21 10:30:25 -0400
committerDavid Chase <drchase@google.com>2021-04-24 20:08:46 +0000
commit70deaa33ebd91944484526ab368fa19c499ff29f (patch)
tree1c53e2d4ec0961fb50021691cc657a418879a968 /src/cmd/compile/internal/ssagen
parente7db792fc539603a61b89ae27104730a0a92c1e6 (diff)
downloadgo-70deaa33ebd91944484526ab368fa19c499ff29f.tar.gz
go-70deaa33ebd91944484526ab368fa19c499ff29f.zip
cmd/compile: extend GOSSAFUNC match to well-formed package suffix match.
e.g., LeadingZeros, bits.LeadingZeros, math/bits.LeadingZeros but not its.LeadingZeros Change-Id: Ib9a57e4db0af03c55bf5b5027aa6f8a5a84f2134 Reviewed-on: https://go-review.googlesource.com/c/go/+/312291 Trust: David Chase <drchase@google.com> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/compile/internal/ssagen')
-rw-r--r--src/cmd/compile/internal/ssagen/ssa.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/ssagen/ssa.go b/src/cmd/compile/internal/ssagen/ssa.go
index c293e4db19..800d6a0b63 100644
--- a/src/cmd/compile/internal/ssagen/ssa.go
+++ b/src/cmd/compile/internal/ssagen/ssa.go
@@ -399,8 +399,10 @@ func okOffset(offset int64) int64 {
func buildssa(fn *ir.Func, worker int) *ssa.Func {
name := ir.FuncName(fn)
printssa := false
- if ssaDump != "" { // match either a simple name e.g. "(*Reader).Reset", or a package.name e.g. "compress/gzip.(*Reader).Reset"
- printssa = name == ssaDump || base.Ctxt.Pkgpath+"."+name == ssaDump
+ if ssaDump != "" { // match either a simple name e.g. "(*Reader).Reset", package.name e.g. "compress/gzip.(*Reader).Reset", or subpackage name "gzip.(*Reader).Reset"
+ pkgDotName := base.Ctxt.Pkgpath+"."+name
+ printssa = name == ssaDump ||
+ strings.HasSuffix(pkgDotName, ssaDump) && (pkgDotName == ssaDump || strings.HasSuffix(pkgDotName, "/"+ssaDump))
}
var astBuf *bytes.Buffer
if printssa {