spcl / spcl/dace

`PatternTransformation._pipeline_results` only set during calls to `apply()`.

Open
#1,911 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
593
Forks
163
Avg merge
2d 23h
Merged PRs (30d)
60

Description

Because `PatternTransformation`, i.e. most of the data flow transformations, including `MapFusion` are called through the `apply()` function, that lacks the `pipeline_results` argument that `apply_pass()` has.
To make this argument available to such passes, `PatternTransformation` has this member `_pipeline_results`, that is set to the value of `pipeline_results` argument that was passed to the `apply_pass()` method.
However, this member is only set during the execution of `apply()`, but when `can_be_applied()` is run the value is `None`.

I do not see a reason why it has to be that way and would propose to change this, such that `_pipeline_results` is also set during `can_be_applied()`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.