NoQ added a comment.
Hmm, i think i get it. `Cached` is a reference. Changing `Memoization` will
invalidate references because `DenseMap` doesn't provide the respective
guarantee.
Here's how the code should have looked:
~ 77 Optional<TriBoolTy> Cached = Memoization[C];
~ 78 if (!Cached) {
79 Cached = seenBeforeRec(C, A, B, Memoization);
+ 80 Memoization[C] = Cached;
+ 81 }
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D54921/new/
https://reviews.llvm.org/D54921
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits