[RFC] Proposed wording for a description of Flang for the LLVM home page

At the flang call today, it was pointed out that Flang does not appear on LLVM’s home page. I propose adding the following text to the page.

Flang is a modern, “LLVM native” Fortran compiler with an associated runtime, which aims to generate high-performance code, and support Fortran 2023 and all official Fortran standards back to Fortran 77, including a number of widely-used extensions. Flang supports OpenMP for both CPUs and GPUs.

Please reply to this post with any changes that you would like to make to this text. I will update the text above with your suggestions.

EDITS:

6 Likes

That is great! Thanks Tarun!

In the spirit of “Fortran is a new and exciting language” – how about:

Flang is a modern “LLVM native” Fortran compiler with an associated runtime, which aims to generate high-performance code and support Fortran 2023 and all official standards back to Fortran 77, including a number of widely-used extensions. Flang also supports OpenMP for CPUs and GPUs.”

I don’t believe we are ready to claim support for OpenACC yet.

The llvm.org page also has a section about OpenMP that references Clang. Shall we propose to update that to cover Flang as well?

The OpenMP support is also incomplete. Maybe we can word it to indicate “some level of support” for both? I think leaving it out completely would be a bit unfair.

Can we say flang supports OpenMP 3.1 and has partial support for newer version of the standard?

+1

An alternative would be to rephrase such that the level of support is available in Flang OpenMP Support — The Flang Compiler, possibly by making OpenMP in the above phrasing a hyperlink to the OpenMP support page.

1 Like

@sscalpone, I originally phrased it as Fortran 77 onwards - as opposed to Fortran 2023 backwards - to avoid having to revisit the text when we support a new Fortran standard.

@kparzysz, I agree that it would be unfair to leave out OpenACC. I have removed it from the edit for now since the link to OpenMP in the flang documentation gives a good idea of the level of support in Flang, but I don’t think we have anything similar for OpenACC.

@kkwli, As with the Fortran version, I would like to avoid putting in specific versions so the text doesn’t go out of date.

1 Like

Are you referring to the text below?

The OpenMP subproject provides an OpenMP runtime for use with the OpenMP implementation in Clang.

If so, then yes, we could update that as well.

Yes, that’s the section. Thank you!

By leaning into Fortran 2023, we can highlight Flang as the contemporary compiler it is, not a museum piece. With hope, the Fortran standards committee will insure we do not need to update this section too often :slight_smile:

1 Like

I have edited the text to make Fortran 2023 more prominent. I will leave this up till the end of this week, and will continue to incorporate any suggestions. After that, I will open a PR to have this text added to the main LLVM page.

Thank you. How do you get the main page updated? Do you create a merge request?

Yes

(In case you want a fun Fortran description: to paraphrase a famous book, “Fortran is almost, but not quite, entirely unlike C.”)

1 Like

I believe that a merge request would have to be opened to the llvm-www repo.

We should seriously consider adding this to Welcome to Flang’s documentation — The Flang Compiler :grinning_face_with_smiling_eyes:

I have opened a PR to add Flang to the main LLVM page. I will post updates here.

1 Like