[all-commits] [llvm/llvm-project] e5a34f: [Flang][OpenMP] Push genEval closer to leaf loweri...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Thu Jan 18 05:47:47 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e5a34f9226ef56669f670dc32661934ee3e56f37
https://github.com/llvm/llvm-project/commit/e5a34f9226ef56669f670dc32661934ee3e56f37
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-01-18 (Thu, 18 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] Push genEval closer to leaf lowering functions (#77760)
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]
More information about the All-commits
mailing list