1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/tools
Bill Wendling 88bb5d74ab 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.

llvm-svn: 133286
2011-06-17 20:35:21 +00:00
..
bugpoint Add -O1/2/3 to bugpoint, so when you conclude opt -O2 reproduces an issue, you can just run bugpoint -O2. :) My implementation isn't precisely equivalent to what opt does, but as far as I can tell, it's close enough. 2011-06-06 22:45:46 +00:00
bugpoint-passes
edis Build EnhancedDisassembly as a shared library too. 2011-03-12 22:01:47 +00:00
gold Also remove -lLTO which should have been in r132349. I failed to apply this 2011-05-31 20:00:45 +00:00
llc Remove dead option. 2011-05-24 01:43:38 +00:00
lli Updated library dependencies. 2011-03-22 03:58:55 +00:00
llvm-ar
llvm-as
llvm-bcanalyzer Drop the "2" suffix on some enums. 2011-06-17 18:17:37 +00:00
llvm-config Rename LLVMConfig.cmake to LLVM-Config.cmake. The *Config.cmake naming 2011-04-05 17:02:48 +00:00
llvm-diff Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
llvm-dis Reapply: Add type output to llvm-dis annotations. Patch by Yuri! 2011-03-17 19:50:04 +00:00
llvm-extract
llvm-ld fix a file system case sensitivity issue. 2011-05-22 00:37:51 +00:00
llvm-link
llvm-mc Add an option that allows one to "decode" the LSDA. 2011-06-17 20:35:21 +00:00
llvm-nm Revert the last two commits in the series. r132911, r132912. 2011-06-13 11:53:31 +00:00
llvm-objdump Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
llvm-prof
llvm-ranlib
llvm-rtdyld Load multiple object files and link them via RuntimeDyld in llvm-rtdyld. 2011-04-13 15:49:40 +00:00
llvm-shlib
llvm-stub llvm-stub.cpp: mingw-w64 tweak. 2011-03-24 07:06:45 +00:00
llvmc llvmc: Pass -disable-cfi to llc. 2011-05-02 19:45:24 +00:00
lto switch bugpoint and liblto to PassManagerBuilder. 2011-05-22 00:20:07 +00:00
macho-dump Remove unused function. 2011-04-04 17:36:11 +00:00
opt We only do always-inlining at -O1; make opt reflect that. 2011-06-06 22:13:27 +00:00
CMakeLists.txt Revert an unintended commit. Very sorry for this one. 2011-04-28 08:18:22 +00:00
Makefile MachO file loader and execution utility. 2011-03-18 17:11:39 +00:00