llvm-6502/lib/MC
Bill Wendling 916a94b870 Add an option that allows one to "decode" the LSDA.
The LSDA is a bit difficult for the non-initiated to read. Even with comments,
it's not always clear what's going on. This wraps the ASM streamer in a class
that retains the LSDA and then emits a human-readable description of what's
going on in it.

So instead of having to make sense of:

Lexception1:
        .byte   255
        .byte   155
        .byte   168
        .space  1
        .byte   3
        .byte   26
Lset0 = Ltmp7-Leh_func_begin1
      .long     Lset0
Lset1 = Ltmp812-Ltmp7
      .long     Lset1
Lset2 = Ltmp913-Leh_func_begin1
      .long     Lset2
      .byte     3
Lset3 = Ltmp812-Leh_func_begin1
      .long     Lset3
Lset4 = Leh_func_end1-Ltmp812
      .long     Lset4
      .long     0
      .byte     0
      .byte     1
      .byte     0
      .byte     2
      .byte     125
      .long     __ZTIi@GOTPCREL+4
      .long     __ZTIPKc@GOTPCREL+4

you can read this instead:

## Exception Handling Table: Lexception1
##  @LPStart Encoding: omit
##    @TType Encoding: indirect pcrel sdata4
##        @TType Base: 40 bytes
## @CallSite Encoding: udata4
## @Action Table Size: 26 bytes

## Action 1:
##   A throw between Ltmp7 and Ltmp812 jumps to Ltmp913 on an exception.
##     For type(s):  __ZTIi@GOTPCREL+4 __ZTIPKc@GOTPCREL+4
## Action 2:
##   A throw between Ltmp812 and Leh_func_end1 does not have a landing pad.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133286 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-17 20:35:21 +00:00
..
MCDisassembler switch to using a smallvector to avoid allocations for most normal size instructions. 2011-05-22 04:53:24 +00:00
MCParser Diagnostic for undefined assembler local symbols. 2011-06-15 18:33:28 +00:00
CMakeLists.txt
ELFObjectWriter.cpp Remove an uneeded switch - Turns out reloc results are identical w/o the switch. (face+palm) 2011-06-09 19:13:45 +00:00
ELFObjectWriter.h
MachObjectWriter.cpp
Makefile
MCAsmInfo.cpp
MCAsmInfoCOFF.cpp
MCAsmInfoDarwin.cpp
MCAsmStreamer.cpp Add an option that allows one to "decode" the LSDA. 2011-06-17 20:35:21 +00:00
MCAssembler.cpp
MCCodeEmitter.cpp
MCContext.cpp
MCDisassembler.cpp
MCDwarf.cpp
MCELF.cpp
MCELF.h
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp
MCELFStreamer.h Remove a useless copy of MCELFStreamer. Patch by Logan Chien! 2011-06-17 18:05:30 +00:00
MCExpr.cpp Fix emission of PPC64 assembler on non-darwin platforms by splitting 2011-06-09 20:25:38 +00:00
MCInst.cpp
MCInstPrinter.cpp Don't hardcode the %reg format in the streamer. 2011-06-02 02:34:55 +00:00
MCLabel.cpp
MCLoggingStreamer.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp
MCNullStreamer.cpp
MCObjectStreamer.cpp
MCObjectWriter.cpp
MCPureStreamer.cpp
MCSection.cpp
MCSectionCOFF.cpp
MCSectionELF.cpp
MCSectionMachO.cpp
MCStreamer.cpp Make EmitIntValue() work properly on big-endian targets. 2011-06-07 17:31:02 +00:00
MCSymbol.cpp
MCValue.cpp
MCWin64EH.cpp Add a parameter to the Win64 EH section getters to get a section with a 2011-05-27 19:09:24 +00:00
TargetAsmBackend.cpp
WinCOFFObjectWriter.cpp
WinCOFFStreamer.cpp Implement emission of all Win64 exception tables. Make the COFF streamer emit 2011-05-22 04:15:07 +00:00