[llvm-dev] sizeof(DIFlags)

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 16 11:52:01 PDT 2018


I think mainly to ensure that we don't have extra padding in DIType objects:

class DIType : public DIScope {
  unsigned Line;
  DIFlags Flags;
  uint64_t SizeInBits;
  uint64_t OffsetInBits;
  uint32_t AlignInBits;

If DIFlags grew to 64-bits, we'd want to re-arrange things to save memory.
DITypes have been known to consume large amounts of memory.

On Mon, Jul 16, 2018 at 5:57 AM Sohail Somani (Fizz Buzz Inc.) via llvm-dev
<llvm-dev at lists.llvm.org> wrote:

> Hi list,
>
> Is there a standards based reason why the DIFlags enum is set to
> uint32_t[1]? I am sure my DWARF-std-reading-fu is not up to snuff and so I
> cannot seem to find it.
>
> The reason I ask is that we are running out of space for our own DIFlags
> and would like to nail this down before deciding on an approach.
>
> Thanks!
>
> Sohail
>
> [1] The code in question:
> https://github.com/llvm-mirror/llvm/blob/master/include/llvm/IR/DebugInfoMetadata.h#L194
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://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/20180716/3a17b136/attachment.html>


More information about the llvm-dev mailing list