[llvm-commits] PrologEpilogInserter: add total stack size statistic
Jakob Stoklund Olesen
stoklund at 2pi.dk
Thu Aug 4 13:45:58 PDT 2011
On Aug 4, 2011, at 1:43 PM, Ivan Krasin wrote:
> HI llvm team,
>
> this patch adds a new statistic proposed by Jakob: Number of bytes
> used for stack in all function. For instance, it would make it easier
> to measure progress/regress of instruction selectors and register
> allocators.
Awesome.
> Index: lib/CodeGen/PrologEpilogInserter.cpp
> ===================================================================
> --- lib/CodeGen/PrologEpilogInserter.cpp (revision 136909)
> +++ lib/CodeGen/PrologEpilogInserter.cpp (working copy)
> @@ -54,6 +54,7 @@
>
> STATISTIC(NumVirtualFrameRegs, "Number of virtual frame regs encountered");
> STATISTIC(NumScavengedRegs, "Number of frame index regs scavenged");
> +STATISTIC(NumTotalStackSize, "Number of bytes used for stack in all
> functions");
>
> /// createPrologEpilogCodeInserter - This function returns a pass that inserts
> /// prolog and epilog code, and eliminates abstract frame references.
> @@ -677,7 +678,9 @@
> }
>
> // Update frame info to pretend that this is part of the stack...
> - MFI->setStackSize(Offset - LocalAreaOffset);
> + int StackSize = Offset - LocalAreaOffset;
> + MFI->setStackSize(StackSize);
> + NumTotalStackSize += StackSize;
Is int really the right type here?
Otherwise, it looks good to me.
/jakob
More information about the llvm-commits
mailing list