[all-commits] [llvm/llvm-project] 609b78: [flang] Control flow graph issues
vdonaldson via All-commits
all-commits at lists.llvm.org
Tue Jan 3 14:47:00 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 609b789170625277f631139c790c22d527ff1eed
https://github.com/llvm/llvm-project/commit/609b789170625277f631139c790c22d527ff1eed
Author: V Donaldson <vdonaldson at nvidia.com>
Date: 2023-01-03 (Tue, 03 Jan 2023)
Changed paths:
M flang/include/flang/Lower/PFTBuilder.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/test/Lower/select-case-statement.f90
Log Message:
-----------
[flang] Control flow graph issues
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.
More information about the All-commits
mailing list