[llvm-dev] Can creating new forms of debug info metadata be simplified? [formatting fixed]

Sohail Somani (Fizz Buzz Inc.) via llvm-dev llvm-dev at lists.llvm.org
Tue May 29 16:56:50 PDT 2018


On Tue, May 29, 2018, at 7:41 PM, Duncan P. N. Exon Smith wrote:
> As a heads up, bitcode records tend to be versioned somewhat implicitly 
> based on their structure (e.g., number of fields).

Yes, this is true. You want to do that to reduce space usage. Intuitively, I sense that we can work around this using a similar logic but it's something I'd have to think about some more. Alternatively, we could add some kind of a prefix field for the tag version.

> > If either of the above two use cases don't work out, TableGen'ing is a viable option as well.
> 
> Or we can leave some code written explicitly (like reading bitcode, 
> which seems the hardest to deal with).

I think if this were to be done, v1 would be designed to handle the 80% use case, with an escape hatch to use the current approach. So the complex cases (there is some hairy stuff) would continue to be written as is today.

Still, I don't want anyone to voluntarily have to write/read bitcode again, myself included, or perhaps especially myself :)

Sohail


More information about the llvm-dev mailing list