[PATCH] ADT: Remove misaligned pointeres from DenseMapInfo

Alexey Samsonov vonosmas at gmail.com
Fri Jan 2 18:41:04 PST 2015


So, what do you think will be the correct resolution for this?

On Mon, Dec 29, 2014 at 5:45 PM, Alexey Samsonov <vonosmas at gmail.com> wrote:

> On Mon, Dec 29, 2014 at 5:41 PM, Chandler Carruth <chandlerc at gmail.com>
> wrote:
>
>>
>> On Mon, Dec 29, 2014 at 5:33 PM, Alexey Samsonov <vonosmas at gmail.com>
>> wrote:
>>
>>> Casing (int*) to (float*) doesn't dereference a pointer. However,
>>> upcast/downcast (in general case) does dereference a pointer - you may need
>>> to read vtable and adjust the pointer value accordingly.
>>
>>
>> I see, so the problem is we're up casting or down casting? I suspect such
>> casts can be avoided? We should only be casting between integers and a
>> single pointer type in the dense map stuff...
>>
>
> If we have smth. like DenseMap<AssertingVH<T>, Foo> (or other ValueHandle
> kinds), we would cast empty/tombstone keys (i.e. fake pointers) for T* to
> Value*.
>
> --
> Alexey Samsonov
> vonosmas at gmail.com
>



-- 
Alexey Samsonov
vonosmas at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150102/a4f30cd2/attachment.html>


More information about the llvm-commits mailing list