[PATCH] D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes
Scott Linder via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 13 10:36:36 PST 2021
scott.linder updated this revision to Diff 393959.
scott.linder added a comment.
I'm pushing the (rough) patch which tries to make the switch from inheriting
DIArglist from MDNode to ReplaceableMetadataImpl.
The biggest issue I see with a change along these lines is that the
`!DIArgList` syntax becomes misleading. If we really want this, I think it
implies a bit more work, namely generalizing this to something closer to a
`ValuesAsMetadata` (plural), with a syntax closer to:
metadata {i32 1, i64 %x, float %f}
I think this doesn't add any ambiguity to the syntax, but this is just my
initial guess at what might make sense.
I'm not sure I can commit to this work, but I would still like to propose making
the UNIQUED/DISTINCT change for DIExpression and DICompileUnit. Would it be
reasonable for me to just remove DIArgList from my original patch, as it has
proven to be special enough not to generalize how I had hoped?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104827/new/
https://reviews.llvm.org/D104827
Files:
llvm/docs/LangRef.rst
llvm/docs/SourceLevelDebugging.rst
llvm/include/llvm/AsmParser/LLParser.h
llvm/include/llvm/IR/DebugInfoMetadata.h
llvm/include/llvm/IR/Metadata.def
llvm/include/llvm/IR/Metadata.h
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/Bitcode/Reader/MetadataLoader.cpp
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
llvm/lib/CodeGen/MIRParser/MIParser.cpp
llvm/lib/IR/AsmWriter.cpp
llvm/lib/IR/DebugInfoMetadata.cpp
llvm/lib/IR/LLVMContextImpl.cpp
llvm/lib/IR/LLVMContextImpl.h
llvm/lib/IR/Metadata.cpp
llvm/lib/IR/TypeFinder.cpp
llvm/lib/IR/Verifier.cpp
llvm/test/Assembler/invalid-diarglist-outside-function.ll
llvm/test/Assembler/invalid-diexpression-distinct.ll
llvm/test/Bitcode/DIExpression-is-distinct-upgrade.ll
llvm/test/Bitcode/DIExpression-is-distinct-upgrade.ll.bc
llvm/unittests/IR/MetadataTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104827.393959.patch
Type: text/x-patch
Size: 107154 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211213/edfa6735/attachment.bin>
More information about the llvm-commits
mailing list