aboutsummaryrefslogtreecommitdiff
path: root/lldb/packages/Python/lldbsuite/test/dotest.py
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2024-06-03 17:20:07 +0200
committerGitHub <noreply@github.com>2024-06-03 17:20:07 +0200
commitd1aa9bac3c8ecc30fcc5d4d80a1f70c729aec909 (patch)
treeee1ddc2047c8f3df425500639d2461235f22df0a /lldb/packages/Python/lldbsuite/test/dotest.py
parent4cd115ca34231f1892b75b0fe12776b964a55ba2 (diff)
downloadllvm-d1aa9bac3c8ecc30fcc5d4d80a1f70c729aec909.zip
llvm-d1aa9bac3c8ecc30fcc5d4d80a1f70c729aec909.tar.gz
llvm-d1aa9bac3c8ecc30fcc5d4d80a1f70c729aec909.tar.bz2
[flang] lower select rank (#93967)
Lower select rank according to [assumed-rank lowering design doc](https://github.com/llvm/llvm-project/blob/main/flang/docs/AssumedRank.md). The construct is lowered using fir.box_rank and fir.select_case operation and, for the non pointer/allocatable case, a fir.is_assumed_size + conditional branch before the select_case to deal with the assumed-size case. The way the CFG logic is generated, apart from the extra conditional branch for assumed-size, is similar to what is done for SELECT CASE lowering, hence the sharing of the construct level visitor. For the CFG parts. The main difference is that we need to keep track of the selector to cook it and map it inside the cases (hence the new members of the ConstructContext). The only TODOs left are to deal with the RANK(*) case for polymorphic entities and PDTs. I will do the polymorphic case in a distinct patch, this patch has enough content. Fortran::evaluate::IsSimplyContiguous change is needed to avoid generating copy-in/copy-out runtime calls when passing the RANK(*) associating entity to some implicit interface.
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/dotest.py')
0 files changed, 0 insertions, 0 deletions