[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.
Thanks!
-- 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)
OTHER TOPICS
* 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