Expand description

Automatic filter generation.

This module stores a global filter-generation configuration of type FilterGen. It stores the parameters (if any) for an actual filter-generation strategy. The following functions allow to interact with this global configuration: get, set, and set_from_cla.

Filter Generation Strategies

Strategies are defined in sub-modules such as inactive and alloc_site. They typically define a unit-struct (e.g. AllocSite) implementing the FilterGenExt trait which defines a parameter type Params among other things.

FilterGen features a variant for each strategy that stores the parameters for the strategy, so that it can run it when asked to. Note that strategies also define how they can be activated and controlled by implementing FilterGenExt.

NB: when creating a new filter generator, make sure you activate it by updating the all_gens private macro in this module. Overall, you should take inspiration from alloc_site when adding a new generator.

Filter generation also handles chart generation, which is is the chart_gen module.

Modules

Allocation-site-file-based automatic filter generation.

Simple chart generators.

Filter generation strategy that generates nothing.

Parser for filter generator arguments.

Enums

Enumeration of the filter generation techniques.

Traits

Trait implemented by filter generation techniques.

Functions

Retrieves the active filter generator.

Sets the active filter generator.

Sets the active filter generator from a command-line argument.