[PATCH] D73261: [dwarf5] Support DebugInfo for constexpr for C++ variables and functions

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 27 11:27:38 PST 2020


dblaikie added a comment.

In D73261#1838683 <https://reviews.llvm.org/D73261#1838683>, @probinson wrote:

> In D73261#1838552 <https://reviews.llvm.org/D73261#1838552>, @djtodoro wrote:
>
> > > Is it necessary to use DIFlags? I am willing to do that but generally, it is not welcomed because we have a limited number of DIFlags and most of them are currently in use.
> >
> > Are there any flags within `DIFlags` that could be applied only to functions? If so, we should move them in to the `DISPFlags` in order to make some space within the `DIFlags`.
>
>
> There might be.  The trick is backward compatibility of bitcode.  It looks like Virtual is already replicated to DISPFlags, but wasn't removed from DIFlags.  Other candidates for migration to DISPFlags: Explicit, Prototyped, NoReturn, Thunk, AllCallsDescribed, maybe NonTrivial.
>  Their exact semantics and how they're used would have to be verified.
>
> @dblaikie @aprantl  thoughts on this?


Don't have strong feelings/knowledge here (Apple folks have more vested interested in the IR backwards compatibility issues). We can rev the Debug Info Version metadata to allow us to recycle those bits rather than leaving them dead/reserved/deprecated. Once we actually need bits, I expect we should do that - but sounds like we're not there quite yet.

> huh. DIFlag bit 21 has no symbol; it used to be DIFlagMainSubprogram but we did not put in a Reserved or Deprecated name for it.  That should be fixed.
> 
>> In addition, does it make sense to making something like `DIVarFlags`? And move the flags applying only to variables.
> 
> We might have some like that.  BitField and StaticMember, just based on the names.
> 
> Note that moving flags around is tricky and requires extreme care to ensure full backward compatibility.  Moving flags would have to be its own patch and this one would depend on it.




CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73261/new/

https://reviews.llvm.org/D73261





More information about the llvm-commits mailing list