Representation of value set abstractions as trees causes performance issues
The new exhaustiveness checker has been originally designed to use a prefix tree representation of value set abstractions. Unfortunately, this resulted in huge performance problems (see for example #11160 (closed), #11161 (closed), #11162 (closed), #11163 (closed), #11195 (closed), #11276 (closed), #11303 (closed), #11374 (closed), #11302 (closed)) and we had to switch to a representation of value set abstractions as a list of value vector abstractions.
It would be nice to switch back to the prefix tree representation but the performance problems with it are yet to be characterized so I have created a branch using this representation (wip/gadtpm-prefix-tree) to further investigate this approach.
Trac metadata
| Trac field | Value |
|---|---|
| Version | |
| Type | Task |
| TypeOfFailure | OtherFailure |
| Priority | lowest |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | simonpj |
| Operating system | |
| Architecture |