aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
diff options
context:
space:
mode:
authorTom Eccles <tom.eccles@arm.com>2024-04-26 10:55:56 +0100
committerGitHub <noreply@github.com>2024-04-26 10:55:56 +0100
commit46b66dfd31ed0206b4444b77612df42193fe5b42 (patch)
tree13ae1637853807106aaa3e9bf0930737b53d13d4 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
parent08dc03c57078ab806dbf015554b9faf38ccc4d4d (diff)
downloadllvm-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