[PATCH] D57790: [CodeView] Fix cycles in debug info when merging Types with global hashes

Alexandre Ganea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 6 08:53:31 PST 2019


aganea updated this revision to Diff 185568.
aganea marked 5 inline comments as done.
aganea added a comment.

Simplified, following comments.

I made the test a bit more complicated, how I'm not sure such things happen with real life OBJs. The whole test resolves in 1+3 passes (1 initial and 3 extra). Evidently if we could walk backwards it could resolve in 1+2 passes, but I think it's not worth it. This whole bug only happens with very small MASM OBJs.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D57790

Files:
  include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h
  include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
  include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
  include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h
  include/llvm/DebugInfo/CodeView/TypeHashing.h
  include/llvm/Support/BinaryStreamArray.h
  lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp
  lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
  lib/DebugInfo/CodeView/TypeHashing.cpp
  lib/DebugInfo/CodeView/TypeStreamMerger.cpp
  lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp
  test/tools/llvm-readobj/codeview-merging-ghash.test
  tools/llvm-readobj/COFFDumper.cpp
  tools/llvm-readobj/ObjDumper.h
  tools/llvm-readobj/llvm-readobj.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57790.185568.patch
Type: text/x-patch
Size: 23526 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190206/dde61900/attachment.bin>


More information about the llvm-commits mailing list