From: Chris Lattner Date: Fri, 19 Aug 2005 21:21:16 +0000 (+0000) Subject: Print physreg register nodes with target names (e.g. F1) instead of numbers X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=7228aa78686c2920c0f8588628b1278698720d07;p=oota-llvm.git Print physreg register nodes with target names (e.g. F1) instead of numbers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22934 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 8fb6070e94d..e083609cae6 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -2070,7 +2070,11 @@ void SDNode::dump(const SelectionDAG *G) const { std::cerr << LBB->getName() << " "; std::cerr << (const void*)BBDN->getBasicBlock() << ">"; } else if (const RegisterSDNode *C2V = dyn_cast(this)) { - std::cerr << " #" << C2V->getReg(); + if (G && MRegisterInfo::isPhysicalRegister(R->getReg())) { + std::cerr << " " <getTarget().getRegisterInfo()->getName(R->getReg()); + } else { + std::cerr << " #" << R->getReg(); + } } else if (const ExternalSymbolSDNode *ES = dyn_cast(this)) { std::cerr << "'" << ES->getSymbol() << "'"; diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp index 2a51d203fe1..060102c8fca 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp @@ -13,6 +13,8 @@ #include "llvm/CodeGen/SelectionDAG.h" #include "llvm/CodeGen/MachineFunction.h" +#include "llvm/Target/MRegisterInfo.h" +#include "llvm/Target/TargetMachine.h" #include "llvm/Function.h" #include "llvm/Support/GraphWriter.h" #include "llvm/ADT/StringExtras.h" @@ -73,7 +75,11 @@ std::string DOTGraphTraits::getNodeLabel(const SDNode *Node, Op += LBB->getName(); //Op += " " + (const void*)BBDN->getBasicBlock(); } else if (const RegisterSDNode *R = dyn_cast(Node)) { - Op += " #" + utostr(R->getReg()); + if (G && MRegisterInfo::isPhysicalRegister(R->getReg())) { + Op = Op + " " + G->getTarget().getRegisterInfo()->getName(R->getReg()); + } else { + Op += " #" + utostr(R->getReg()); + } } else if (const ExternalSymbolSDNode *ES = dyn_cast(Node)) { Op += "'" + std::string(ES->getSymbol()) + "'";