Added MachineBasicBlock::getFullName() to standardize/factor codegen diagnostics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152176 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick 2012-03-07 00:18:18 +00:00
parent acddd4963d
commit 8ceaa660bf
2 changed files with 16 additions and 0 deletions

View File

@ -117,6 +117,10 @@ public:
/// "(null)".
StringRef getName() const;
/// getFullName - Return a formatted string to identify this block and its
/// parent function.
std::string getFullName() const;
/// hasAddressTaken - Test whether this block is potentially the target
/// of an indirect branch.
bool hasAddressTaken() const { return AddressTaken; }

View File

@ -238,6 +238,18 @@ StringRef MachineBasicBlock::getName() const {
return "(null)";
}
/// Return a hopefully unique identifier for this block.
std::string MachineBasicBlock::getFullName() const {
std::string Name;
if (getParent())
Name = (getParent()->getFunction()->getName() + ":").str();
if (getBasicBlock())
Name += getBasicBlock()->getName();
else
Name += (Twine("BB") + Twine(getNumber())).str();
return Name;
}
void MachineBasicBlock::print(raw_ostream &OS, SlotIndexes *Indexes) const {
const MachineFunction *MF = getParent();
if (!MF) {