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 |