[PATCH] D106136: [Analyzer][solver] Fix equivalence class invariant violation in removeDeadBindings

Gabor Marton via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 16 07:13:59 PDT 2021


martong added a comment.

Thanks for taking your time to take a look. And I accept your statements. Nevertheless, let me explain my motivation.

I thought that a class is trivial if it has only one member. And it seemed perfectly logical to not store equivalence classes with one member. I.e `a` equals to `a` does not hold any meaningful information it just takes precious memory. When we add a new constraint we take careful steps to avoid adding a new class with one member. However, when remove dead kicks in, suddenly we end up having classes stored with one member, which is a somewhat inconsistent design IMHO. Perhaps some better documentation could have helped.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D106136



More information about the cfe-commits mailing list