[llvm] r178366 - Use 12 as the magic number for our abbreviation data and our

Gordon Keiser gkeiser at arxan.com
Fri Mar 29 17:59:16 PDT 2013


I thought exactly the same thing somehow.  ☺

From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Chandler Carruth
Sent: Friday, March 29, 2013 5:15 PM
To: Eric Christopher
Cc: Commit Messages and Patches for LLVM
Subject: Re: [llvm] r178366 - Use 12 as the magic number for our abbreviation data and our

On Fri, Mar 29, 2013 at 1:23 PM, Eric Christopher <echristo at gmail.com<mailto:echristo at gmail.com>> wrote:
Author: echristo
Date: Fri Mar 29 15:23:06 2013
New Revision: 178366

URL: http://llvm.org/viewvc/llvm-project?rev=178366&view=rev
Log:
Use 12 as the magic number

of inline elements in the small vectors

for our abbreviation data and our
die values. A lot of DIEs have 10 attributes in C++ code (example
clang), none had more than 12. Seems like a good default.

There, fixed that commit log for ya. ;] Seriously, i thought you were writing "12" into the debug output at first.

Also, should this maybe be a constant with a name somewhere for the day when we need it to be 16?


Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp
    llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp?rev=178366&r1=178365&r2=178366&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp Fri Mar 29 15:23:06 2013
@@ -144,7 +144,7 @@ void DIE::print(raw_ostream &O, unsigned
     O << "Size: " << Size << "\n";
   }

-  const SmallVector<DIEAbbrevData, 8> &Data = Abbrev.getData();
+  const SmallVector<DIEAbbrevData, 12> &Data = Abbrev.getData();

   IndentCount += 2;
   for (unsigned i = 0, N = Data.size(); i < N; ++i) {
@@ -324,7 +324,7 @@ void DIEEntry::print(raw_ostream &O) {
 ///
 unsigned DIEBlock::ComputeSize(AsmPrinter *AP) {
   if (!Size) {
-    const SmallVector<DIEAbbrevData, 8> &AbbrevData = Abbrev.getData();
+    const SmallVector<DIEAbbrevData, 12> &AbbrevData = Abbrev.getData();
     for (unsigned i = 0, N = Values.size(); i < N; ++i)
       Size += Values[i]->SizeOf(AP, AbbrevData[i].getForm());
   }
@@ -343,7 +343,7 @@ void DIEBlock::EmitValue(AsmPrinter *Asm
   case dwarf::DW_FORM_block:  Asm->EmitULEB128(Size); break;
   }

-  const SmallVector<DIEAbbrevData, 8> &AbbrevData = Abbrev.getData();
+  const SmallVector<DIEAbbrevData, 12> &AbbrevData = Abbrev.getData();
   for (unsigned i = 0, N = Values.size(); i < N; ++i)
     Values[i]->EmitValue(Asm, AbbrevData[i].getForm());
 }

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h?rev=178366&r1=178365&r2=178366&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h Fri Mar 29 15:23:06 2013
@@ -66,7 +66,7 @@ namespace llvm {

     /// Data - Raw data bytes for abbreviation.
     ///
-    SmallVector<DIEAbbrevData, 8> Data;
+    SmallVector<DIEAbbrevData, 12> Data;

   public:
     DIEAbbrev(uint16_t T, uint16_t C) : Tag(T), ChildrenFlag(C), Data() {}
@@ -75,7 +75,7 @@ namespace llvm {
     uint16_t getTag() const { return Tag; }
     unsigned getNumber() const { return Number; }
     uint16_t getChildrenFlag() const { return ChildrenFlag; }
-    const SmallVector<DIEAbbrevData, 8> &getData() const { return Data; }
+    const SmallVector<DIEAbbrevData, 12> &getData() const { return Data; }
     void setTag(uint16_t T) { Tag = T; }
     void setChildrenFlag(uint16_t CF) { ChildrenFlag = CF; }
     void setNumber(unsigned N) { Number = N; }
@@ -133,7 +133,7 @@ namespace llvm {

     /// Attribute values.
     ///
-    SmallVector<DIEValue*, 32> Values;
+    SmallVector<DIEValue*, 12> Values;

     // Private data for print()
     mutable unsigned IndentCount;
@@ -150,7 +150,7 @@ namespace llvm {
     unsigned getOffset() const { return Offset; }
     unsigned getSize() const { return Size; }
     const std::vector<DIE *> &getChildren() const { return Children; }
-    const SmallVector<DIEValue*, 32> &getValues() const { return Values; }
+    const SmallVector<DIEValue*, 12> &getValues() const { return Values; }
     DIE *getParent() const { return Parent; }
     /// Climb up the parent chain to get the compile unit DIE this DIE belongs
     /// to.

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=178366&r1=178365&r2=178366&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Fri Mar 29 15:23:06 2013
@@ -1672,8 +1672,8 @@ DwarfUnits::computeSizeAndOffset(DIE *Di
   // Start the size with the size of abbreviation code.
   Offset += MCAsmInfo::getULEB128Size(AbbrevNumber);

-  const SmallVector<DIEValue*, 32> &Values = Die->getValues();
-  const SmallVector<DIEAbbrevData, 8> &AbbrevData = Abbrev->getData();
+  const SmallVector<DIEValue*, 12> &Values = Die->getValues();
+  const SmallVector<DIEAbbrevData, 12> &AbbrevData = Abbrev->getData();

   // Size the DIE attribute values.
   for (unsigned i = 0, N = Values.size(); i < N; ++i)
@@ -1767,8 +1767,8 @@ void DwarfDebug::emitDIE(DIE *Die, std::
                                 dwarf::TagString(Abbrev->getTag()));
   Asm->EmitULEB128(AbbrevNumber);

-  const SmallVector<DIEValue*, 32> &Values = Die->getValues();
-  const SmallVector<DIEAbbrevData, 8> &AbbrevData = Abbrev->getData();
+  const SmallVector<DIEValue*, 12> &Values = Die->getValues();
+  const SmallVector<DIEAbbrevData, 12> &AbbrevData = Abbrev->getData();

   // Emit the DIE attribute values.
   for (unsigned i = 0, N = Values.size(); i < N; ++i) {


_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu>
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130329/6815f72a/attachment.html>


More information about the llvm-commits mailing list