Displaying 4 results from an estimated 4 matches for "getlongdoubleformat".
2015 Nov 02
2
Representing X86 long double in Debug Info
...that sizeof() is supposed to
give. sizeof() is typically a multiple of alignment, so if alignof() is
128, sizeof must be 128. Other common alignments are 32 and 64, which makes
sizeof() 96 and 128 respectively. In practice, sizeof(long double) is never
80.
Maybe CGDebugInfo should ask TargetInfo::getLongDoubleFormat() what model
is in use and generate dwarf accordingly. It's a bit of a hack, so I'm open
to better suggestions.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151102/c8b7b982/attachment.html>
2015 Nov 02
4
Representing X86 long double in Debug Info
...nion out there:
1) Use the DW_AT_bit_size/DW_AT_byte_size
2) Add a new `storage_size` attribute to DIBaseType that is generally equal
to size, except in cases like this, where we should have `storage_size =
128, size = 80`
3) Have clang set those based on `getLongDoubeSize` (for storage size) and
`getLongDoubleFormat` as Reid suggested. This did seem very hacky too me at
first as well, but thinking about it again, the format does encode how many
semantic bits there are (because it is needed for correctly constant
folding etc.), which is really what we're asking for here.
However, I personally don't hav...
2015 Nov 03
2
Representing X86 long double in Debug Info
...ing back compat?) - the
>> new/differently named field should describe the new thing we want to add,
>> the actual functional size (not sure what to name it, though)?
>>
>>
>>
>> 3) Have clang set those based on `getLongDoubeSize` (for storage size)
>> and `getLongDoubleFormat` as Reid suggested. This did seem very hacky too
>> me at first as well, but thinking about it again, the format does encode
>> how many semantic bits there are (because it is needed for correctly
>> constant folding etc.), which is really what we're asking for here.
>>...
2015 Nov 01
4
Representing X86 long double in Debug Info
I'm in the process of teaching the Verifier to validate that the size of
debug info variable and the described value matches (already caught a
couple of bugs, both in my frontend and in LLVM itself). However, I've run
into the following:
size of passed value (80) does not match size of declared variable (128)
call void @llvm.dbg.declare(metadata x86_fp80* %x, metadata !11, metadata