mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: flag 'large' functions when -m=2+ in effect
When -m=N (where N > 1) is in effect, include a note in the trace output if a given function is considered "big" during inlining analysis, since this causes the inliner to be less aggressive. If a small change to a large function happens to nudge it over the large function threshold, it can be confusing for developers, thus it's probably worth including this info in the remark output. Change-Id: Id31a1b76371ab1ef9265ba28a377f97b0247d0a7 Reviewed-on: https://go-review.googlesource.com/c/go/+/460317 Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Than McIntosh <thanm@google.com> Reviewed-by: Keith Randall <khr@google.com>
This commit is contained in:
parent
1951857ec0
commit
733ba92187
2 changed files with 4 additions and 1 deletions
|
|
@ -742,6 +742,9 @@ func InlineCalls(fn *ir.Func, profile *pgo.Profile) {
|
|||
ir.CurFunc = fn
|
||||
maxCost := int32(inlineMaxBudget)
|
||||
if isBigFunc(fn) {
|
||||
if base.Flag.LowerM > 1 {
|
||||
fmt.Printf("%v: function %v considered 'big'; revising maxCost from %d to %d\n", ir.Line(fn), fn, maxCost, inlineBigFunctionMaxCost)
|
||||
}
|
||||
maxCost = inlineBigFunctionMaxCost
|
||||
}
|
||||
var inlCalls []*ir.InlinedCallExpr
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue