golang/go

cmd/compile: don't compile some unexported, inlined functions

Open

#41,117 opened on Aug 28, 2020

View on GitHub
 (5 comments) (2 reactions) (0 assignees)Go (19,008 forks)batch import
NeedsInvestigationToolSpeedcompiler/runtimehelp wanted

Repository metrics

Stars
 (133,883 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

If a function is:

  • inlined at all call sites
  • not exported
  • not referred to by value (any uses of the function are as a static call)
  • not present in any interface types in its containing package

then we don't need to compile that function.

I suspect that these conditions are frequently met, cheap to check, and reasonably easy to implement.

I thought we had an issue for this, but I don't see one. I don't plan to work on this. I'm filing it in case someone else wants to. :)

Contributor guide