[LLVMdev] Regarding anonymous types
Pankaj Gode
godepankaj at yahoo.com
Wed Dec 7 06:48:08 PST 2011
Thanks for sharing the link.
I had a similar link by chris, but it was a small text document.
This link was helpful in understanding how the anonymous types, and specially the numbered types, are so represented.
Thanks & Regards,
Pankaj
________________________________
From: Devang Patel <dpatel at apple.com>
To: Pankaj Gode <godepankaj at yahoo.com>
Cc: llvm Developers <llvmdev at cs.uiuc.edu>
Sent: Wednesday, December 7, 2011 12:06 AM
Subject: Re: [LLVMdev] Regarding anonymous types
Pankaj,
I encourage you to read Chris's excellent blog entry on type system @ http://blog.llvm.org/2011/11/llvm-30-type-system-rewrite.html
-
Devang
On Dec 6, 2011, at 3:54 AM, Pankaj Gode wrote:
Hi All,
>
>While collecting type information for "anonymous types", I had below observation.
>
>For the example with anonymous types, given below
>struct test
>{
> struct {
> union {
> Char a[4];
> };
> };
> struct {
> int b;
> char c;
> };
>};
>
>LLVM 2.6 defines the types as
>%struct.anon1 = type { %union.anon0}
>%struct.anon2 = type { i32, i8}
>%struct.test = type { %struct.anon1, %struct.anon2}
>%union.anon0 = type {[4 x i8]}
>
>Whereas, LLVM 2.9 defines the types as
>%0 = type { i32, i8}
>%anonanonct. = type {%anonanonn.}
>%anonanonn. = type { [ 4x i8] }
>%struct.test = type { %anonanonct., %0}
>
>In case of LLVM2.9, "%0" is interesting case.
>When I try to extract types using " Module_Ptr->getTypeSymbolTable()".
>for(TypeSymbolTable::const_iterator I = M->getTypeSymbolTable().begin(),
> E = M->getTypeSymbolTable().end(); I != E; ++I) {
> if( I->second->isStructTy() )
> {
> //code to collect type names
> }
>}
>
>I don't get this type in TypeSymbolTable. :(
>
>Though
>struct{
> union {
> char a[4];
> };
>};
>too is anonymous, but a name is given to it, i.e anonanonct.
>
>I need this information as I want to collect all type-names.
>
>
>Thanks & Regards,
>Pankaj
>
>_______________________________________________
>LLVM Developers mailing list
>LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111207/7690f3fa/attachment.html>
More information about the llvm-dev
mailing list