[LLVMdev] Union type efforts and ComputeLinearIndex

Carter Cheng carter_cheng at yahoo.com
Sun Aug 2 19:28:11 PDT 2009


Ah alright you more or less implemented (perhaps with slight differences) what I was thinking as well. 

--- On Sun, 8/2/09, Andrew Lenharth <andrewl at lenharth.org> wrote:

> From: Andrew Lenharth <andrewl at lenharth.org>
> Subject: Re: [LLVMdev] Union type efforts and ComputeLinearIndex
> To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Date: Sunday, August 2, 2009, 4:37 PM
> On Sun, Aug 2, 2009 at 6:09 PM,
> Carter Cheng<carter_cheng at yahoo.com>
> wrote:
> > I just looked over your diff and it would seem to me
> that additional changes would be needed to be done to some
> of the LLVM-IR -> DAG stuff to make things fully
> functional (this could be a bit of supposition on my part
> since I do not fully understand all of the code).
> 
> Code generation actually was supported.
> 
> See:
> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090511/077465.html
> 
> Namely, look at the code in target data.
> 
> Andrew
> 
> >
> > --- On Sun, 8/2/09, Andrew Lenharth <andrewl at lenharth.org>
> wrote:
> >
> >> From: Andrew Lenharth <andrewl at lenharth.org>
> >> Subject: Re: [LLVMdev] Union type efforts and
> ComputeLinearIndex
> >> To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> >> Date: Sunday, August 2, 2009, 3:55 PM
> >> I posted an initial implementation
> >> that would generate code correctly,
> >> though I don't know that all optimization pass
> were safe
> >> still.
> >>
> >> see:
> >>
> >> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090511/077443.html
> >>
> >> As far as I know, there isn't enough demand right
> now for
> >> unions.
> >> They are mainly useful for target-independent
> >> front-ends.  I don't
> >> have the time right now to push them, though they
> would be
> >> useful for
> >> my work, just not critical.
> >>
> >> Andrew
> >>
> >> On Sun, Aug 2, 2009 at 3:57 PM, Carter Cheng<carter_cheng at yahoo.com>
> >> wrote:
> >> > Hi,
> >> >
> >> > I really dont know I came rather late to the
> >> discussion and some kind folks on this list gave
> me a few
> >> links. I didnt see much mention of any
> controversy. Are
> >> there issues still that need to be resolved?
> >> >
> >> > So far I am still quite the novice with LLVM
> internals
> >> but looking over the code it looks like one could
> hack in
> >> most of the required functionality up to the DAG
> building
> >> stage. I am not sure if this would work so perhaps
> I could
> >> get some opinions.
> >> >
> >> > My thoughts were as follows- introduce a new
> >> CompositeType called union (possibly refactoring
> some stuff
> >> into a common parent class from StructType).
> >> >
> >> > Recycle GEP (using RTTI) to handle UnionType
> field
> >> lookups as well. Add type codes into
> bitreader/bitwriter
> >> which would cope with the new union type. Add u {
> ... } into
> >> the AsmParser.
> >> >
> >> > Revise some of the target classes to cope
> with the
> >> unusual data layout and report back correct size
> for the
> >> union type. Add support for DAG generation into
> the
> >> DAGBuilder visitor class.
> >> >
> >> > I am just seeing this UnionType as a type of
> struct
> >> where all the fields have the same offset and the
> UnionType
> >> itself is as large as the largest member. I would
> speculate
> >> that otherwise it behaves pretty much like a
> StructType- but
> >> then again I am new to LLVM.
> >> >
> >> >
> >> > --- On Sun, 8/2/09, Dan Gohman <gohman at apple.com>
> >> wrote:
> >> >
> >> >> From: Dan Gohman <gohman at apple.com>
> >> >> Subject: Re: [LLVMdev] Union type efforts
> and
> >> ComputeLinearIndex
> >> >> To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> >> >> Date: Sunday, August 2, 2009, 12:05 PM
> >> >> Hello,
> >> >>
> >> >> My understanding of the discussions about
> union
> >> types was
> >> >> that
> >> >> there was trouble working out how unions
> should
> >> work. Have
> >> >> the issues been resolved?  If so, could
> you post
> >> a
> >> >> summary?
> >> >>
> >> >> Thanks,
> >> >>
> >> >> Dan
> >> >>
> >> >> On Aug 2, 2009, at 7:45 AM, Carter Cheng
> wrote:
> >> >>
> >> >> > I am curious how the efforts were
> progressing
> >> in
> >> >> implementing a
> >> >> > union type. I am will to try to
> contribute
> >> somewhat to
> >> >> this even
> >> >> > though I am perhaps somewhat of a
> beginner
> >> with
> >> >> LLVM(so it might be
> >> >> > nice to collaborate with someone). I
> had a
> >> look at
> >> >> some of the
> >> >> > subsystems that would require
> changes though
> >> I may
> >> >> have missed some.
> >> >> >
> >> >> > I however have a few questions-
> >> >> >
> >> >> > 1) What is ComputeLinearIndex for
> >> specifically? I
> >> >> would expect that
> >> >> > perhaps the RTTI stuff in there
> might need to
> >> support
> >> >> a new case for
> >> >> > a union type.
> >> >> >
> >> >> > 2) The subsystems I have catalogued
> that
> >> probably need
> >> >> patching are
> >> >> > AsmParser, BitCode(Reader/Writer),
> Target,
> >> CodeGen and
> >> >> some stuff in
> >> >> > VMCore. Did I miss anything?
> >> >> >
> >> >> > Thanks in advance.
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> _______________________________________________
> >> >> > LLVM Developers mailing list
> >> >> > LLVMdev at cs.uiuc.edu
> >> >>        http://llvm.cs.uiuc.edu
> >> >> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >> >>
> >> >>
> _______________________________________________
> >> >> LLVM Developers mailing list
> >> >> LLVMdev at cs.uiuc.edu
> >> >>        http://llvm.cs.uiuc.edu
> >> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >> >>
> >> >
> >> >
> >> >
> >> >
> >> >
> _______________________________________________
> >> > LLVM Developers mailing list
> >> > LLVMdev at cs.uiuc.edu
> >>         http://llvm.cs.uiuc.edu
> >> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >> >
> >>
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> LLVMdev at cs.uiuc.edu
> >>        http://llvm.cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>
> >
> >
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu
>         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu 
>        http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 


      




More information about the llvm-dev mailing list