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