[PATCH] D11969: Avoid using of DataLayout::getPointerSize() without address space argument in DWARF info generation

Mehdi Amini via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 13 18:32:26 PDT 2015


> On Aug 13, 2015, at 6:26 PM, Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com> wrote:
> 
> Yes, I agree. A better longer term solution will require to dig in into each use of it.
> At the very least I think we need to remove TargetMachine.getPointerSize() and AsmPrinter.getPointerSize() not to increase a number of such functions without an argument.

If it is to replace this with a getPointerSize() that has no clear attached semantic, I don’t see this as a progress.

— 
Mehdi


> I'm testing this conservative patch now.
> 
> Stas
> 
> -----Original Message-----
> From: Mehdi Amini [mailto:mehdi.amini at apple.com] 
> Sent: Thursday, August 13, 2015 6:21 PM
> To: reviews+D11969+public+c218119e32184906 at reviews.llvm.org
> Cc: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>; Arsenault, Matthew <Matthew.Arsenault at amd.com>; echristo at gmail.com; llvm-commits at lists.llvm.org
> Subject: Re: [PATCH] D11969: Avoid using of DataLayout::getPointerSize() without address space argument in DWARF info generation
> 
> 
>> On Aug 13, 2015, at 5:35 PM, Stanislav Mekhanoshin <stanislav.mekhanoshin at amd.com> wrote:
>> 
>> rampitec added a comment.
>> 
>>> In http://reviews.llvm.org/D11969#223472, @joker.eph wrote:
>> 
>>> 
>> 
>>>> - The DataLayout does not defined anything about which address space the code resides in
>> 
>>> 
>> 
>> 
>> I have checked with our engineer doing debug info, and it he confirmed these uses are not related to code addresses,
> 
> Not nice, my local debug expert had a different interpretation :(
> 
> It seems that every single use of this getPointerSize() will need to be studied to see what it really means and what is the “right” answer.
> 
> Right now MCDwarf.cpp is the only user of MCAsmInfo::getPointerSize() as far I can see.
> 
>> but generally to variable addresses. In fact in our case all code addresses are redirected, so we should not even hit it. Then a bigger type holding pointers is an inefficiency, but not a bug.
>> 
>> I.e. it looks like the name "CodePointerSize" is not correct, a "PointerSize" makes more sense. Maybe a "getLargestPointerSize()" and a "LargestPointerSize" would be better here.
>> It can even be calculated from the DataLayout itself.
> 
> It is not clear to me that it is the *right* answer to provide a “getLargestPointerSize()”, even though it seems that would be enough for your use case
> 
>> Mehdi
> 



More information about the llvm-commits mailing list