@@ -201,6 +201,10 @@ def hlsl_Group : OptionGroup<"<HLSL group>">, Group<f_Group>,
201201 DocName<"HLSL options">,
202202 Visibility<[ClangOption]>;
203203
204+ def fsan_cov_Group : OptionGroup<"<-fsanitize-coverage group>">,
205+ Group<f_clang_Group>,
206+ DocName<"Sanitizer Coverage options">;
207+
204208// Feature groups - these take command line options that correspond directly to
205209// target specific features and can be translated directly from command line
206210// options.
@@ -2413,26 +2417,26 @@ def : Flag<["-"], "fno-sanitize-blacklist">,
24132417 Group<f_clang_Group>, Flags<[HelpHidden]>, Alias<fno_sanitize_ignorelist>;
24142418
24152419def fsanitize_coverage : CommaJoined<["-"], "fsanitize-coverage=">,
2416- Group<f_clang_Group >,
2420+ Group<fsan_cov_Group >,
24172421 HelpText<"Specify the type of coverage instrumentation for Sanitizers">;
24182422def fno_sanitize_coverage : CommaJoined<["-"], "fno-sanitize-coverage=">,
2419- Group<f_clang_Group >, Visibility<[ClangOption, CLOption]>,
2423+ Group<fsan_cov_Group >, Visibility<[ClangOption, CLOption]>,
24202424 HelpText<"Disable features of coverage instrumentation for Sanitizers">,
24212425 Values<"func,bb,edge,indirect-calls,trace-bb,trace-cmp,trace-div,trace-gep,"
24222426 "8bit-counters,trace-pc,trace-pc-guard,no-prune,inline-8bit-counters,"
24232427 "inline-bool-flag">;
24242428def fsanitize_coverage_allowlist : Joined<["-"], "fsanitize-coverage-allowlist=">,
2425- Group<f_clang_Group >, Visibility<[ClangOption, CLOption]>,
2429+ Group<fsan_cov_Group >, Visibility<[ClangOption, CLOption]>,
24262430 HelpText<"Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones">,
24272431 MarshallingInfoStringVector<CodeGenOpts<"SanitizeCoverageAllowlistFiles">>;
24282432def fsanitize_coverage_ignorelist : Joined<["-"], "fsanitize-coverage-ignorelist=">,
2429- Group<f_clang_Group >, Visibility<[ClangOption, CLOption]>,
2433+ Group<fsan_cov_Group >, Visibility<[ClangOption, CLOption]>,
24302434 HelpText<"Disable sanitizer coverage instrumentation for modules and functions "
24312435 "that match the provided special case list, even the allowed ones">,
24322436 MarshallingInfoStringVector<CodeGenOpts<"SanitizeCoverageIgnorelistFiles">>;
24332437def fsanitize_coverage_stack_depth_callback_min_EQ
24342438 : Joined<["-"], "fsanitize-coverage-stack-depth-callback-min=">,
2435- Group<f_clang_Group >,
2439+ Group<fsan_cov_Group >,
24362440 MetaVarName<"<M>">,
24372441 HelpText<"Use callback for max stack depth tracing with minimum stack "
24382442 "depth M">,
@@ -8068,70 +8072,87 @@ def linker_option : Joined<["--"], "linker-option=">,
80688072 HelpText<"Add linker option">,
80698073 MarshallingInfoStringVector<CodeGenOpts<"LinkerOptions">>;
80708074def fsanitize_coverage_type : Joined<["-"], "fsanitize-coverage-type=">,
8075+ Group<fsan_cov_Group>,
80718076 HelpText<"Sanitizer coverage type">,
80728077 MarshallingInfoInt<CodeGenOpts<"SanitizeCoverageType">>;
80738078def fsanitize_coverage_indirect_calls
80748079 : Flag<["-"], "fsanitize-coverage-indirect-calls">,
8080+ Group<fsan_cov_Group>,
80758081 HelpText<"Enable sanitizer coverage for indirect calls">,
80768082 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageIndirectCalls">>;
80778083def fsanitize_coverage_trace_bb
80788084 : Flag<["-"], "fsanitize-coverage-trace-bb">,
8085+ Group<fsan_cov_Group>,
80798086 HelpText<"Enable basic block tracing in sanitizer coverage">,
80808087 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageTraceBB">>;
80818088def fsanitize_coverage_trace_cmp
80828089 : Flag<["-"], "fsanitize-coverage-trace-cmp">,
8090+ Group<fsan_cov_Group>,
80838091 HelpText<"Enable cmp instruction tracing in sanitizer coverage">,
80848092 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageTraceCmp">>;
80858093def fsanitize_coverage_trace_div
80868094 : Flag<["-"], "fsanitize-coverage-trace-div">,
8095+ Group<fsan_cov_Group>,
80878096 HelpText<"Enable div instruction tracing in sanitizer coverage">,
80888097 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageTraceDiv">>;
80898098def fsanitize_coverage_trace_gep
80908099 : Flag<["-"], "fsanitize-coverage-trace-gep">,
8100+ Group<fsan_cov_Group>,
80918101 HelpText<"Enable gep instruction tracing in sanitizer coverage">,
80928102 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageTraceGep">>;
80938103def fsanitize_coverage_8bit_counters
80948104 : Flag<["-"], "fsanitize-coverage-8bit-counters">,
8105+ Group<fsan_cov_Group>,
80958106 HelpText<"Enable frequency counters in sanitizer coverage">,
80968107 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverage8bitCounters">>;
80978108def fsanitize_coverage_inline_8bit_counters
80988109 : Flag<["-"], "fsanitize-coverage-inline-8bit-counters">,
8110+ Group<fsan_cov_Group>,
80998111 HelpText<"Enable inline 8-bit counters in sanitizer coverage">,
81008112 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageInline8bitCounters">>;
81018113def fsanitize_coverage_inline_bool_flag
81028114 : Flag<["-"], "fsanitize-coverage-inline-bool-flag">,
8115+ Group<fsan_cov_Group>,
81038116 HelpText<"Enable inline bool flag in sanitizer coverage">,
81048117 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageInlineBoolFlag">>;
81058118def fsanitize_coverage_pc_table
81068119 : Flag<["-"], "fsanitize-coverage-pc-table">,
8120+ Group<fsan_cov_Group>,
81078121 HelpText<"Create a table of coverage-instrumented PCs">,
81088122 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoveragePCTable">>;
81098123def fsanitize_coverage_control_flow
81108124 : Flag<["-"], "fsanitize-coverage-control-flow">,
8125+ Group<fsan_cov_Group>,
81118126 HelpText<"Collect control flow of function">,
81128127 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageControlFlow">>;
81138128def fsanitize_coverage_trace_pc
81148129 : Flag<["-"], "fsanitize-coverage-trace-pc">,
8130+ Group<fsan_cov_Group>,
81158131 HelpText<"Enable PC tracing in sanitizer coverage">,
81168132 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageTracePC">>;
81178133def fsanitize_coverage_trace_pc_guard
81188134 : Flag<["-"], "fsanitize-coverage-trace-pc-guard">,
8135+ Group<fsan_cov_Group>,
81198136 HelpText<"Enable PC tracing with guard in sanitizer coverage">,
81208137 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageTracePCGuard">>;
81218138def fsanitize_coverage_no_prune
81228139 : Flag<["-"], "fsanitize-coverage-no-prune">,
8140+ Group<fsan_cov_Group>,
81238141 HelpText<"Disable coverage pruning (i.e. instrument all blocks/edges)">,
81248142 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageNoPrune">>;
81258143def fsanitize_coverage_stack_depth
81268144 : Flag<["-"], "fsanitize-coverage-stack-depth">,
8145+ Group<fsan_cov_Group>,
81278146 HelpText<"Enable max stack depth tracing">,
81288147 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageStackDepth">>;
81298148def fsanitize_coverage_trace_loads
81308149 : Flag<["-"], "fsanitize-coverage-trace-loads">,
8150+ Group<fsan_cov_Group>,
81318151 HelpText<"Enable tracing of loads">,
81328152 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageTraceLoads">>;
81338153def fsanitize_coverage_trace_stores
81348154 : Flag<["-"], "fsanitize-coverage-trace-stores">,
8155+ Group<fsan_cov_Group>,
81358156 HelpText<"Enable tracing of stores">,
81368157 MarshallingInfoFlag<CodeGenOpts<"SanitizeCoverageTraceStores">>;
81378158def fexperimental_sanitize_metadata_EQ_covered
0 commit comments