LLVM_DUMP_METHOD void Function::dump() const { dump(llvm::errs()); }
LLVM_DUMP_METHOD void Function::dump(llvm::raw_ostream &OS) const {
- if (F) {
- if (const auto *MD = dyn_cast<CXXMethodDecl>(F))
- OS << MD->getParent()->getDeclName() << "::";
- OS << F->getDeclName() << " " << (const void *)this << ":\n";
- } else {
- OS << "<<expr>>\n";
- }
-
+ OS << getName() << " " << (const void *)this << "\n";
OS << "frame size: " << getFrameSize() << "\n";
OS << "arg size: " << getArgSize() << "\n";
OS << "rvo: " << hasRVO() << "\n";
/// Returns the name of the function decl this code
/// was generated for.
- const std::string getName() const { return F->getNameInfo().getAsString(); }
+ const std::string getName() const {
+ if (!F)
+ return "<<expr>>";
+
+ return F->getQualifiedNameAsString();
+ }
/// Returns the location.
SourceLocation getLoc() const { return Loc; }