[flang-dev] Notes from the Flang Roundtable

Perry-Holby, Alexis via flang-dev flang-dev at lists.llvm.org
Thu Nov 18 12:37:05 PST 2021

Hi fellow Flang developers!

Below are the notes taken during the Flang Roundtable at the LLVM Dev Meeting today.  Please feel free to comment with corrections and/or questions.

-- Alexis

Alexis Perry-Holby
Los Alamos National Laboratory
Applied Computer Science (CCS-7)

Flang Roundtable – 11/18/2021

TOPIC: Upstreaming

  *   Upstreaming status update
     *   Working on Optimizer now – FIR dialect and passes that convert it to LLVM IR dialect
     *   CodeGen right now, likely finished next week
     *   Lowering next – goes from Flang parse tree to FIR/MLIR operations
        *   Will need to be an initial big chunk to allow for testability
        *   Then smaller chunks can be upstreamed in parallel
     *   ~38 statements to go
     *   Intrinsics can be upstreamed separately (~58 of them)
  *   First Lowering patch, including expression handling – will it include tests?  (Yes)
  *   How big will it be? (not sure)
  *   Possibility of using unit tests instead of FileCheck tests for the big patch?
  *   Document in expression handling patch - why it needs to be the size chunk that it is
  *   Boards
     *   CodeGen: https://github.com/flang-compiler/f18-llvm-project/projects/4
     *   Statement Lowering: https://github.com/flang-compiler/f18-llvm-project/projects/6
     *   Intrinsic Lowering: https://github.com/flang-compiler/f18-llvm-project/projects/5
     *   These are good places for people to look for ways to contribute to the effort
  *   Are boards enabled in llvm-project?
     *   Not now, perhaps moving to GitHub issues will make for something
  *   Writing unit tests
     *   It would be good to incorporate more of these
     *   Need people to work on it (Andrzej will explore, but we will need others)
     *   Might be hard to do for more complex expression handling, but would be good for simple expressions
     *   Unit tests may have to drive the parser to be able to do things (possibly more pieces too)
  *   Would the big expression handling patch enable tests that go from Fortran -> FIR/LLVM?
     *   Likely for simple things (ex. Check that 2+2=4)
  *   Expression handling will enable the addition of things like OpenMP lowering, etc. to readily follow
  *   Is there anything left to upstream after Lowering?
     *   There are some more things like runtime and semantics
     *   But it’s kind of the last big chunk
     *   Could be done in parallel with what we’re currently doing (they are independent of Lowering)


  *   Driver can make an executable now!
     *   Patch has been approved (on fir-dev?), and is awaiting merge
     *   Is now a good time to switch name from flang-new to flang?
     *   Rename the bash script in upstream now?
     *   Rich: What about a switch in the build configuration that installs the bash script as flang and leaves flang-new if enabled and otherwise installs the new driver as flang
  *   Need to make sure that bbc+tco stays in sync with the driver (flang-new)
     *   So that we can test with any/all of them, but so that they don’t diverge in how they do things
     *   Buildbots for both?  So developers can use bbc+tco or flang-new, but users can stick to flang-new
     *   Why not remove bbc+tco?
     *   Reconfigure tests so they can switch back and forth?  Will need to make sure the same flags can be used
     *   Parser tests use flang-new, tests for Lowering use bbc+tco
     *   Do we refactor all tests that use bbc now so that they can use flang-new?
     *   Problem comes because there is functionality overlap between flang-new and bbc+tco  (unlike clang, opt, and llc)
  *   Fortran 2003 design work, once F95 is complete?
     *   Documentation not quite written yet, will be shared with community when ready
  *   Two different ways to approach continued development: keep chasing standards or make a high-quality F95 compiler with optimizations and such?
     *   Performance optimization work welcome
     *   Slow-downs with SNAP at the moment
     *   Reduce the number of memory copies being done
     *   Alias analysis is important, how much will MLIR handle that?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/flang-dev/attachments/20211118/53669170/attachment-0001.html>

More information about the flang-dev mailing list