qat.purr.backends.qblox.result_base module

class ResultConcept

Bases: ABC

Base class describing the abstraction of an analysis result.

See ResultManager.

class ResultInfoMixin

Bases: ABC

Base mixin specifying result identification mechanism. A result has an id, name, and value.

See ResultManager.

id()
name()
value()
class ResultManager

Bases: object

Represents a collection of analysis results with caching and aggregation capabilities.

Passes that merely compute analyses on the IR must not invalidate prior results. Passes that mutate any IR units are likely to invalidate predecessor results.

An analysis pass can produce 1 or more result objects. There is in theory a duality between passes and the results they produce.

To keep things simple, the ResultManager is just a set of analysis results. Result identification is also kept trivial where a UUID is used internally. Proper identification mechanism will be called upon once we feel the need for a more sophisticated PassManager.

See PassManager.

add(res_obj)
lookup_by_type(ty)
property results
update(other_res_mgr)
class ResultModel(res_obj)

Bases: ResultConcept

Wrapper for any result object typically produced by an analysis pass.

See ResultManager.

property value