Skip to content

cmd/compile: PGO compiler diagnostics #58153

@prattmic

Description

@prattmic

Today, the compiler has some limited diagnostics of behavior with PGO using the -d=pgoinline=1 flag. These are really just ad-hoc logging points. We want more robust diagnostics, for reasons @josharian lays out well in #55022 (comment):

The more opaque the toolchain and its inputs are, the harder it is to (a) write safety checks that detect performance problems before they make it to production and (b) diagnose performance issues after they make it to production.

Plus (c) of making it easier for us to investigate compilers issues filed here.

Our current thinking for initial work here is to provide more complete/structured output of all optimization decisions, rather than just "decisions due to PGO", because the latter is ambiguous. e.g., if we decide to do an inline because of PGO and that affects the non-PGO heuristics further up the call tree, does that count as a "PGO" decision.

cc @cherrymui @aclements

Metadata

Metadata

Assignees

Labels

NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.compiler/runtimeIssues related to the Go compiler and/or runtime.

Type

No type

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions