Helping out with flang

Hello,

I'd like to know what the flang community could use help with. I see
there's activity on many fronts and naturally I don't want to get in
anyone's way. What are some open tasks that I could tackle?

I could help with any of the following:
* Adding more armv8 buildbots if there are any configurations that
still need to be covered
* Making flang more release-friendly (I see there have already been
some efforts, but do let me know if there's anything left to do here.
I'm a release tester for arm/aarch64 so I can easily get in the loop)
* Actual development - Is there a list of open projects here?

Thanks,
Diana

PS: I'm interested in llvm-project/flang, not classic flang, and I
only have access to Linux environments at the moment.

Here are more details on 3rd point - Actual development
May be someone on the list might help on the other 2 points.

There could be 4 different areas to work :
1. Fortran language related work(parsing and semantic checks) [1], but
some parts of it could be outdated.
2. There's a fir-dev branch [2] - which does lowering and codegen to
FIR and further lowering to LLVM-IR.
3. There's one more area relating to OpenMP related work [3] (parsing,
semantic, lowering to OpenMP-MLIR dialect, supporting OpenMP-MLIR
dialect in MLIR).
4. New Flang driver [4].

-Sameeran

[1] Projects · flang-compiler · GitHub
[2] Issues · flang-compiler/f18-llvm-project · GitHub
[3] [flang-dev] Flang OpenMP Status & Developer Call Announcement
[4] [flang-dev] RFC: new Flang driver - next steps

Hi Diana

Welcome - great to have you on board.

* Adding more armv8 buildbots if there are any configurations that
still need to be covered

This would be very welcome. We already have two buildbots up and running and we are trying to add a third and fourth as our available hardware allows. We don't have a concrete roadmap to get more hardware for bots at the moment so if you have machines available today that would be a great help. Carol Concatto is co-ordinating the work so you should sync up with her to figure out how best to maximize configuration coverage across your bots and ours.

* Making flang more release-friendly (I see there have already been
some efforts, but do let me know if there's anything left to do here.
I'm a release tester for arm/aarch64 so I can easily get in the loop)

Flang is not the finished article yet so what we are doing for the LLVM11 release is adding a release note explaining what it can and can’t do [1]. We also need to get the documentation building properly [2] It would be great to get your thoughts on what more/else we should be doing here given your experience as a release tester.

[1] https://reviews.llvm.org/D84864
[2] http://lists.llvm.org/pipermail/flang-dev/2020-July/000466.html.

Ta
Rich

Hi Diana

Welcome - great to have you on board.

* Adding more armv8 buildbots if there are any configurations that
still need to be covered

This would be very welcome. We already have two buildbots up and running and we are trying to add a third and fourth as our available hardware allows. We don't have a concrete roadmap to get more hardware for bots at the moment so if you have machines available today that would be a great help. Carol Concatto is co-ordinating the work so you should sync up with her to figure out how best to maximize configuration coverage across your bots and ours.

As we've recently discussed on a different thread, it would be very useful to have a buildbot that builds Flang in the "out of tree" configuration. We likely also need a better spread of host compilers and versions.

-Hal

Hi Diana,

Just in case... I can see the nation asking for more buildbots.
If you have spare machines and it can be used on lab.llvm I can help you with the configurations.
The process to add them on lab.llvm is simple.
Please let me know if you need help.
I'll be happy to help.

Carol

    > Hi Diana
    >
    > Welcome - great to have you on board.
    >
    >> * Adding more armv8 buildbots if there are any configurations that
    >> still need to be covered
    > This would be very welcome. We already have two buildbots up and running and we are trying to add a third and fourth as our available hardware allows. We don't have a concrete roadmap to get more hardware for bots at the moment so if you have machines available today that would be a great help. Carol Concatto is co-ordinating the work so you should sync up with her to figure out how best to maximize configuration coverage across your bots and ours.

    As we've recently discussed on a different thread, it would be very
    useful to have a buildbot that builds Flang in the "out of tree"
    configuration. We likely also need a better spread of host compilers and
    versions.

      -Hal

Hi all,

Thanks for all the replies!

I guess I'll start with the buildbots since there seems to be a lot of
interest. I'll look into adding one for the "out of tree" build.

@Carol: What other configurations would be interesting? We already
have buildbots running on lab.llvm [1]. Our hardware is a 64-core
machine from Packet.net, where we just deploy different docker
containers for different buildbots. As far as I can see, the image we
use for them [2] is very similar to what you have on
flang-aarch64-ubuntu, except we use clang instead of gcc. This would
be different from flang-aarch64-ubuntu-clang only in that it uses
Ubuntu 18.04 instead of 16.04, and clang 8.0.1 instead of 8.0.0. So I
guess a one-stage build+check-all wouldn't be very revealing. Would it
be interesting to add flang to one of our existing two-stage bots
though, to track how it compiles with ToT clang?

@Richard: I currently have a job for 11.0.0-rc1 in progress with flang
enabled, if I manage to reproduce the documentation failures I'll have
a look. Otherwise, from a release perspective I think increasing the
amount of testing would be the most important next step. I already saw
a thread about adding the FCVS to the test-suite - I can run that on
my end for 11.0.0 and report the results.

Thanks again,
Diana

[1] http://llvm.validation.linaro.org/ (This is just our monitoring
page, all the links lead back to lab.llvm.org)
[2] http://lab.llvm.org:8011/buildslaves/linaro-aarch64-lld

PS: I'll be out of office on Monday.

Hi Diana,

So, here at Arm, we are trying to cover the latest Clang and GCC.
Until now we have Clang8[2] to become Clang10, GCC10(shared_library) and GGC9.3[1].
NERSC added another buildbot for x86 machine with linux[3](it is not on production)
Our servers are also from Packet.net, but only arm64.

So the configurations that we would like to cover are:
1) Different servers/architectures (atm we only have X86 and Arm64)
2) Different type of build (by priority order):
         Out-of-tree with the latest stable GCC if possible
         Multiconfiguration, as it is a new feature with the latest cmake
         Debug build,
          A bootstrap (Trunk clang)
3)Different OS:
    SuSe releases
    RHE LTS releases
Is it good that you are building on Ubuntu18.04, but as you use docker is it possible to build with other OS?
4) Different compiler versions:
       It would be nice to test with the lots of different compiler versions, atm we only test with the latest clang and GCC.
I hope this gives you some guidance on what you can do with buildbot.
If you need more specific configuration let me know.
Carol

[1] http://lab.llvm.org:8014/builders/flang-aarch64-ubuntu
[2] http://lab.llvm.org:8014/builders/flang-aarch64-ubuntu-clang
[3] http://lab.llvm.org:8014/builders/flang-x86_64-linux

    Hi all,

    Thanks for all the replies!

    I guess I'll start with the buildbots since there seems to be a lot of
    interest. I'll look into adding one for the "out of tree" build.

    @Carol: What other configurations would be interesting? We already
    have buildbots running on lab.llvm [1]. Our hardware is a 64-core
    machine from Packet.net, where we just deploy different docker
    containers for different buildbots. As far as I can see, the image we
    use for them [2] is very similar to what you have on
    flang-aarch64-ubuntu, except we use clang instead of gcc. This would
    be different from flang-aarch64-ubuntu-clang only in that it uses
    Ubuntu 18.04 instead of 16.04, and clang 8.0.1 instead of 8.0.0. So I
    guess a one-stage build+check-all wouldn't be very revealing. Would it
    be interesting to add flang to one of our existing two-stage bots
    though, to track how it compiles with ToT clang?

    @Richard: I currently have a job for 11.0.0-rc1 in progress with flang
    enabled, if I manage to reproduce the documentation failures I'll have
    a look. Otherwise, from a release perspective I think increasing the
    amount of testing would be the most important next step. I already saw
    a thread about adding the FCVS to the test-suite - I can run that on
    my end for 11.0.0 and report the results.

    Thanks again,
    Diana

    [1] http://llvm.validation.linaro.org/ (This is just our monitoring
    page, all the links lead back to lab.llvm.org)
    [2] http://lab.llvm.org:8011/buildslaves/linaro-aarch64-lld

    PS: I'll be out of office on Monday.