[all-commits] [llvm/llvm-project] 87e252: [flang] Zero initialize uninitialized components i...

jeanPerier via All-commits all-commits at lists.llvm.org
Mon Oct 2 00:53:23 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 87e25210226086a54f44de4f1d4575fee9073721
      https://github.com/llvm/llvm-project/commit/87e25210226086a54f44de4f1d4575fee9073721
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-10-02 (Mon, 02 Oct 2023)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/test/Lower/array.f90
    M flang/test/Lower/common-block-2.f90
    M flang/test/Lower/common-block.f90
    M flang/test/Lower/default-initialization-globals.f90
    M flang/test/Lower/equivalence-static-init.f90
    M flang/test/Lower/pointer-default-init.f90
    M flang/test/Lower/pointer-initial-target-2.f90

  Log Message:
  -----------
  [flang] Zero initialize uninitialized components in saved default init (#67777)

Follow up up of https://github.com/llvm/llvm-project/pull/67693

- Zero initialize uninitialized components of saved derived type entity
with a default initial value.
- Zero initialize uninitialized storage of common blocks with a member
with an initial value.
- Zero initialized uninitialized saved equivalence

This removes all the cases where fir.global are created with an initial
value that results in an undef in LLVM for part of the global, leading
in surprising LLVM optimizations at -O2 for Fortran folks that expects
there saved variables to be zero initialized if there is no explicit or
default initial value.




More information about the All-commits mailing list