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

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 5 14:50:17 PST 2019


rnk added inline comments.


================
Comment at: include/llvm/DebugInfo/CodeView/TypeCollection.h:33
   virtual uint32_t capacity() = 0;
+  virtual ArrayRef<ArrayRef<uint8_t>> records() const = 0;
 
----------------
I guess this is a question for @zturner.


================
Comment at: include/llvm/DebugInfo/CodeView/TypeHashing.h:119
+    }
+    if (ReqSecondPass) {
+      auto HashIt = Hashes.begin();
----------------
I think this would have to go to fix point, not just two passes. Consider the case where each record in the type stream refers to the next, i.e. a pointer to a pointer to a pointer ... to void, and everything is backwards. =(


Repository:
  rL LLVM

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

https://reviews.llvm.org/D57790





More information about the llvm-commits mailing list