[CSSPGO] Emit mangled dwarf names for line tables debug option under -fpseudo-probe-for-profiling

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D103909
This commit is contained in:
Hongtao Yu
2021-06-08 09:35:28 -07:00
parent 8908903eac
commit 64b2fb7967
2 changed files with 13 additions and 0 deletions

View File

@@ -3551,6 +3551,7 @@ void CGDebugInfo::collectFunctionDeclProps(GlobalDecl GD, llvm::DIFile *Unit,
if (LinkageName == Name || (!CGM.getCodeGenOpts().EmitGcovArcs &&
!CGM.getCodeGenOpts().EmitGcovNotes &&
!CGM.getCodeGenOpts().DebugInfoForProfiling &&
!CGM.getCodeGenOpts().PseudoProbeForProfiling &&
DebugKind <= codegenoptions::DebugLineTablesOnly))
LinkageName = StringRef();

View File

@@ -0,0 +1,12 @@
// This test checks if a symbol gets mangled dwarf names with -fpseudo-probe-for-profiling option.
// RUN: %clang_cc1 -triple x86_64 -x c++ -S -emit-llvm -debug-info-kind=line-tables-only -o - < %s | FileCheck %s --check-prefix=PLAIN
// RUN: %clang_cc1 -triple x86_64 -x c++ -S -emit-llvm -debug-info-kind=line-tables-only -fpseudo-probe-for-profiling -o - < %s | FileCheck %s --check-prefix=MANGLE
int foo() {
return 0;
}
// PLAIN: define dso_local i32 @_Z3foov()
// PLAIN: distinct !DISubprogram(name: "foo", scope:
// MANGLE: define dso_local i32 @_Z3foov()
// MANGLE: distinct !DISubprogram(name: "foo", linkageName: "_Z3foov"