diff --git a/llvm/include/llvm/CodeGen/MachineFrameInfo.h b/llvm/include/llvm/CodeGen/MachineFrameInfo.h --- a/llvm/include/llvm/CodeGen/MachineFrameInfo.h +++ b/llvm/include/llvm/CodeGen/MachineFrameInfo.h @@ -821,7 +821,7 @@ BitVector getPristineRegs(const MachineFunction &MF) const; /// Used by the MachineFunction printer to print information about - /// stack objects. Implemented in MachineFunction.cpp. + /// stack objects. void print(const MachineFunction &MF, raw_ostream &OS) const; /// dump - Print the function to stderr. diff --git a/llvm/lib/CodeGen/MachineFrameInfo.cpp b/llvm/lib/CodeGen/MachineFrameInfo.cpp --- a/llvm/lib/CodeGen/MachineFrameInfo.cpp +++ b/llvm/lib/CodeGen/MachineFrameInfo.cpp @@ -210,11 +210,16 @@ } void MachineFrameInfo::print(const MachineFunction &MF, raw_ostream &OS) const{ - if (Objects.empty()) return; - + OS << "MF name: " << MF.getName() << "\n"; + if (Objects.empty()) { + OS << "No stack objects.\n"; + return; + } const TargetFrameLowering *FI = MF.getSubtarget().getFrameLowering(); int ValOffset = (FI ? FI->getOffsetOfLocalArea() : 0); + OS << "NumFixedObjects=" << static_cast(NumFixedObjects) << "\n"; + OS << "Frame Objects:\n"; for (unsigned i = 0, e = Objects.size(); i != e; ++i) { @@ -222,12 +227,13 @@ OS << " fi#" << (int)(i-NumFixedObjects) << ": "; if (SO.StackID != 0) - OS << "id=" << static_cast(SO.StackID) << ' '; + OS << "stackid=" << static_cast(SO.StackID) << ", "; if (SO.Size == ~0ULL) { OS << "dead\n"; continue; } + OS << "isSplitSplot=" << static_cast(SO.isSpillSlot) << ", "; if (SO.Size == 0) OS << "variable sized"; else @@ -235,7 +241,7 @@ OS << ", align=" << SO.Alignment.value(); if (i < NumFixedObjects) - OS << ", fixed"; + OS << ", fixed objects:"; if (i < NumFixedObjects || SO.SPOffset != -1) { int64_t Off = SO.SPOffset - ValOffset; OS << ", at location [SP";