1
2
3
4
5
6
7 package base
8
9
10 var Debug DebugFlags
11
12
13
14
15
16
17
18 type DebugFlags struct {
19 AlignHot int `help:"enable hot block alignment (currently requires -pgo)" concurrent:"ok"`
20 Append int `help:"print information about append compilation"`
21 Checkptr int `help:"instrument unsafe pointer conversions\n0: instrumentation disabled\n1: conversions involving unsafe.Pointer are instrumented\n2: conversions to unsafe.Pointer force heap allocation" concurrent:"ok"`
22 Closure int `help:"print information about closure compilation"`
23 CompressInstructions int `help:"use compressed instructions when possible (if supported by architecture)"`
24 Converthash string `help:"hash value for use in debugging changes to platform-dependent float-to-[u]int conversion" concurrent:"ok"`
25 Defer int `help:"print information about defer compilation"`
26 DisableNil int `help:"disable nil checks" concurrent:"ok"`
27 DumpInlFuncProps string `help:"dump function properties from inl heuristics to specified file"`
28 DumpInlCallSiteScores int `help:"dump scored callsites during inlining"`
29 InlScoreAdj string `help:"set inliner score adjustments (ex: -d=inlscoreadj=panicPathAdj:10/passConstToNestedIfAdj:-90)"`
30 InlBudgetSlack int `help:"amount to expand the initial inline budget when new inliner enabled. Defaults to 80 if option not set." concurrent:"ok"`
31 DumpPtrs int `help:"show Node pointers values in dump output"`
32 DwarfInl int `help:"print information about DWARF inlined function creation"`
33 EscapeMutationsCalls int `help:"print extra escape analysis diagnostics about mutations and calls" concurrent:"ok"`
34 EscapeDebug int `help:"print information about escape analysis and resulting optimizations" concurrent:"ok"`
35 EscapeAlias int `help:"print information about alias analysis" concurrent:"ok"`
36 EscapeAliasCheck int `help:"enable additional validation for alias analysis" concurrent:"ok"`
37 Export int `help:"print export data"`
38 FIPSHash string `help:"hash value for FIPS debugging" concurrent:"ok"`
39 Fmahash string `help:"hash value for use in debugging platform-dependent multiply-add use" concurrent:"ok"`
40 FreeAppend int `help:"insert frees of append results when proven safe (0 disabled, 1 enabled, 2 enabled + log)" concurrent:"ok"`
41 GCAdjust int `help:"log adjustments to GOGC" concurrent:"ok"`
42 GCCheck int `help:"check heap/gc use by compiler" concurrent:"ok"`
43 GCProg int `help:"print dump of GC programs"`
44 GCStart int `help:"specify \"starting\" compiler's heap size in MiB" concurrent:"ok"`
45 Gossahash string `help:"hash value for use in debugging the compiler"`
46 InlFuncsWithClosures int `help:"allow functions with closures to be inlined" concurrent:"ok"`
47 InlStaticInit int `help:"allow static initialization of inlined calls" concurrent:"ok"`
48 Libfuzzer int `help:"enable coverage instrumentation for libfuzzer"`
49 LiteralAllocHash string `help:"hash value for use in debugging literal allocation optimizations" concurrent:"ok"`
50 LoopVar int `help:"shared (0, default), 1 (private loop variables), 2, private + log"`
51 LoopVarHash string `help:"for debugging changes in loop behavior. Overrides experiment and loopvar flag."`
52 LocationLists int `help:"print information about DWARF location list creation"`
53 MaxShapeLen int `help:"hash shape names longer than this threshold (default 500)" concurrent:"ok"`
54 MergeLocals int `help:"merge together non-interfering local stack slots" concurrent:"ok"`
55 MergeLocalsDumpFunc string `help:"dump specified func in merge locals"`
56 MergeLocalsHash string `help:"hash value for debugging stack slot merging of local variables" concurrent:"ok"`
57 MergeLocalsTrace int `help:"trace debug output for locals merging"`
58 MergeLocalsHTrace int `help:"hash-selected trace debug output for locals merging"`
59 Nil int `help:"print information about nil checks"`
60 NoDeadLocals int `help:"disable deadlocals pass" concurrent:"ok"`
61 NoOpenDefer int `help:"disable open-coded defers" concurrent:"ok"`
62 NoRefName int `help:"do not include referenced symbol names in object file" concurrent:"ok"`
63 PCTab string `help:"print named pc-value table\nOne of: pctospadj, pctofile, pctoline, pctoinline, pctopcdata"`
64 Panic int `help:"show all compiler panics"`
65 Reshape int `help:"print information about expression reshaping"`
66 Shapify int `help:"print information about shaping recursive types"`
67 Slice int `help:"print information about slice compilation"`
68 SoftFloat int `help:"force compiler to emit soft-float code" concurrent:"ok"`
69 StaticCopy int `help:"print information about missed static copies" concurrent:"ok"`
70 SyncFrames int `help:"how many writer stack frames to include at sync points in unified export data"`
71 TailCall int `help:"print information about tail calls"`
72 TypeAssert int `help:"print information about type assertion inlining"`
73 WB int `help:"print information about write barriers"`
74 ABIWrap int `help:"print information about ABI wrapper generation"`
75 MayMoreStack string `help:"call named function before all stack growth checks" concurrent:"ok"`
76 PGODebug int `help:"debug profile-guided optimizations"`
77 PGOHash string `help:"hash value for debugging profile-guided optimizations" concurrent:"ok"`
78 PGOInline int `help:"enable profile-guided inlining" concurrent:"ok"`
79 PGOInlineCDFThreshold string `help:"cumulative threshold percentage for determining call sites as hot candidates for inlining" concurrent:"ok"`
80 PGOInlineBudget int `help:"inline budget for hot functions" concurrent:"ok"`
81 PGODevirtualize int `help:"enable profile-guided devirtualization; 0 to disable, 1 to enable interface devirtualization, 2 to enable function devirtualization" concurrent:"ok"`
82 RangeFuncCheck int `help:"insert code to check behavior of range iterator functions" concurrent:"ok"`
83 VariableMakeHash string `help:"hash value for debugging stack allocation of variable-sized make results" concurrent:"ok"`
84 VariableMakeThreshold int `help:"threshold in bytes for possible stack allocation of variable-sized make results" concurrent:"ok"`
85 WrapGlobalMapDbg int `help:"debug trace output for global map init wrapping"`
86 WrapGlobalMapCtl int `help:"global map init wrap control (0 => default, 1 => off, 2 => stress mode, no size cutoff)"`
87 ZeroCopy int `help:"enable zero-copy string->[]byte conversions" concurrent:"ok"`
88
89 ConcurrentOk bool
90 }
91
92
93
94
95 var DebugSSA func(phase, flag string, val int, valString string) string
96
View as plain text