1 This is the code to load/save the dependency graph. Loading is assumed
2 to run early in compilation, and saving at the very end. When loading,
3 the basic idea is that we will load up the dependency graph from the
4 previous compilation and compare the hashes of our HIR nodes to the
5 hashes of the HIR nodes that existed at the time. For each node whose
6 hash has changed, or which no longer exists in the new HIR, we can
7 remove that node from the old graph along with any nodes that depend
8 on it. Then we add what's left to the new graph (if any such nodes or
9 edges already exist, then there would be no effect, but since we do
10 this first thing, they do not).