Utility ADTs and Worklists
include/Utils/ADT/ provides the reusable container and worklist layer used
across analyses.
Main components:
DisjointSetandUnionFindfor partition maintenance.ImmutableMap,ImmutableSet, andImmutableTreefor persistent data.PriorityWorkListandTwoLevelWorkListfor solver scheduling.TreeStreamand related iterator adapters for structured traversal.egraphs.hfor equality-saturation style experimentation.
These headers are used heavily by the dataflow, alias, and solver subsystems.
See also Utility Libraries.