Skip to content

Commit 9380a10

Browse files
committed
Rename add-pseudo-functions to annotate-debug-info
1 parent 8cdce5e commit 9380a10

File tree

8 files changed

+91
-91
lines changed

8 files changed

+91
-91
lines changed

clang/include/clang/Basic/CodeGenOptions.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -399,8 +399,8 @@ class CodeGenOptions : public CodeGenOptionsBase {
399399
/// (0.0 [default] to skip none, 1.0 to skip all).
400400
SanitizerMaskCutoffs SanitizeSkipHotCutoffs;
401401

402-
/// Set of sanitizer checks that will be wrapped inside pseudofunctions.
403-
SanitizerSet SanitizeAddPseudoFunctions;
402+
/// Set of sanitizer checks that will be annotated with debug info.
403+
SanitizerSet SanitizeAnnotateDebugInfo;
404404

405405
/// List of backend command-line options for -fembed-bitcode.
406406
std::vector<uint8_t> CmdArgs;

clang/include/clang/Driver/Options.td

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2533,30 +2533,30 @@ def fno_sanitize_merge_handlers : Flag<["-"], "fno-sanitize-merge">, Group<f_cla
25332533
Alias<fno_sanitize_merge_handlers_EQ>, AliasArgs<["all"]>,
25342534
Visibility<[ClangOption, CLOption]>,
25352535
HelpText<"Do not allow compiler to merge handlers for any sanitizers">;
2536-
def fsanitize_add_pseudo_functions_EQ
2537-
: CommaJoined<["-"], "fsanitize-add-pseudo-functions=">,
2536+
def fsanitize_annotate_debug_info_EQ
2537+
: CommaJoined<["-"], "fsanitize-annotate-debug-info=">,
25382538
Group<f_clang_Group>,
2539-
HelpText<"Add pseudo-functions to checks for specified sanitizers, if "
2540-
"supported.">;
2541-
def fno_sanitize_add_pseudo_functions_EQ
2542-
: CommaJoined<["-"], "fno-sanitize-add-pseudo-functions=">,
2539+
HelpText<"Annotate checks with debug info for specified sanitizers, if "
2540+
"supported">;
2541+
def fno_sanitize_annotate_debug_info_EQ
2542+
: CommaJoined<["-"], "fno-sanitize-annotate-debug-info=">,
25432543
Group<f_clang_Group>,
2544-
HelpText<"Do not allow compiler to add pseudo-functions to checks for "
2544+
HelpText<"Do not allow compiler to annotate checks with debug info for "
25452545
"specified sanitizers">;
2546-
def fsanitize_add_pseudo_functions
2547-
: Flag<["-"], "fsanitize-add-pseudo-functions">,
2546+
def fsanitize_annotate_debug_info
2547+
: Flag<["-"], "fsanitize-annotate_debug_info">,
25482548
Group<f_clang_Group>,
2549-
Alias<fsanitize_add_pseudo_functions_EQ>,
2549+
Alias<fsanitize_annotate_debug_info_EQ>,
25502550
AliasArgs<["all"]>,
2551-
HelpText<"Allow compiler to add pseudo-functions to checks for all "
2551+
HelpText<"Allow compiler to annotate checks with debug info for all "
25522552
"sanitizers, where supported">;
2553-
def fno_sanitize_add_pseudo_functions
2554-
: Flag<["-"], "fno-sanitize-add-pseudo-functions">,
2553+
def fno_sanitize_annotate_debug_info
2554+
: Flag<["-"], "fno-sanitize-annotate_debug_info">,
25552555
Group<f_clang_Group>,
2556-
Alias<fno_sanitize_add_pseudo_functions_EQ>,
2556+
Alias<fno_sanitize_annotate_debug_info_EQ>,
25572557
AliasArgs<["all"]>,
25582558
Visibility<[ClangOption, CLOption]>,
2559-
HelpText<"Do not allow compiler to add pseudo-functions to checks for "
2559+
HelpText<"Do not allow compiler to annotate checks with debug info for "
25602560
"any sanitizers">;
25612561
def fsanitize_undefined_trap_on_error
25622562
: Flag<["-"], "fsanitize-undefined-trap-on-error">, Group<f_clang_Group>,

clang/include/clang/Driver/SanitizerArgs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class SanitizerArgs {
2727
SanitizerSet TrapSanitizers;
2828
SanitizerSet MergeHandlers;
2929
SanitizerMaskCutoffs SkipHotCutoffs;
30-
SanitizerSet AddPseudoFunctions;
30+
SanitizerSet AnnotateDebugInfo;
3131

3232
std::vector<std::string> UserIgnorelistFiles;
3333
std::vector<std::string> SystemIgnorelistFiles;

clang/lib/CodeGen/CGExpr.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,10 +1228,10 @@ void CodeGenFunction::EmitBoundsCheckImpl(const Expr *E, llvm::Value *Bound,
12281228
SanitizerScope SanScope(this);
12291229

12301230
llvm::DILocation *CheckDI = Builder.getCurrentDebugLocation();
1231+
auto CurrentCheckKind = SanitizerKind::SO_ArrayBounds;
12311232
// TODO: deprecate ClArrayBoundsPseudoFn
12321233
if ((ClArrayBoundsPseudoFn ||
1233-
CGM.getCodeGenOpts().SanitizeAddPseudoFunctions.has(
1234-
SanitizerKind::SO_ArrayBounds)) &&
1234+
CGM.getCodeGenOpts().SanitizeAnnotateDebugInfo.has(CurrentCheckKind)) &&
12351235
CheckDI) {
12361236
CheckDI = getDebugInfo()->CreateSyntheticInlineAt(
12371237
Builder.getCurrentDebugLocation(), "__ubsan_check_array_bounds");
@@ -1249,7 +1249,7 @@ void CodeGenFunction::EmitBoundsCheckImpl(const Expr *E, llvm::Value *Bound,
12491249
};
12501250
llvm::Value *Check = Accessed ? Builder.CreateICmpULT(IndexVal, BoundVal)
12511251
: Builder.CreateICmpULE(IndexVal, BoundVal);
1252-
EmitCheck(std::make_pair(Check, SanitizerKind::SO_ArrayBounds),
1252+
EmitCheck(std::make_pair(Check, CurrentCheckKind),
12531253
SanitizerHandler::OutOfBounds, StaticData, Index);
12541254
}
12551255

clang/lib/Driver/SanitizerArgs.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ static const SanitizerMask MergeDefault =
7676
SanitizerKind::Undefined | SanitizerKind::Vptr;
7777
static const SanitizerMask TrappingDefault =
7878
SanitizerKind::CFI | SanitizerKind::LocalBounds;
79-
static const SanitizerMask AddPseudoFunctionsDefault;
79+
static const SanitizerMask AnnotateDebugInfoDefault;
8080
static const SanitizerMask CFIClasses =
8181
SanitizerKind::CFIVCall | SanitizerKind::CFINVCall |
8282
SanitizerKind::CFIMFCall | SanitizerKind::CFIDerivedCast |
@@ -739,12 +739,12 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
739739
// Parse -fno-sanitize-top-hot flags
740740
SkipHotCutoffs = parseSanitizeSkipHotCutoffArgs(D, Args, DiagnoseErrors);
741741

742-
// Parse -f(no-)?sanitize-add-pseudo-functions flags
743-
SanitizerMask AddPseudoFunctionsKinds =
744-
parseSanitizeArgs(D, Args, DiagnoseErrors, AddPseudoFunctionsDefault, {},
745-
{}, options::OPT_fsanitize_add_pseudo_functions_EQ,
746-
options::OPT_fno_sanitize_add_pseudo_functions_EQ);
747-
AddPseudoFunctionsKinds &= Kinds;
742+
// Parse -f(no-)?sanitize-annotate-debug-info flags
743+
SanitizerMask AnnotateDebugInfoKinds =
744+
parseSanitizeArgs(D, Args, DiagnoseErrors, AnnotateDebugInfoDefault, {},
745+
{}, options::OPT_fsanitize_annotate_debug_info_EQ,
746+
options::OPT_fno_sanitize_annotate_debug_info_EQ);
747+
AnnotateDebugInfoKinds &= Kinds;
748748

749749
// Setup ignorelist files.
750750
// Add default ignorelist from resource directory for activated sanitizers,
@@ -1165,7 +1165,7 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
11651165

11661166
MergeHandlers.Mask |= MergeKinds;
11671167

1168-
AddPseudoFunctions.Mask |= AddPseudoFunctionsKinds;
1168+
AnnotateDebugInfo.Mask |= AnnotateDebugInfoKinds;
11691169

11701170
// Zero out SkipHotCutoffs for unused sanitizers
11711171
SkipHotCutoffs.clear(~Sanitizers.Mask);
@@ -1345,9 +1345,9 @@ void SanitizerArgs::addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args,
13451345
CmdArgs.push_back(
13461346
Args.MakeArgString("-fsanitize-skip-hot-cutoff=" + SkipHotCutoffsStr));
13471347

1348-
if (!AddPseudoFunctions.empty())
1349-
CmdArgs.push_back(Args.MakeArgString("-fsanitize-add-pseudo-functions=" +
1350-
toString(AddPseudoFunctions)));
1348+
if (!AnnotateDebugInfo.empty())
1349+
CmdArgs.push_back(Args.MakeArgString("-fsanitize-annotate-debug-info=" +
1350+
toString(AnnotateDebugInfo)));
13511351

13521352
addSpecialCaseListOpt(Args, CmdArgs,
13531353
"-fsanitize-ignorelist=", UserIgnorelistFiles);
@@ -1533,9 +1533,9 @@ SanitizerMask parseArgValues(const Driver &D, const llvm::opt::Arg *A,
15331533
A->getOption().matches(options::OPT_fno_sanitize_trap_EQ) ||
15341534
A->getOption().matches(options::OPT_fsanitize_merge_handlers_EQ) ||
15351535
A->getOption().matches(options::OPT_fno_sanitize_merge_handlers_EQ) ||
1536-
A->getOption().matches(options::OPT_fsanitize_add_pseudo_functions_EQ) ||
1536+
A->getOption().matches(options::OPT_fsanitize_annotate_debug_info_EQ) ||
15371537
A->getOption().matches(
1538-
options::OPT_fno_sanitize_add_pseudo_functions_EQ)) &&
1538+
options::OPT_fno_sanitize_annotate_debug_info_EQ)) &&
15391539
"Invalid argument in parseArgValues!");
15401540
SanitizerMask Kinds;
15411541
for (int i = 0, n = A->getNumValues(); i != n; ++i) {

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1839,8 +1839,8 @@ void CompilerInvocationBase::GenerateCodeGenArgs(const CodeGenOptions &Opts,
18391839
GenerateArg(Consumer, OPT_fsanitize_skip_hot_cutoff_EQ, Sanitizer);
18401840

18411841
for (StringRef Sanitizer :
1842-
serializeSanitizerKinds(Opts.SanitizeAddPseudoFunctions))
1843-
GenerateArg(Consumer, OPT_fsanitize_add_pseudo_functions_EQ, Sanitizer);
1842+
serializeSanitizerKinds(Opts.SanitizeAnnotateDebugInfo))
1843+
GenerateArg(Consumer, OPT_fsanitize_annotate_debug_info_EQ, Sanitizer);
18441844

18451845
if (!Opts.EmitVersionIdentMetadata)
18461846
GenerateArg(Consumer, OPT_Qn);
@@ -2337,9 +2337,9 @@ bool CompilerInvocation::ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args,
23372337
Args.getAllArgValues(OPT_fsanitize_skip_hot_cutoff_EQ), Diags);
23382338

23392339
parseSanitizerKinds(
2340-
"-fsanitize-add-pseudo-functions=",
2341-
Args.getAllArgValues(OPT_fsanitize_add_pseudo_functions_EQ), Diags,
2342-
Opts.SanitizeAddPseudoFunctions);
2340+
"-fsanitize-annotate-debug-info=",
2341+
Args.getAllArgValues(OPT_fsanitize_annotate_debug_info_EQ), Diags,
2342+
Opts.SanitizeAnnotateDebugInfo);
23432343

23442344
Opts.EmitVersionIdentMetadata = Args.hasFlag(OPT_Qy, OPT_Qn, true);
23452345

clang/test/CodeGen/bounds-checking-debuginfo.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 5
22

3-
// RUN: %clang_cc1 -emit-llvm -fdebug-prefix-map=%S/= -fno-ident -fdebug-compilation-dir=%S -fsanitize=array-bounds -fsanitize-trap=array-bounds -fsanitize-add-pseudo-functions=array-bounds -triple x86_64 -debug-info-kind=limited %s -o - | FileCheck --check-prefix=CHECK-TRAP %s
4-
// RUN: %clang_cc1 -emit-llvm -fdebug-prefix-map=%S/= -fno-ident -fdebug-compilation-dir=%S -fsanitize=array-bounds -fsanitize-add-pseudo-functions=array-bounds -triple x86_64 -debug-info-kind=limited %s -o - | FileCheck --check-prefix=CHECK-NOTRAP %s
3+
// RUN: %clang_cc1 -emit-llvm -fdebug-prefix-map=%S/= -fno-ident -fdebug-compilation-dir=%S -fsanitize=array-bounds -fsanitize-trap=array-bounds -fsanitize-annotate-debug-info=array-bounds -triple x86_64 -debug-info-kind=limited %s -o - | FileCheck --check-prefix=CHECK-TRAP %s
4+
// RUN: %clang_cc1 -emit-llvm -fdebug-prefix-map=%S/= -fno-ident -fdebug-compilation-dir=%S -fsanitize=array-bounds -fsanitize-annotate-debug-info=array-bounds -triple x86_64 -debug-info-kind=limited %s -o - | FileCheck --check-prefix=CHECK-NOTRAP %s
55

66
int f();
77
void d(double*);

0 commit comments

Comments
 (0)