[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