Flang 22 Release Notes

Introduction

This document contains the release notes for the Flang Fortran frontend, part of the LLVM Compiler Infrastructure, release 22. Here we describe the status of Flang in some detail, including major improvements from the previous release and new feature work. For the general LLVM release notes, see the LLVM documentation. All LLVM releases may be downloaded from the LLVM releases web site.

Note that if you are reading this file from a Git checkout, this document applies to the next release, not the current one. To see the release notes for a specific release, please see the releases page.

Major New Features

  • Support for LOWER= argument for C_F_POINTER.

  • Experimental support for multi-image program launch, collective subroutines, synchronization, teams, and image enumeration.

do concurrent mapping to OpenMP

Flang now has better support for do concurrent parallelization on the CPU and GPU. On the CPU, we validated the feature using FIATS’ inference and training codes. On the GPU, we have basic support that is still in progress; we have offload tests for 1D and 2D saxpy. We also validated using codes that do not use extensive user-defined types and/or allocatables.

To use the feature, use -fdo-concurrent-to-openmp=[none|host|device]. OpenMP must be enabled as well, for example: -fopenmp [--offload-arch=<target_arch>].

Bug Fixes

Non-comprehensive list of changes in this release

New Compiler Flags

  • -fexperimental-loop-fusion is now recognized by flang.

  • -fcoarray activates experimental multi-image support in flang.

Windows Support

Fortran Language Changes in Flang

Build System Changes

New Issues Found

Additional Information

Flang’s documentation is located in the flang/docs/ directory in the LLVM monorepo.

If you have any questions or comments about Flang, please feel free to contact us on the Discourse forums.