[flang-commits] [PATCH] D140912: [flang] Control flow graph issues

vdonaldson via Phabricator via flang-commits flang-commits at lists.llvm.org
Tue Jan 3 10:41:58 PST 2023


vdonaldson created this revision.
vdonaldson added a project: Flang.
Herald added subscribers: mehdi_amini, jdoerfert.
Herald added a project: All.
vdonaldson requested review of this revision.
Herald added a subscriber: pcwang-thead.

Address several issues involving control flow graph generation and structured code ops.

- Fix a problem with constructs nested inside unstructured selection constructs. This is a general problem involving branches that are implied rather than explicit. It is addressed in the generic genFIR "wrapper" function that calls individual statement-specific genFIR calls.
- The previous fix requires some compensating changes in IF and DO construct code lowering.
- Streamline the code to generate explicit DO loop variable updates.
- Fix a problem with the individual detailed genFIR calls made in the genFIR(SelectTypeConstruct) call.
- Modify control flow graph generation to support the insertion of deallocation and finalization code when lowering most END <construct> statements.


https://reviews.llvm.org/D140912

Files:
  flang/include/flang/Lower/PFTBuilder.h
  flang/lib/Lower/Bridge.cpp
  flang/lib/Lower/PFTBuilder.cpp
  flang/test/Lower/select-case-statement.f90

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140912.486024.patch
Type: text/x-patch
Size: 19973 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20230103/4bfa919e/attachment-0001.bin>


More information about the flang-commits mailing list