Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust README for upstreaming to llvm. #909

Closed
wants to merge 6 commits into from

Conversation

DavidTruby
Copy link
Collaborator

No description provided.

Copy link
Collaborator

@kiranchandramohan kiranchandramohan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three references are remaining.

  1. F18 is written in C++17.
  2. F18 uses components from LLVM.
  3. Build F18

Also, have you checked that it works when invoked as flang?
I guess other references in documentation and source code can be removed later, right?

@DavidTruby
Copy link
Collaborator Author

Also, have you checked that it works when invoked as flang?

I don't think there's actually any instructions in the README about invoking the compiler. The binary will still be called f18 unless/until we change that in the CMake files.

@kiranchandramohan
Copy link
Collaborator

kiranchandramohan commented Jan 7, 2020

What is the executable that we want users to invoke flang? Ideally, it should be flang and not f18. Do you see any practical difficulties in changing the name of the exe?

Also note that @sscalpone created a wrapper script (tools/f18/flang.sh) which seems to be installed in build/tools/f18/bin/flang. So it is possible to invoke as flang.

@kiranchandramohan
Copy link
Collaborator

Note: The invocation is there in Overview.md in the documentation directory.
Overview.md:Command: f18 -E src.f90 dumps the cooked character stream
Overview.md: - f18 -fdebug-dump-parse-tree -fparse-only src.f90 dumps the parse tree
Overview.md: - f18 -funparse src.f90 converts the parse tree to normalized Fortran
Overview.md:Command: f18 -fdebug-dump-symbols -fparse-only src.f90 dumps the

I guess the invocation as f18/flang can be a separate PR if needed.

Copy link
Collaborator

@klausler klausler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you're going to abet the ambiguous use of the name flang, please add some adjectives or explanatory text so that newcomers aren't confused by the use of the same name for two completely distinct projects.

@kiranchandramohan
Copy link
Collaborator

@klausler @DavidTruby : Would something like the following be OK?
Flang is a ground-up implementation of a Fortran front end written in modern C++. It started off as the f18 project (https://github.com/flang-compiler/f18) at Nvidia with an aim to replace the old flang project (https://github.com/flang-compiler/flang) and address its various deficiencies. F18 was subsequently accepted as the Fortran frontend of LLVM and rechristened as Flang.

@DavidTruby
Copy link
Collaborator Author

@kiranchandramohan that text sounds fine to me, if @klausler is ok with it I can change the PR to include that.

@RichBarton-Arm RichBarton-Arm moved this from In progress to Ready to merge in LLVMify F18 - before merging Mar 12, 2020
@h-vetinari h-vetinari mentioned this pull request Mar 20, 2020
23 tasks
@RichBarton-Arm RichBarton-Arm moved this from Ready to merge to In progress in LLVMify F18 - before merging Apr 1, 2020
The build instructions are for out of tree builds only, and the
headings for those instructions should reflect that.
README.md Outdated
@@ -34,9 +34,7 @@ read the [style guide](documentation/C++style.md)
and
also review [how flang uses modern C++ features](documentation/C++17.md).

## Building Flang
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you still want a section on building flang here so would not remove it completely. The supported C++ compilers bit can stay in the "Building Flang" section (and Carol's patch will beef it up to add more info).

As Flang is not going to be built by default I think we should at least also include instructions on how to add Flang to a build and perhaps link to the LLVM build instructions or mention where to find those.

@@ -47,6 +45,8 @@ The code has been compiled and tested with
clang version 7.0 and 8.0
using either GNU's libstdc++ or LLVM's libc++.


## Building Flang out of tree
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I would put a little intro here saying what these instructions are for and why you might need to follow them. Probably also recommend building in-tree as far easier.

README.md Outdated
for more information about Flang.
Flang is a ground-up implementation of a Fortran front end written in modern
C++. It started off as the f18 project (https://github.com/flang-compiler/f18)
at Nvidia with an aim to replace the old flang project
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say "previous flang project" :-)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to call out NVIDIA, but if you do, please also include the NNSA.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've changed it to not call out anyone in particular, let me know if the new wording is ok!

F18 uses components from LLVM.
## Building Flang out of tree
These instructions are for building Flang separately from LLVM; if you are
building Flang alongside LLVM then follow the standard LLVM build instructions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you need this statement in the section above about Building Flang in-tree too.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think in general if you're building in-tree you're not going to read this README and will just follow the normal build instructions? I can change this though, where would you put it?

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@RichBarton-Arm RichBarton-Arm moved this from In progress to In review in LLVMify F18 - before merging Apr 6, 2020
@RichBarton-Arm
Copy link
Contributor

Just had a thought while looking over the merging checklist. We should put a few words in here about where to submit issues. During previous emails about this I proposed we keep F18 repository github 'issues' open for this purpose. Can we add a line or two near the top of this README to that effect, including the URL, etc?

@klausler
Copy link
Collaborator

klausler commented Apr 6, 2020

Just had a thought while looking over the merging checklist. We should put a few words in here about where to submit issues. During previous emails about this I proposed we keep F18 repository github 'issues' open for this purpose. Can we add a line or two near the top of this README to that effect, including the URL, etc?

The file should link to a bug tracker, but I don't think that the f18 github repository is the right place unless the fixes to the "issues" are pull requests to the same repository. Why can't the normal llvm bug tracking site be used for bugs being reported and fixed by the community?

@RichBarton-Arm
Copy link
Contributor

RichBarton-Arm commented Apr 6, 2020 via email

@klausler
Copy link
Collaborator

klausler commented Apr 6, 2020

I don’t think there is any reason why it can’t be used. My reasoning behind proposing F18 issues is * llvm are discussing a move from bugzilla to github issueshttps://mail.google.com/mail/u/0/?zx=wwm6yj2noi7o#search/label%3Adevlist+github+issues%22/FMfcgxwDrtxxqzZcnsgKvSCfGpKfhsvf so we would be aligning with the direction of travel in that regard (no ETA on that move though.) * It would also be 0 cost to set up. * I think the LLVM Bugzilla is not as nice to use as github issues, but that is personal preference. All weak reasons though – I don’t think there is a compelling reason to chose either approach. Do you have one?

Yes, and it's in my original comment. It would be weird and confusing to have bug reporting and tracking activity proceeding on a github repository while fixes and reviews are taking place elsewhere. LLVM has bug tracking and code review systems for LLVM. Use them.

@DavidTruby
Copy link
Collaborator Author

I think there's some merit in being ahead of the curve here; LLVM is planning on moving to github issues imminently, and it seems to me odd that we would set up and use bugzilla for 2 weeks and then switch back to github issues.
However, I wouldn't suggest using this repository for issues, but rather the llvm-project one. That is already open for github issues and is what MLIR uses I believe (MLIR never made the move to bugzilla for the same reason as I'm suggesting).
Since LLVM currently has two ways to submit issues and is planning on closing one down in the imminent future, I don't see the harm in suggesting that people submit issues on the other one (i.e. that they should submit issues against github.com/llvm/llvm-project).

@kiranchandramohan
Copy link
Collaborator

@DavidTruby Github issues in llvm-project is temporarily disabled until the switch from Bugzilla to github (soon?).
http://lists.llvm.org/pipermail/llvm-dev/2020-March/140129.html

@DavidTruby
Copy link
Collaborator Author

Oh ok, my mistake! In that case I agree that we should do what the rest of the project does and use Bugzilla until the rest of the project moves. I have no idea how to set that up on the bugzilla side though.

@DavidTruby
Copy link
Collaborator Author

I've sent an email to the bugzilla admins asking if we can be added on there and what the plan is for the github issues transition; I'll report back on that and update the readme as appropriate.

@klausler
Copy link
Collaborator

klausler commented Apr 6, 2020

I've sent an email to the bugzilla admins asking if we can be added on there and what the plan is for the github issues transition; I'll report back on that and update the readme as appropriate.

Thank you.

@RichBarton-Arm
Copy link
Contributor

I've sent an email to the bugzilla admins asking if we can be added on there and what the plan is for the github issues transition; I'll report back on that and update the readme as appropriate.

SGTM

@DavidTruby
Copy link
Collaborator Author

I've posted about the bugzilla to flang-dev as I think it is relevant to more people than will see this PR, you can read the mail here: http://lists.llvm.org/pipermail/flang-dev/2020-April/000269.html

@RichBarton-Arm RichBarton-Arm moved this from In review to Ready to merge in LLVMify F18 - before merging Apr 9, 2020
@RichBarton-Arm RichBarton-Arm moved this from Ready to merge to Done in LLVMify F18 - before merging Apr 9, 2020
DavidTruby added a commit to llvm/llvm-project that referenced this pull request Apr 9, 2020
This changes the references and build instructions for Flang so that
they are correct now that F18 has been rechristened Flang and merged
with LLVM.

Reviewed at: flang-compiler/f18#909
@DavidTruby
Copy link
Collaborator Author

Resolved during upstream merge.

@DavidTruby DavidTruby closed this Apr 24, 2020
mem-frob pushed a commit to draperlaboratory/hope-llvm-project that referenced this pull request Oct 7, 2022
This changes the references and build instructions for Flang so that
they are correct now that F18 has been rechristened Flang and merged
with LLVM.

Reviewed at: flang-compiler/f18#909
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

5 participants