Files
clang-p2996/flang/docs/ReleaseNotes.md
Usman Nadeem d34dce25d9 [Flang] Allow registering plugin extensions with the pass builder
Pass plugins are compiled and linked dynamically by default. Setting
`LLVM_${NAME}_LINK_INTO_TOOLS` to `ON` turns the project into a
statically linked extension. Projects like Polly can be used this way by
adding `-DLLVM_POLLY_LINK_INTO_TOOLS=ON` to the `cmake` command.

The changes in this patch makes the PassBuilder in Flang aware of
statically linked pass plugins, see the documentation for more details:
https://github.com/llvm/llvm-project/blob/main/llvm/docs/WritingAnLLVMNewPMPass.rst#id21

Differential Revision: https://reviews.llvm.org/D137673

Change-Id: Id1aa501dcb4821d0ec779f375cc8e8d6b0b92fce
2022-11-10 14:16:15 -08:00

2.8 KiB

Flang 15.0.0 (In-Progress) Release Notes

Warning

These are in-progress notes for the upcoming LLVM 15.0.0 release. Release notes for previous releases can be found on the Download Page.

Introduction

This document contains the release notes for the Flang Fortran frontend, part of the LLVM Compiler Infrastructure, release 15.0.0. 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

  • Flang now supports loading LLVM pass plugins with the -fpass-plugin option which is also available in clang. The option mimics the behavior of the corresponding option in clang and has the same capabilities and limitations.
  • Flang also supports statically linked LLVM pass extensions. Projects can be linked statically into flang-new if the cmake command includes -DLLVM_${NAME}_LINK_INTO_TOOLS=ON. This behavior is also similar to clang.

Bug Fixes

Non-comprehensive list of changes in this release

  • The bash wrapper script, flang, is renamed as flang-to-external-fc.
  • In contrast to Clang, Flang will not default to using -fpie when linking executables. This is only a temporary solution and the goal is to align with Clang in the near future. First, however, the frontend driver needs to be extended so that it can generate position independent code (that requires adding support for e.g. -fpic and -mrelocation-model in flang-new -fc1). Once that is available, support for the -fpie can officially be added and the default behaviour updated.

New Compiler Flags

  • Refined how -f{no-}color-diagnostics is treated to better align with Clang. In particular, both -fcolor-diagnostics and -fno-color-diagnostics are now available in flang-new (the diagnostics are formatted by default). In the frontend driver, flang-new -fc1, only -fcolor-diagnostics is available (by default, the diagnostics are not formatted).

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.