Flang Biweekly Sync - Notes from the June 24, 2020 call

Flang team,

Here are the notes from the June 24, 2020 Flang biweekly call.

The next Flang Technical Community will be Monday, June 29, 8:30 AM Pacific time. We will be discussing the status of lowering and code generation for LLVM Flang.

The next Flang biweekly call will be Wednesday, July 8, 2020 at 8:30 AM Pacific time.

Information for joining these calls and the Slack channel is at the end of this email.

Let me know if you have any topics you would like covered in the next call.

Thank you.

Gary Klimowicz

Agenda

  • ISC and LLVM Workshop on LLVM Compiler and Tools for HPC
  • International Fortran Conference
  • LLVM Technical Call topic
  • LLVM Flang development update
  • Classic Flang pull request process update

Highlights

  • LLVM Workshop on Compilers and Tools for HPC at ISC 2020 Digital

  • June 25th, Thursday this week.

  • Talks by Kiran Chandramohan (Arm, OpenMP in Flang) and Will Lovett (ARM, Scalable vector extensions)

  • Steve Scalpone (NVIDIA) talk on Compiling Three Generations of Fortran with LLVM (flang/f18)

  • International Fortran Conference 2020 Digital

  • Gary Klimowicz (Flang) Thursday July 2, 9:20 AM PT

  • Ondřej Čertík (LFortran) Thursday July 2, 9:50 AM PT

  • Many other talks that may be of interest; web site is https://tcevents.chem.uzh.ch/event/12/. Registration is free.

  • Flang Community Technical Biweekly Call

  • Next topic: Outstanding reviews. Update on lowering and code generation work.

  • The last call was June 15. Discussed outstanding reviews including clang/flang/llvm driver refactoring proposal and pull request regarding llvm_unreachable.

  • Please add both small and large technical topics to the Google Doc for the technical call. The link to the Google Doc can be found in the notes below.

  • LLVM Flang update

  • Hal Finkel is working to identify a regular time every 4 weeks to continue the discussions on LLVM alias analysis. The Doodle poll is at https://doodle.com/poll/9iqfaqttvvic5rfp.

  • Arm buildbots are http://lab.llvm.org:8011/builders/flang-aarch64-ubuntu (GCC 9.3) and http://lab.llvm.org:8011/builders/flang-aarch64-ubuntu-clang (Clang 8).

  • NERSC and Argonne National Lab are working to set up buildbots as well (in administrative limbo). NERSC buildbot is in progress (no update this week).

  • Andzrej Warzynski and Carol Concatto continue to prototype their work on the flang driver (and clang/llvm refactor of driver code); should be an update in a couple weeks.

  • Improved parser support for OpenMP (AMD).

  • Change DIE(“unreachable”) cases to use llvm_unreachable (Arm).

  • Implemented shape analysis for MATMUL, rewriting of AMIN0, …, AMAX1 intrinsics.

  • Completed work on compiling all DATA statement initializations.

  • Continued work on run-time for CHARACTER operations, and dummy argument procedure passing.

  • Continued work on MLIR and FIR in f18-llvm-project. Continued to push small commits to llvm-project for the fairly large amount of code that needs to be merged.

  • Bug fixing for SAVE attribute, F format, alternate returns in modules, control flow issues.

  • Nick Romero at Argonne is working on running Office of Science codes through the front-end. Mostly working around GCC extensions not supported by flang. Modern Fortran is getting through flang well.

  • Original Flang Dev news and updates

  • We’ve pushed a simple change to the stage branch of flang.

  • We published the RFC to flang-dev on handling the outstanding pull requests for classic Flang. Arm, AMD and NVIDIA (others are welcome!) will be evaluating the pull requests for merge into the master branch. No significant feedback received on the RFC. Look in flang-dev for subject ‘[classic-flang]’ if you’re interested.

**Details (**Updates below are in bold)