[llvm-commits] [llvm] r133286 - in /llvm/trunk: include/llvm/MC/MCStreamer.h include/llvm/Target/TargetRegistry.h lib/CodeGen/LLVMTargetMachine.cpp lib/MC/MCAsmStreamer.cpp lib/Target/PTX/PTXMCAsmStreamer.cpp lib/Target/PTX/PTXTargetMachine.cpp tools/llvm-mc/llvm-mc.cpp
Chris Lattner
clattner at apple.com
Fri Jun 17 21:48:47 PDT 2011
On Jun 17, 2011, at 1:55 PM, Bill Wendling wrote:
>>> 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.
>>
>> Spiffy. Why is this a new set of flags? Can't this just be tied to verbose asm? I don't see any reason to have -decode-mc-lsda/-decode-lsda or to pass it down through the APIs as a bool.
>
> I can do that. I did it this way to give people the option of not having it emitted when they don't want it. But having it default to "on" for -asm-verbose works for me too.
Please do, and remove the extra bools and flags. People either want verbose asm or not, we don't want lots of flags and options.
>
>> Also, why is this implemented by subclassing MCAsmStreamer? Can't the code generator just emit this as verbose asm comments instead of reconstructing it?
>
>
> I actually do some of that now (see below). It's not the most readable thing in the world, but could be made a bit better. One major benefit of making it a subclass of MCAsmStreamer, however, is that you can run it on a .s file which doesn't have verbose comments in them. I would really like to maintain that ability.
Why is this important? Who is it important for?
-Chris
>
> -bw
>
> .byte 255 ## @LPStart Encoding = omit
> .byte 155 ## @TType Encoding = indirect pcrel sdata4
> .byte 220 ## @TType base offset
> .space 1
> .byte 3 ## Call site Encoding = udata4
> .byte 78 ## Call site table length
> Lset0 = Ltmp7-Leh_func_begin1 ## Region start
> .long Lset0
> Lset1 = Ltmp8-Ltmp7 ## Region length
> .long Lset1
> Lset2 = Ltmp9-Leh_func_begin1 ## Landing pad
> .long Lset2
> .byte 3 ## Action
> ...
> ## -- Action Record Table --
> ## Action Record
> .byte 2 ## TypeInfo index
> .byte 0 ## Next action
> ## Action Record
> .byte 1 ## TypeInfo index
> .byte 125 ## Next action
> ## -- Catch TypeInfos --
> .long __ZTIPKc at GOTPCREL+4 ## TypeInfo
> .long __ZTIi at GOTPCREL+4 ## TypeInfo
>
More information about the llvm-commits
mailing list