Skip to content

Whether to reduce or not, elaborated vs. non-elaborated #3759

@hs-apotell

Description

@hs-apotell

Usually, the check for whether or not to reduce an expression is dependent on the reduce argument to the CompileHelper members. However, the flag doesn't always account for whether the functions are being called in elaborated mode or non-elaborated mode context. There are cases where the functions explicitly force a reduction by passing true downstream disregarding the input reduce flag. I have tried to fix this issue in currently open/blocked PR #3651, but ran into other unexpected differences.

Question: Is wrapping the reduction call sites with both both m_elabMode and reduce the right solution to disable reduction in non-elaborated mode? If not, what more need to happen?

P.S. I pointed out this issue in the recently merged PR #3758 as well but since it didn't catch your eye, reporting it as an actual issue since this needs to be accounted for in lot more other places than just this specific change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions