[llvm-commits] PrologEpilogInserter: add total stack size statistic
    Ivan Krasin 
    krasin at chromium.org
       
    Thu Aug  4 13:43:49 PDT 2011
    
    
  
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.
Ivan Krasin
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;
 }
 /// insertPrologEpilogCode - Scan the function for modified callee saved
-------------- next part --------------
A non-text attachment was scrubbed...
Name: total_stack_size.patch
Type: text/x-patch
Size: 965 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110804/57398e3e/attachment.bin>
    
    
More information about the llvm-commits
mailing list