Analyzer parameter renamed for clarity on supernode explosion factor.
The analyzer's `-param=analyzer-bb-explosion-factor=` is now `-param=analyzer-supernode-explosion-factor=` to better reflect its function after a recent change.
The -param=analyzer-bb-explosion-factor= parameter, which controls the number of basic blocks the analyzer explores, had its meaning changed recently. This commit renames it to -param=analyzer-supernode-explosion-factor= to accurately reflect its current control over the number of supernodes explored. The change also clarifies the warning message when the limit is reached, providing more information about both the number of explored supernodes and enodes.
In Details
GCC's static analyzer uses a worklist algorithm to explore possible execution paths. The exploded_graph represents the state of this exploration, with enodes representing individual program states and supernodes representing groups of related states. The analyzer had a parameter to limit the number of basic blocks, but its semantics changed. This commit renames the parameter to reflect that it now controls supernodes.
For Context
The GCC static analyzer attempts to find bugs by simulating program execution and exploring different paths. To manage complexity and avoid excessive memory usage, the analyzer limits the scope of its exploration. This commit involves a parameter that controls this limit, specifically how many "supernodes" the analyzer will consider. Supernodes are a way of grouping related program states to improve analysis efficiency. The name of a command-line parameter is changed to better reflect what part of the analysis it limits.