[llvm-commits] [cfe-commits] [Patch] Move TargetData from Target to Support/VMCore

Villmow, Micah Micah.Villmow at amd.com
Thu Sep 27 09:42:17 PDT 2012



> -----Original Message-----
> From: Hal Finkel [mailto:hfinkel at anl.gov]
> Sent: Wednesday, September 26, 2012 9:40 PM
> To: Evan Cheng
> Cc: Villmow, Micah; llvm-commits at cs.uiuc.edu LLVM; Nadav Rotem; cfe-
> commits at cs.uiuc.edu cfe; Christopher Lattner
> Subject: Re: [cfe-commits] [llvm-commits] [Patch] Move TargetData from
> Target to Support/VMCore
> 
> On Wed, 26 Sep 2012 21:18:24 -0700
> Evan Cheng <evan.cheng at apple.com> wrote:
> 
> >
> >
> > On Sep 26, 2012, at 11:07 AM, Hal Finkel <hfinkel at anl.gov> wrote:
> >
> > > On Tue, 25 Sep 2012 16:16:22 -0700
> > > Evan Cheng <evan.cheng at apple.com> wrote:
> > >
> > >> Sorry, I understand why you are requesting this but I thinking
> > >> moving TargetData to support is conceptually dirty.
> > >
> > > Can you please explain this? I think that the opposite is true:
> > > Having TargetData in Target is conceptually dirty. TargetData
> > > represents 'target information that is available to frontends and
> > > IR-level passes without linking to the target descriptions'.
> >
> > Agreed.
> >
> > > As a result, I feel
> > > that TargetData does not belong with the target-description
> > > infrastructure, and so it should be moved out of Target so that
> > > everyone can use it.
> >
> > I agree it should be moved out but at least it's target related.
> > Polluting Support / VMCore with it is just worse. They have nothing to
> > do with target data conceptually.
> 
> Good point. On the other hand, TargetData is specified along with the
> core IR language reference. Perhaps the problem really is that auto-
> upgrade support is in VMCore, and auto-upgrade is full of logic that
> deals with target-specific intrinsics (and, maybe soon, pointer size
> information). Maybe making a libTargetData would be better?
[Villmow, Micah] Targetdata itself is just an in memory representation of
 the target string that is stored in the module. So the information is in
 VMCore, why not the way to access that information?
> 
>  -Hal
> 
> > This is all a matter of taste.
> > I'll let Chris make the decision.
> >
> > Evan
> >
> > >
> > >> Nadav is going to
> > >> propose a BOF at the DevMeeting to talk about designing an
> > >> abstraction to expose target information to LLVM ir.
> > >
> > > Great!
> > >
> > > Thanks again,
> > > Hal
> > >
> > >> Can we hold off
> > >> this kind of change for now?
> > >>
> > >> Losing the ability to verify isn't a strong enough argument for an
> > >> immediate change. I don't follow the auto-upgrade argument. Can you
> > >> elaborate?
> > >>
> > >> Thanks,
> > >>
> > >> Evan
> > >>
> > >> On Sep 21, 2012, at 4:08 PM, "Villmow, Micah"
> > >> <Micah.Villmow at amd.com> wrote:
> > >>
> > >>> This time with the actual patch
> > >>>
> > >>> From: Villmow, Micah
> > >>> Sent: Friday, September 21, 2012 4:08 PM
> > >>> To: llvm-commits at cs.uiuc.edu; cfe-commits at cs.uiuc.edu
> > >>> Subject: [Patch] Move TargetData from Target to Support/VMCore
> > >>>
> > >>> I have attached a patch which moves TargetData from Target to
> > >>> Support/VMCore. The reason why I would like to have this change
> > >>> can be read about in more detail in message [1][2], which in turn
> > >>> is required for [3]. In short, I need the capability of querying,
> > >>> if available, target specific information in the bitcode during
> > >>> verifier and the auto-upgrade mechanism. Because TargetData is in
> > >>> the target directory, a circular dependency is created when the
> > >>> verifier and auto-upgrade mechanism utilize the information.
> > >>> Please let me know what you think and if this approach isn't good,
> > >>> possible alternate solutions, Micah
> > >>>
> > >>> [1]
> > >>> http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-September/053277.h
> > >>> tml
> > >>> [2]
> > >>> http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-September/053166.h
> > >>> tml
> > >>> [3]
> > >>> http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-August/052639.html
> > >>> <move_target_data_to_support_vmcore.txt>__________________________
> > >>> _____________________ llvm-commits mailing list
> > >>> llvm-commits at cs.uiuc.edu
> > >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> > >>
> > >
> > >
> > >
> > > --
> > > Hal Finkel
> > > Postdoctoral Appointee
> > > Leadership Computing Facility
> > > Argonne National Laboratory
> 
> 
> 
> --
> Hal Finkel
> Postdoctoral Appointee
> Leadership Computing Facility
> Argonne National Laboratory






More information about the llvm-commits mailing list