[flang-dev] Flang Biweekly Sync - Notes from the December 11th, 2019 call

Gary Klimowicz via flang-dev flang-dev at lists.llvm.org
Thu Dec 19 15:50:13 PST 2019


Flang team,

Here are the notes from the December 11th, 2019 Flang biweekly call.

Please be sure to let us know if you have any questions and agenda topics for the next call.

The next Flang biweekly call will be Wednesday, January 8th, 2020 at 8:30 AM Pacific Time. There will be no call on December 25th.

The Flang Technical Community call was Monday, December 16th, 8:30 AM Pacific Time. The next call is scheduled for Monday December 30th.

Thank you.

Gary Klimowicz


Agenda

  *   Current Flang relicensing; new Flang relicensing
  *   F18 development update
  *   Flang development update


Highlights


  *   Meeting logistics information is at the end of this email.


  *   Flang Community Technical Biweekly Call
     *   Meeting logistics are at the end of this email.
     *   The December 2nd call was feedback from Appentra on using Flang for tooling. Some of the issues raised look like they could become individual topics for future technical calls.
     *   The December 16th call was an update on current activity across the various organizations and people contributing to flang.
     *   Please let Hal Finkel know topics you would like brought up, or edit the Google doc to add any topics you would like to present.


  *   New Flang update
     *   Working on resolution of type-bound generics and operators.
     *   Completed support of forward references to derived types.
     *   Implemented logical expression lowering.
     *   Created an expression lowering test framework.
     *   Began character expression lowering.
     *   Continued work on DO loop semantic checks, especially where zeroes are not allowed.
     *   Continued work on FIR definition.
     *   Peter Waller (Arm Ltd) is taking on the task of linearizing the commit history and pushing the results to the LLVM repo. This is complicated by the desire to preserve as much commit history as possible while coping with commits from branches that may be problematic to rebase.


  *   Original Flang Dev news and updates
     *   The LLVM license change (Apache 2.0 with LLVM exceptions) has been merged into open source.
     *   With this change, we will be providing access for additional committers to the project.
     *   This should help with the queue of pull requests that are outstanding for Flang.


Where we can use your help

  *   Topics for the next biweekly call and technical community call.
  *   Let us know if you have presentations or meetings relevant to the Flang community. We will publicize these in these notes.


Details (Updates below are in bold)


  1.  Flang on GitHub
·         There have been 1,676 total commits (1,665 in the previous update).
·         There are 494 people who have “starred” the flang repo and 70 forks.
·         204 people are following f18 in 36 forks. There have been 2,814 commits.


  1.  Flang Community Technical Call

  *   The call December 2nd was a recap of Appentra’s experience in trying to use flang for tooling.
  *   The last call was December 16th, an overview of current progress and activity from Arm, NVIDIA and ANL.
  *   Future Topics and tentative dates:
     *   LLVM transition (mailing lists, git/monorepo, etc.)
     *   Potential topics for future calls include build times for the compiler and status updates on MLIR.


  1.  Flang community

  *   Website: www.flang-compiler.org<http://www.flang-compiler.org> redirects to http://github.com/flang-compiler/flang.
  *   Wiki: https://github.com/flang-compiler/flang/wiki is the Flang wiki page where the most up-to-date build instructions and news can be found.
  *   Issues: Bug reports for current Flang can be reported to https://github.com/flang-compiler/flang/issues.
  *   LLVM mailing lists: There are now two mailing lists hosted by llvm.org:
     *   The flang-dev mailing list has been set up. Subscribe at https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-dev. These biweekly notes are now sent to this email list.
     *   The flang-commits mailing list has been set up. Subscribe at https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-commits.
  *   Slack: flang-compiler.slack.com is used for informal real-time communication in the Flang community. Add yourself via the invite <https://join.slack.com/t/flang-compiler/shared_invite/enQtMjExOTEyMzQ3MjIxLTZkMDNlODc2YjgxZDY1NTQ2YWJiZWVhOGU2YWY0NDNiOWY0ZjQzNjYyZTNlZjBlNjgxY2U1ZjFjMmY5NzIwMzA> link.



  1.  What we’re up to with new LLVM Flang Fortran 2018 compiler

  *   On GitHub: The source code f18 is available on flang-compiler.github.com/f18<https://github.com/flang-compiler/f18/>. It’s recommended to start in the “documentation” directory.
  *   Status: We continue development on the new Fortran 2018 front-end. Recent work includes:

     *   Working on resolution of type-bound generics and operators.
     *   Completed support of forward references to derived types.
     *   Implemented logical expression lowering.
     *   Created an expression lowering test framework.
     *   Began character expression lowering.
     *   Continued work on DO loop semantic checks, especially where zeroes are not allowed.
     *   Continued work on FIR definition.
     *   We continue to follow the MLIR project for the flang intermediate representation.


  *   LLVM Project:

     *   The flang-dev email list has been set up on llvm.org. You can subscribe here: https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-dev.
     *   The flang-commits email list has also been set up. There is no content yet, as we haven’t migrated to the LLVM monorepo.
     *   No progress on adding flang to the LLVM repo. Flang will migrate to the LLVM monorepo with its previous history and commits (as clang did, as MLIR plans). Peter Waller (Arm Ltd) is taking on the task of linearizing the commit history and pushing the results to the LLVM repo. This is complicated by the desire to preserve as much commit history as possible while coping with commits from branches that may be problematic to rebase.
     *   We are not waiting for MLIR to be upstreamed to LLVM. Discussion at SC 2019 was that we would have the flang CMake look for an installed MLIR, and change how we find MLIR once it is in the monorepo.


  1.  What we’re up to with current Flang

     *   We made updates for the new Apache 2.0 license with LLVM exceptions. Changes here are touched over 5,000 files in Flang.
     *   We are in the process of incorporating changes to support LLVM 9.0.
     *   We will be opening up Flang to more committers soon. We would like to get the license changes into Flang before adding committers.
     *   We will be decoupling PGI and Flang development to shorten turnaround on pull requests and other development activity.
     *   Recent fixes pushed to Flang
        *   More PGI bug fixes
        *   LLVM Apache 2.0 with LLVM exceptions licensing change


     *   Upcoming changes to Flang (in review):
        *   Pull request #573 – libpgmath: make it clang friendly; addresses bug #557 (reviewing)
        *   Pull request #695 – Remove duplicate files


     *   Assigned for work:
        *   #402 Compiler error on regular code
        *   #404 Internal compiler error with polymorphic subroutine parameters and nested derived types
        *   #426 Failures in #include of OpenMPI's mpif.h
        *   #461 OpenMP TeaLeaf_ref: local pointer variable not captured into parallel region
        *   #477 Pull request for module variable import debug test
        *   #498 Error while compiling libpgmath
        *   #602 fd_sincos_scalar.cpp: "error: ‘__builtin_complex’ was not declared in this scope"
        *   #604 Flang errors out on a final subroutine with parameterized derived types
        *   #608 gdwarf-<version> flag is not honoured
        *   #610 No debug generated for namelists
        *   #662 Regression : Segfault in taskloop code
        *   #720 Segfault on sourced allocation of polymorphic variable
        *   #780 Linking CXX shared library libpgmath.dylib fails on macOS
        *   #787 ICE with array operations inside NORM2
        *   #807 possible memory corruption in function ompaccel_copy_arraydescriptors
        *   Pull request #573 libpgmath: make it clang friendly; addresses bug #557
        *   Pull request #695 runtime: remove duplicate files
        *   Pull request #710 Test case for capturing procedure pointers to OpenMP parallel regions
        *   Pull request #719 libpgmath: windows and osx support


  *   Outstanding pull requests:

  *   #521 Add OpenBSD as a recognized OS (pending test on new OpenBSD systems internally)
  *   #529 runtime: PoC: generate call to LLVM intrinsic instead of calling runtime functions when possible; handling NINT for a beginning (proposed expansion of this pull request)
  *   #530 AArch64: disable test cases invalid on aarch64 (working on)
  *   #532 runtime: remove duplicate files (need to validate on all compilers)
  *   #546 Loosen ties to x86 (working on)
  *   #572 libpgmath: respect LIBPGMATH_WITH_GENERIC setting; fixes #559 (reviewing)
  *   #592 add support for macOS (awaiting CLA)
  *   #622 Add explicit braces to avoid dangling else problem (failed NVIDIA testing)
  *   #642 AArch64: significantly improve formatted input performance by using optimized libc functions on ARM64
  *   #647 Introduce buffered I/O and replace getc with buffered read
  *   #655 Add missing signed integer to a pointer conversion in DATA statement
  *   #658 Fix in preprocessing for Flexi app
  *   #659 Changes to support transpose intrinsic during initialization
  *   #660 Enable support for simd directives
  *   #672 Support isnan() GNU extension (Arm reviewing)
  *   #689 Fix for segfault in multiple entries OpenMP functions
  *   #693 runtime: ARM64 is a 64-bit architecture
  *   #694 libpgmath sanity: do not call sleep() in Linux systems
  *   #695 runtime: remove duplicate files
  *   #701 Fix for ICE in taskloop
  *   #702 Fix for random_seed when seeds have zeroes in LSB
  *   #710 Test case for capturing procedure pointers to OpenMP parallel regions
  *   #717 Support building libpgmath with clang 6
  *   #725 Check for gregset_t before using it
  *   #726 Remove linux references where unneeded
  *   #737 TRAILZ function added to the fortran compiler (resubmitted)
  *   #738 Fix for issue #550
  *   #742 Implement UNROLL directive
  *   #751 Fix for len intrinsic returning int*8 in some cases
  *   #752 Fix for ICE in atomic instruction generation
  *   #756 Fix ICE interf:new_symbol_and_link, symbol not found
  *   #772 Fix unresolved sprintf, fprintf error
  *   #773 Support for isnan GNU extension: Generate isnanf() & isnan() libm calls
  *   #776 The BSDs name 64-bit x86 as amd64
  *   #778 Fixing NCAR test problems with error tolerance lower than E-12
  *   #787 ICE with array operations inside NORM2
  *   #816 LLVM9 debuginfo change


  *   Public plan: NVIDIA has published a brief plan for upcoming Flang work on github.io at https://github.com/flang-compiler/flang/wiki/Roadmap. This has been recently updated to reflect current Flang and F18 priorities and to provide better context for the project and its long-term goals.


  *   Creating pull requests: Contributor license agreements should no longer be required for the current flang compiler. Assuming the pull request builds and passes “make check-flang”, the community will take on the testing of the pull request using the available test suits and provide feedback to the contributor as appropriate. Once we have the quality of the pull request established, it will be incorporated into Flang.



  *   OpenMP 4.5 support:
o    No update



  *   Outstanding issues:

     *   Please refer to the Issues section on GitHub for flang-compiler/flang<https://github.com/flang-compiler/flang/issues> and flang-compiler/flang-driver<https://github.com/flang-compiler/clang/issues>.


  *   Debug Metadata:
     *   Debug metadata for PURE, ELEMENTAL and RECURSIVE subprograms has been added to Flang in open source.
     *   LLVM Debug metadata changes posted to LLVM Phabricator for review; responding to review comments.
        *   https://reviews.llvm.org/D54114 [CHARACTER intrinsic data type] Review for this is not complete, and we would like to get additional comments or alternate proposals.


  *   Packaging and Binary Releases:

  *   Binary release: We post binary releases at least quarterly. March binary releases of Flang for x86-64 and OpenPOWER (LLVM 7.0) have been posted to http://github.com/flang-compiler/flang/releases.
  *   Spack: Spack packages for Flang have been reviewed by the Spack team and pulled into Spack for flang_20180921. We are still working through issues with defining the spack package for flang. Brian Homerding and Nichols Romero are working on Spack changes for the LLVM and Flang for the LLVM Git monorepo.


  *   Testing updates:

  *   No update.


  *   Application updates:
     *   No update.



  1.  Fortran 2008 features

  *   Pointer default initialization. Work continues. Support for procedure pointer default initialization in modules and submodules has been pushed to Flang. We plan to work on scalar pointer initialization next.

The following items are considered complete. Please report GitHub issues if you identify any problems.

  *   EXECUTE_COMMAND_LINE intrinsic.
  *   BLOCK construct.
  *   Allocation of polymorphic variables.
  *   G0 edit descriptor
  *   NORM2 intrinsic
  *   ERROR STOP
  *   Pointers to internal procedures
  *   SUBMODULE
  *   Serial implementation of F2018 DO CONCURRENT
  *   BACK optional argument support for MINLOC/MAXLOC


  1.  Call Logistics
Flang Community Biweekly Call

     *   General updates on the Flang project, both LLVM Flang and current Flang.
     *   Biweekly WebEx hosted by NVIDIA (which these notes cover).
     *   The meeting link for this biweekly call is https://nvmeet.webex.com/nvmeet/j.php?MTID=mb4edb8c799f69ec2dc0554acc969a162.

Flang Community Technical Biweekly Call

     *   Technical topics call.
     *   Hal Finkel hosts this call on Bluejeans<https://bluejeans.com/625064848>, Mondays 8:30 Pacific Time, on the weeks alternating with regular Flang biweekly call. The notes for all these calls can be found in Google Docs here<https://docs.google.com/document/d/1Z2U5UAtJ-Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/>.
Meeting URL: https://bluejeans.com/625064848?src=join_info
Meeting ID: 625 064 848
Want to dial in from a phone? Dial one of the following numbers:
+1.408.317.9254 (US (San Jose))
+1.866.226.4650 (US Toll Free)
(see all numbers - https://www.bluejeans.com/premium-numbers)
Enter the meeting ID and passcode followed by #
Connecting from a room system?
Dial: bjn.vc or 199.48.152.152 and enter your meeting ID & passcode



-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/flang-dev/attachments/20191219/8135629a/attachment-0001.html>


More information about the flang-dev mailing list