[llvm] 22a3f97 - [symbolizer] Build 'Request' object in single point. NFC
Serge Pavlov via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 30 07:28:54 PDT 2023
Author: Serge Pavlov
Date: 2023-03-30T21:27:38+07:00
New Revision: 22a3f974d35da89247c0396594f2e4cd592742eb
URL: https://github.com/llvm/llvm-project/commit/22a3f974d35da89247c0396594f2e4cd592742eb
DIFF: https://github.com/llvm/llvm-project/commit/22a3f974d35da89247c0396594f2e4cd592742eb.diff
LOG: [symbolizer] Build 'Request' object in single point. NFC
All control paths in executeCommand create Request object for use in
calls to 'print' function and do it identically. With this change the
Request object is created in a single point, which simplifies changing
implementation of Request class.
This is a prerequisite patch for implementation of symbol+offset lookup.
Differential Revision: https://reviews.llvm.org/D147115
Added:
Modified:
llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Removed:
################################################################################
diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
index ed24e85502911..dbec2a981b91b 100644
--- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -218,17 +218,18 @@ void executeCommand(StringRef ModuleName, const T &ModuleSpec, Command Cmd,
uint64_t AdjustedOffset = Offset - AdjustVMA;
object::SectionedAddress Address = {AdjustedOffset,
object::SectionedAddress::UndefSection};
+ Request SymRequest = {ModuleName, Offset};
if (Cmd == Command::Data) {
Expected<DIGlobal> ResOrErr = Symbolizer.symbolizeData(ModuleSpec, Address);
- print({ModuleName, Offset}, ResOrErr, Printer);
+ print(SymRequest, ResOrErr, Printer);
} else if (Cmd == Command::Frame) {
Expected<std::vector<DILocal>> ResOrErr =
Symbolizer.symbolizeFrame(ModuleSpec, Address);
- print({ModuleName, Offset}, ResOrErr, Printer);
+ print(SymRequest, ResOrErr, Printer);
} else if (ShouldInline) {
Expected<DIInliningInfo> ResOrErr =
Symbolizer.symbolizeInlinedCode(ModuleSpec, Address);
- print({ModuleName, Offset}, ResOrErr, Printer);
+ print(SymRequest, ResOrErr, Printer);
} else if (Style == OutputStyle::GNU) {
// With PrintFunctions == FunctionNameKind::LinkageName (default)
// and UseSymbolTable == true (also default), Symbolizer.symbolizeCode()
@@ -243,11 +244,11 @@ void executeCommand(StringRef ModuleName, const T &ModuleSpec, Command Cmd,
? Expected<DILineInfo>(ResOrErr.takeError())
: ((ResOrErr->getNumberOfFrames() == 0) ? DILineInfo()
: ResOrErr->getFrame(0));
- print({ModuleName, Offset}, Res0OrErr, Printer);
+ print(SymRequest, Res0OrErr, Printer);
} else {
Expected<DILineInfo> ResOrErr =
Symbolizer.symbolizeCode(ModuleSpec, Address);
- print({ModuleName, Offset}, ResOrErr, Printer);
+ print(SymRequest, ResOrErr, Printer);
}
Symbolizer.pruneCache();
}
More information about the llvm-commits
mailing list