Skip to content

Commit

Permalink
[Flang][OpenMP] Push genEval closer to leaf lowering functions (#77760)
Browse files Browse the repository at this point in the history
This moves the lowering of the nested evaluations all the way to the
bottom of the call stack. This PR does not attempt to change the leaf
lowering functions beyond placing the call to `genEval` in there.
Whether the nested evaluations should be lowered for any given op
depends on the context in which that op is created, hence a `genNested`
parameter was added.

Contexts in which nested evaluations should not be lowered are during
lowering of composite constructs, such as PARALLEL SECTIONS. This
particular case is considered a block construct tied to the SECTIONS
directive, and the lowering code will first create an empty parallel op,
and then recursively lower the SECTIONS code. Similar situations occur
when lowering most (if not all) compound/composite constructs.

Recursive lowering [4/5]
  • Loading branch information
kparzysz committed Jan 18, 2024
1 parent 0a3a0ea commit e5a34f9
Showing 1 changed file with 134 additions and 98 deletions.

0 comments on commit e5a34f9

Please sign in to comment.