diff options
author | Chris Lattner <sabre@nondot.org> | 2005-08-19 21:21:16 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-08-19 21:21:16 +0000 |
commit | 7228aa78686c2920c0f8588628b1278698720d07 (patch) | |
tree | 1216f8fbab4da145de717ba4914e520200d59aa9 | |
parent | 0189197608d14f03437da889b87393d59cc5c66a (diff) |
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
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 6 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 8fb6070e94..e083609cae 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<RegisterSDNode>(this)) { - std::cerr << " #" << C2V->getReg(); + if (G && MRegisterInfo::isPhysicalRegister(R->getReg())) { + std::cerr << " " <<G->getTarget().getRegisterInfo()->getName(R->getReg()); + } else { + std::cerr << " #" << R->getReg(); + } } else if (const ExternalSymbolSDNode *ES = dyn_cast<ExternalSymbolSDNode>(this)) { std::cerr << "'" << ES->getSymbol() << "'"; diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp index 2a51d203fe..060102c8fc 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<SelectionDAG*>::getNodeLabel(const SDNode *Node, Op += LBB->getName(); //Op += " " + (const void*)BBDN->getBasicBlock(); } else if (const RegisterSDNode *R = dyn_cast<RegisterSDNode>(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<ExternalSymbolSDNode>(Node)) { Op += "'" + std::string(ES->getSymbol()) + "'"; |