DebugInfo: Move DIVariable::printExtendedName() to its only caller

Move the local function `printDebugLoc()` along with it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234838 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith 2015-04-14 02:09:32 +00:00
parent 3e31f5eeb1
commit 79666c21ab
3 changed files with 37 additions and 38 deletions

View File

@ -642,8 +642,6 @@ public:
/// \brief If this variable is inlined then return inline location.
MDNode *getInlinedAt() const { return get()->getInlinedAt(); }
void printExtendedName(raw_ostream &OS) const;
};
class DIExpression {

View File

@ -357,10 +357,46 @@ public:
};
} // namespace
static void printDebugLoc(DebugLoc DL, raw_ostream &CommentOS,
const LLVMContext &Ctx) {
if (!DL)
return;
DIScope Scope = cast<MDScope>(DL.getScope());
// Omit the directory, because it's likely to be long and uninteresting.
CommentOS << Scope.getFilename();
CommentOS << ':' << DL.getLine();
if (DL.getCol() != 0)
CommentOS << ':' << DL.getCol();
DebugLoc InlinedAtDL = DL.getInlinedAt();
if (!InlinedAtDL)
return;
CommentOS << " @[ ";
printDebugLoc(InlinedAtDL, CommentOS, Ctx);
CommentOS << " ]";
}
static void printExtendedName(raw_ostream &OS, const MDLocalVariable *V) {
const LLVMContext &Ctx = V->getContext();
StringRef Res = V->getName();
if (!Res.empty())
OS << Res << "," << V->getLine();
if (auto *InlinedAt = V->getInlinedAt()) {
if (DebugLoc InlinedAtDL = InlinedAt) {
OS << " @[";
printDebugLoc(InlinedAtDL, OS, Ctx);
OS << "]";
}
}
}
void UserValue::print(raw_ostream &OS, const TargetRegisterInfo *TRI) {
DIVariable DV = cast<MDLocalVariable>(Variable);
OS << "!\"";
DV.printExtendedName(OS);
printExtendedName(OS, DV);
OS << "\"\t";
if (offset)
OS << '+' << offset;

View File

@ -349,41 +349,6 @@ void DIDescriptor::print(raw_ostream &OS) const {
get()->print(OS);
}
static void printDebugLoc(DebugLoc DL, raw_ostream &CommentOS,
const LLVMContext &Ctx) {
if (!DL)
return;
DIScope Scope = cast<MDScope>(DL.getScope());
// Omit the directory, because it's likely to be long and uninteresting.
CommentOS << Scope.getFilename();
CommentOS << ':' << DL.getLine();
if (DL.getCol() != 0)
CommentOS << ':' << DL.getCol();
DebugLoc InlinedAtDL = DL.getInlinedAt();
if (!InlinedAtDL)
return;
CommentOS << " @[ ";
printDebugLoc(InlinedAtDL, CommentOS, Ctx);
CommentOS << " ]";
}
void DIVariable::printExtendedName(raw_ostream &OS) const {
const LLVMContext &Ctx = DbgNode->getContext();
StringRef Res = getName();
if (!Res.empty())
OS << Res << "," << getLineNumber();
if (auto *InlinedAt = get()->getInlinedAt()) {
if (DebugLoc InlinedAtDL = InlinedAt) {
OS << " @[";
printDebugLoc(InlinedAtDL, OS, Ctx);
OS << "]";
}
}
}
template <>
DIDescriptor
DIRef<DIDescriptor>::resolve(const DITypeIdentifierMap &Map) const {