[LLVMdev] EquivalenceClasses

David Greene greened at obbligato.org
Wed May 9 09:45:46 PDT 2007

Can someone explain the terminology used in the Doxygen
comments for EquivalenceClasses?  Specifically, what is
a "Leader" as opposed to other members of an equivalence

Say, for example, I want to create a set of equivalence
classes to specify subset relationships.  Imagine B is
a subset of A, C is a subset of B, E is a subset of D
and D has no relation to any other set.  I'd like to
group things into equivalence classes representing
"immediate" subsets:

Class 1: A, B
Class 2: B, C
Class 3: D, E

Would A, B and D be the "Leaders" of the equivalence classes?
Note that I don't want {A, B, C} as an equivalence class
because it breaks the "immediate subset" relationship.

With a relationship like equality, there is no problem because
no member of the equivalence class has any different information
about it than any other.  But a relation like "subset" implies
that members of the equivalence class are not all equal.

Thanks for your help.


More information about the llvm-dev mailing list