[llvm-commits] [llvm] r80146 - in /llvm/trunk/lib/CodeGen: AsmPrinter/DwarfException.cpp MachineModuleInfo.cpp

Eric Christopher echristo at apple.com
Wed Aug 26 14:30:49 PDT 2009


Author: echristo
Date: Wed Aug 26 16:30:49 2009
New Revision: 80146

URL: http://llvm.org/viewvc/llvm-project?rev=80146&view=rev
Log:
If we're emitting additional CIEs due to personality functions
don't emit the default one. Explicitly check for the NULL
CIE later.

Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp
    llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp?rev=80146&r1=80145&r2=80146&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp Wed Aug 26 16:30:49 2009
@@ -203,7 +203,7 @@
 
     // If there is a personality and landing pads then point to the language
     // specific data area in the exception table.
-    if (EHFrameInfo.PersonalityIndex) {
+    if (MMI->getPersonalities()[0] != NULL) {
       Asm->EmitULEB128Bytes(4);
       Asm->EOL("Augmentation size");
 

Modified: llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp?rev=80146&r1=80145&r2=80146&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp (original)
+++ llvm/trunk/lib/CodeGen/MachineModuleInfo.cpp Wed Aug 26 16:30:49 2009
@@ -44,7 +44,7 @@
 , CallsUnwindInit(0)
 , DbgInfoAvailable(false)
 {
-  // Always emit "no personality" info
+  // Always emit some info, by default "no personality" info.
   Personalities.push_back(NULL);
 }
 MachineModuleInfo::~MachineModuleInfo() {
@@ -148,7 +148,12 @@
     if (Personalities[i] == Personality)
       return;
 
-  Personalities.push_back(Personality);
+  // If this is the first personality we're adding go
+  // ahead and add it at the beginning.
+  if (Personalities[0] == NULL)
+    Personalities[0] = Personality;
+  else
+    Personalities.push_back(Personality);
 }
 
 /// addCatchTypeInfo - Provide the catch typeinfo for a landing pad.





More information about the llvm-commits mailing list