[PATCH] D57790: [CodeView] Fix cycles in debug info when merging Types with global hashes
Zachary Turner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 5 16:05:50 PST 2019
zturner added inline comments.
================
Comment at: include/llvm/DebugInfo/CodeView/TypeHashing.h:119
+ }
+ if (ReqSecondPass) {
+ auto HashIt = Hashes.begin();
----------------
aganea wrote:
> rnk wrote:
> > 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. =(
> Good point. I can make a test case, and modify to handle that.
I think we can do slightly better than go to fixed point. First go forwards, then go backwards over the remaining records. That's verrrrrry likely to get you to the end in 2 passes. If nothing else, definitely a better heuristic then always going forward.
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