[llvm-dev] Question about ObjectSizeOffsetVisitor::visitGlobalVariable

George Burgess IV via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 29 19:28:04 PST 2020


Sounds reasonable to me if there're no other subtitles to worry about.

On Wed, Jan 29, 2020 at 5:29 PM Karl Rehm <klrehm123 at gmail.com> wrote:

> Interesting, so I guess we can check for whether it's an array type and
> adjust accordingly instead? Blocking *all* global variables without
> definitive initializers feels a bit much to me, especially if they have
> primitive types (i.e. integers) that don't have the potential to be screwed
> around with like this.
>
> On Wed, Jan 29, 2020 at 8:14 PM George Burgess IV <
> george.burgess.iv at gmail.com> wrote:
>
>> Looks like the commit that added that was
>> https://github.com/llvm/llvm-project/commit/16e42128c24f5df8a61cfd2e6cdf3bd3966db0c5
>> . A reduced example might look something like this:
>> https://godbolt.org/z/r4G_g-
>>
>> At the C source level, static object size detection has to be similarly
>> conservative in the face of 'variable-length' structs like `struct
>> my_string { size_t size; char data[0]; };`, though I don't know how
>> relevant that is here.
>>
>> On Tue, Jan 28, 2020 at 11:41 PM Karl Rehm via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>>> In this function (used to check the size of a global) there is an
>>> initial check for whether the initializer to this function is "definitive."
>>> My question is: why do we need this? How does the object's size change if a
>>> global's initializer is defined at link time?
>>>
>>> Thanks,
>>> Karl
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm-dev at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200129/da65211e/attachment.html>


More information about the llvm-dev mailing list