diff options
| author | Matthias Braun <matze@braunis.de> | 2016-08-19 22:31:45 +0000 |
|---|---|---|
| committer | Matthias Braun <matze@braunis.de> | 2016-08-19 22:31:45 +0000 |
| commit | a7d6fc9618aaee28fbbe2324ee8f6168e551d64f (patch) | |
| tree | 580ae7ab5c24f70907bf3fa5fc129ee1cf91dc30 /llvm/lib/CodeGen/MachineFunction.cpp | |
| parent | a3b983aa5ed22e3e026f70f9a2c58f19ff334528 (diff) | |
| download | bcm5719-llvm-a7d6fc9618aaee28fbbe2324ee8f6168e551d64f.tar.gz bcm5719-llvm-a7d6fc9618aaee28fbbe2324ee8f6168e551d64f.zip | |
MachineFunction: Cleanup/simplify MachineFunctionProperties::print()
- Always compile print() regardless of LLVM_ENABLE_DUMP. (We usually
only gard dump() functions with that).
- Only show the set properties to reduce output clutter.
- Remove the unused variant that even shows the unset properties.
- Fix comments
llvm-svn: 279338
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/MachineFunction.cpp | 52 |
1 files changed, 18 insertions, 34 deletions
diff --git a/llvm/lib/CodeGen/MachineFunction.cpp b/llvm/lib/CodeGen/MachineFunction.cpp index 4cdb6c890a5..2ed6517cb3d 100644 --- a/llvm/lib/CodeGen/MachineFunction.cpp +++ b/llvm/lib/CodeGen/MachineFunction.cpp @@ -54,40 +54,26 @@ static cl::opt<unsigned> void MachineFunctionInitializer::anchor() {} -void MachineFunctionProperties::print(raw_ostream &ROS, bool OnlySet) const { - // Leave this function even in NDEBUG as an out-of-line anchor. -#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) - bool NeedsComma = false; - for (BitVector::size_type i = 0; i < Properties.size(); ++i) { - bool HasProperty = Properties[i]; - if (OnlySet && !HasProperty) +static const char *getPropertyName(MachineFunctionProperties::Property Prop) { + typedef MachineFunctionProperties::Property P; + switch(Prop) { + case P::AllVRegsAllocated: return "AllVRegsAllocated"; + case P::IsSSA: return "IsSSA"; + case P::Legalized: return "Legalized"; + case P::RegBankSelected: return "RegBankSelected"; + case P::Selected: return "Selected"; + case P::TracksLiveness: return "TracksLiveness"; + } +} + +void MachineFunctionProperties::print(raw_ostream &OS) const { + const char *Separator = ""; + for (BitVector::size_type I = 0; I < Properties.size(); ++I) { + if (!Properties[I]) continue; - if (NeedsComma) - ROS << ", "; - else - NeedsComma = true; - switch(static_cast<Property>(i)) { - case Property::IsSSA: - ROS << (HasProperty ? "SSA" : "Post SSA"); - break; - case Property::TracksLiveness: - ROS << (HasProperty ? "" : "not ") << "tracking liveness"; - break; - case Property::AllVRegsAllocated: - ROS << (HasProperty ? "AllVRegsAllocated" : "HasVRegs"); - break; - case Property::Legalized: - ROS << (HasProperty ? "" : "not ") << "legalized"; - break; - case Property::RegBankSelected: - ROS << (HasProperty ? "" : "not ") << "RegBank-selected"; - break; - case Property::Selected: - ROS << (HasProperty ? "" : "not ") << "selected"; - break; - } + OS << Separator << getPropertyName(static_cast<Property>(I)); + Separator = ", "; } -#endif } //===----------------------------------------------------------------------===// @@ -418,9 +404,7 @@ StringRef MachineFunction::getName() const { void MachineFunction::print(raw_ostream &OS, const SlotIndexes *Indexes) const { OS << "# Machine code for function " << getName() << ": "; - OS << "Properties: <"; getProperties().print(OS); - OS << ">\n"; // Print Frame Information FrameInfo->print(*this, OS); |

