diff options
author | Tom Eccles <tom.eccles@arm.com> | 2024-04-26 10:55:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-26 10:55:56 +0100 |
commit | 46b66dfd31ed0206b4444b77612df42193fe5b42 (patch) | |
tree | 13ae1637853807106aaa3e9bf0930737b53d13d4 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | |
parent | 08dc03c57078ab806dbf015554b9faf38ccc4d4d (diff) | |
download | llvm-46b66dfd31ed0206b4444b77612df42193fe5b42.zip llvm-46b66dfd31ed0206b4444b77612df42193fe5b42.tar.gz llvm-46b66dfd31ed0206b4444b77612df42193fe5b42.tar.bz2 |
[flang][NFC] use tablegen to create StackArrays constructor (#90038)
Stack arrays needs to stay running only on func.func because it needs to
know which block terminators can end the function (rather than just
branch between unstructured control flow). A similar concept does not
exist at the more abstract level of "any top level mlir operation".
For example, it currently looks for func::ReturnOp and
fir::UnreachableOp as points when execution can end. If this were to be
run on omp.declare_reduction, it would also need to understand
omp.YieldOp (perhaps only when omp.declare_reduction is the parent).
There isn't a generic concept in MLIR for this.
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions