Use the EOL that takes the encoding and translates it into DWARF-English.
authorBill Wendling <isanbard@gmail.com>
Wed, 9 Sep 2009 21:26:19 +0000 (21:26 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 9 Sep 2009 21:26:19 +0000 (21:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81382 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/DwarfException.cpp

index a92d923a7d3c59efac574bf00ff99af41aacd9b1..e4d8ef06f1ba5cd19d52ef224278b9b79b6a5b95 100644 (file)
@@ -612,6 +612,14 @@ static const char *DecodeDWARFEncoding(unsigned Encoding) {
     return "omit";
   case dwarf::DW_EH_PE_pcrel:
     return "pcrel";
+  case dwarf::DW_EH_PE_udata4:
+    return "udata4";
+  case dwarf::DW_EH_PE_udata8:
+    return "udata8";
+  case dwarf::DW_EH_PE_sdata4:
+    return "sdata4";
+  case dwarf::DW_EH_PE_sdata8:
+    return "sdata8";
   case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_udata4:
     return "pcrel udata4";
   case dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4:
index bd49724ef65f55cc0b3c08f107cc0e773f270f69..3deb9fc359d1bc48372af719cedf85f36b9d179c 100644 (file)
@@ -106,10 +106,12 @@ void DwarfException::EmitCIE(const Function *Personality, unsigned Index) {
     if (MAI->getNeedsIndirectEncoding()) {
       Asm->EmitInt8(dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4 |
                     dwarf::DW_EH_PE_indirect);
-      Asm->EOL("Personality (pcrel sdata4 indirect)");
+      Asm->EOL("Personality",
+               dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4 |
+               dwarf::DW_EH_PE_indirect);
     } else {
       Asm->EmitInt8(dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4);
-      Asm->EOL("Personality (pcrel sdata4)");
+      Asm->EOL("Personality", dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4);
     }
 
     PrintRelDirective(true);
@@ -121,16 +123,16 @@ void DwarfException::EmitCIE(const Function *Personality, unsigned Index) {
     Asm->EOL("Personality");
 
     Asm->EmitInt8(dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4);
-    Asm->EOL("LSDA Encoding (pcrel sdata4)");
+    Asm->EOL("LSDA Encoding", dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4);
 
     Asm->EmitInt8(dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4);
-    Asm->EOL("FDE Encoding (pcrel sdata4)");
+    Asm->EOL("FDE Encoding", dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4);
   } else {
     Asm->EmitULEB128Bytes(1);
     Asm->EOL("Augmentation Size");
 
     Asm->EmitInt8(dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4);
-    Asm->EOL("FDE Encoding (pcrel sdata4)");
+    Asm->EOL("FDE Encoding", dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4);
   }
 
   // Indicate locations of general callee saved registers in frame.
@@ -609,14 +611,14 @@ void DwarfException::EmitExceptionTable() {
 
   // Emit the header.
   Asm->EmitInt8(dwarf::DW_EH_PE_omit);
-  Asm->EOL("@LPStart format (DW_EH_PE_omit)");
+  Asm->EOL("@LPStart format", dwarf::DW_EH_PE_omit);
 
 #if 0
   if (TypeInfos.empty() && FilterIds.empty()) {
     // If there are no typeinfos or filters, there is nothing to emit, optimize
     // by specifying the "omit" encoding.
     Asm->EmitInt8(dwarf::DW_EH_PE_omit);
-    Asm->EOL("@TType format (DW_EH_PE_omit)");
+    Asm->EOL("@TType format", dwarf::DW_EH_PE_omit);
   } else {
     // Okay, we have actual filters or typeinfos to emit.  As such, we need to
     // pick a type encoding for them.  We're about to emit a list of pointers to
@@ -660,10 +662,10 @@ void DwarfException::EmitExceptionTable() {
   // FIXME: does this apply to Dwarf also? The above #if 0 implies yes?
   if (!HaveTTData) {
     Asm->EmitInt8(dwarf::DW_EH_PE_omit);
-    Asm->EOL("@TType format (DW_EH_PE_omit)");
+    Asm->EOL("@TType format", dwarf::DW_EH_PE_omit);
   } else {
     Asm->EmitInt8(dwarf::DW_EH_PE_absptr);
-    Asm->EOL("@TType format (DW_EH_PE_absptr)");
+    Asm->EOL("@TType format", dwarf::DW_EH_PE_absptr);
     Asm->EmitULEB128Bytes(TypeOffset);
     Asm->EOL("@TType base offset");
   }
@@ -672,7 +674,7 @@ void DwarfException::EmitExceptionTable() {
   // SjLj Exception handilng
   if (MAI->getExceptionHandlingType() == ExceptionHandling::SjLj) {
     Asm->EmitInt8(dwarf::DW_EH_PE_udata4);
-    Asm->EOL("Call site format (DW_EH_PE_udata4)");
+    Asm->EOL("Call site format", dwarf::DW_EH_PE_udata4);
     Asm->EmitULEB128Bytes(SizeSites);
     Asm->EOL("Call site table length");
 
@@ -725,7 +727,7 @@ void DwarfException::EmitExceptionTable() {
 
     // Emit the landing pad call site table.
     Asm->EmitInt8(dwarf::DW_EH_PE_udata4);
-    Asm->EOL("Call site format (DW_EH_PE_udata4)");
+    Asm->EOL("Call site format", dwarf::DW_EH_PE_udata4);
     Asm->EmitULEB128Bytes(SizeSites);
     Asm->EOL("Call site table size");