[PATCH] D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes

Scott Linder via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 17 08:25:38 PST 2021


scott.linder added a comment.

In D104827#3136642 <https://reviews.llvm.org/D104827#3136642>, @scott.linder wrote:

> Add enforcement of the always-owned-by-MetadataAsValue property of DIArgList to
> the metadata verifier. I'm not sure this is sufficient, but at least it is a
> start.
>
> Fixed the handling of the uniquify()!=this case in
> DIArgList::handleChangedOperand to assert if the above property doesn't hold.
>
> Add unittests for both changes above; the reproducers for this in IR rely on
> specific sequences of optimizations, and would be much more fragile.
>
> Is this moving in the right direction? Does the restriction on DIArgList seem
> reasonable, and if so does it need more explicit documentation or more thorough
> enforcement?

I pushed this before looking at the intervening comments, so the last bit is a bit redundant; it sounds like the restriction on DIArgList was intended and makes sense, so I think the remaining question is whether the Verifier check is sufficient.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104827



More information about the llvm-commits mailing list