Eric Christopher
2014-Oct-20 20:18 UTC
[LLVMdev] RFC: Are we ready to completely move away from the optionality of a DataLayout?
On Mon, Oct 20, 2014 at 9:51 AM, Chris Lattner <clattner at apple.com> wrote:> > On Oct 19, 2014, at 1:22 AM, Chandler Carruth <chandlerc at gmail.com> wrote: > > > I've just wasted a day chasing my tail because of subtleties introduced > to handle the optionality of the DataLayout. I would like to never do this > again. =] > > > > We now have this attached to the Module with just a flimsy faked-up pass > to keep APIs consistent. So, is there any problem with beginning down the > path of: > > > > 1) Synthesizing a "default" boring DataLayout for all modules that don't > specify one. > > 2) Changing the APIs to make it clear that this can never be missing and > is always available. > > 3) Start ripping out all of the complexity in the compiler dealing with > this. > > +1 from me. The theoretical blue-sky reasons for working with a module > that has no datalayout never happened and almost certainly never will. > >Agreed. The DataLayout should move (back) to the TargetMachine and live there (I'm doing that part right now). I don't particularly want to put it on the module because of (admittedly pie in the sky) plans of being able to compile a module with two target machines at the same time. -eric -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141020/4bc3ba45/attachment.html>
Chandler Carruth
2014-Oct-20 20:27 UTC
[LLVMdev] RFC: Are we ready to completely move away from the optionality of a DataLayout?
On Mon, Oct 20, 2014 at 1:18 PM, Eric Christopher <echristo at google.com> wrote:> Agreed. The DataLayout should move (back) to the TargetMachine and live > there (I'm doing that part right now). I don't particularly want to put it > on the module because of (admittedly pie in the sky) plans of being able to > compile a module with two target machines at the same time.Wait, what? The DataLayout can't live in the target machine without upending the layering completely. Every part of the IR optimizer uses it... -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141020/58128e82/attachment.html>
Eric Christopher
2014-Oct-20 21:20 UTC
[LLVMdev] RFC: Are we ready to completely move away from the optionality of a DataLayout?
On Mon, Oct 20, 2014 at 1:27 PM, Chandler Carruth <chandlerc at google.com> wrote:> > On Mon, Oct 20, 2014 at 1:18 PM, Eric Christopher <echristo at google.com> > wrote: >> >> Agreed. The DataLayout should move (back) to the TargetMachine and live >> there (I'm doing that part right now). I don't particularly want to put it >> on the module because of (admittedly pie in the sky) plans of being able to >> compile a module with two target machines at the same time. > > > Wait, what? The DataLayout can't live in the target machine without upending > the layering completely. Every part of the IR optimizer uses it... >Ha. And yet currently some of them are dependent upon subtarget features. I'm separating them out, but making them "ARM" or "X86" or what have you seems to be the best route. -eric