ChuanqiXu9 wrote:

> > what the code does is: when we write a on-disk hash table, try to write the 
> > imported merged hash table in the same process so that we don't need to 
> > read these tables again. However, in line 329 the function will try to omit 
> > the data from imported table with the same key which already emitted by the 
> > current module file. This is the root cause of the problem.
> 
> It's been a while since I looked at this, but as I recall, a fundamental 
> assumption of MultiOnDiskHashTable is that if we have a lookup result for a 
> key K in the current file, that result supersedes any results from dependency 
> files. So lookup won't look in those files if we have a local result (they 
> are overridden) and merging doesn't take results from those files either.
> 
> So I think the problem probably is that when we form a local result, we need 
> to (but presumably don't) add all the imported results with the same key to 
> the local result.

Thanks for the insight! I didn't known this. I'll try to make it.

https://github.com/llvm/llvm-project/pull/83237
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to