Page MenuHomePhabricator

Changes to emit CodeView debug info nested type records properly using MCStreamer directives
AcceptedPublic

Authored by nilanjana_basu on Fri, Jul 19, 1:44 PM.

Details

Reviewers
rnk
Summary

Codeview debug info directives for nested type records were previously emitted as a serialized set of bytes. They are now emitted as directives with inline comments.

Diff Detail

Repository
rL LLVM

Event Timeline

nilanjana_basu created this revision.Fri, Jul 19, 1:44 PM
Herald added a project: Restricted Project. · View Herald TranscriptFri, Jul 19, 1:44 PM
  1. Added the "explicit" specifier which I had accidentally removed in a previous commit
  2. Ran git clang-format to fix formatting issues
rnk accepted this revision.Fri, Jul 19, 3:59 PM

Looks good, but please run git-clang-format before committing. Thanks!

llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h
230–231

Please format

llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp
142

Please format

404

Oh, it's much easier than it seems, I guess. :)

This revision is now accepted and ready to land.Fri, Jul 19, 3:59 PM
nilanjana_basu marked 4 inline comments as done.Mon, Jul 22, 10:43 AM
nilanjana_basu added inline comments.
llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp
404

Yes, it ended up being pretty easy. visitMemberRecordStream() passes the TypeRecordMapping instance to create a pipeline along with the deserializer. For now, the deserializer gets executed twice (once with TypeRecordMapping & once with TypeDumpVisitor) till TypeDumpVisitor is removed.