Flang Biweekly Sync - Notes from the May 27, 2020 call

I’m working on some build scripts that Would be of general use in Flang.

Once I have those validated and running in our Jenkins environment here,

we will be steadily streaming changes back into current Flang. I’ll be

documenting the process on the wiki as well.

Great, I’m looking forward to any new development and bug fix in classic

Flang! :slight_smile:

The community would definitely be interested in this. I believe there

are changes to flang-compiler/flang-driver and flang-compiler/llvm that

might need to be pulled forward as well. Are you referring to that? Or

pull requests into flang itself for LLVM 10?

I was referring to porting the flang-compiler/flang-driver and

flang-compiler/llvm patches to LLVM 10; some changes were needed to make

everything work. IIRC flang-compiler/flang itself didn’t need a lot of

changes.

If the Flang team is interested in moving towards LLVM 10 and monorepo,

I am happy to clean up my fork and post it on GitHub for review.

  • Bryan

> From: Bryan Chan bryan.chan@huawei.com
> Subject: RE: [flang-dev] Flang Biweekly Sync - Notes from the May 27, 2020 call

Gary Klimowicz wrote:

I was referring to porting the flang-compiler/flang-driver and

flang-compiler/llvm patches to LLVM 10; some changes were needed to make

everything work. IIRC flang-compiler/flang itself didn’t need a lot of

changes.

If the Flang team is interested in moving towards LLVM 10 and monorepo,

I am happy to clean up my fork and post it on GitHub for review.

Those changes would be very welcome, Bryan. I haven’t done anything yet

with the monorepo for classic Flang, but was planning to work on that soon.

I have pushed a monorepo fork with all the Flang patches from release_90 to:

https://github.com/Huawei-PTLab/classic-flang-llvm/

The code is in the release_10.x branch.

I had to revert some commits that are related to F18 in order to get classic

Flang working. I haven’t thought about how to make classic Flang continue

to co-exist with the new Flang in LLVM 11 and beyond; perhaps it won’t be

necessary. For now, this branch works and should run most unit tests.

To build the code, use the same instructions as before, but merge the first

three steps into one, e.g.

cmake -G Ninja \

$CMAKE_OPTIONS

-DCMAKE_C_COMPILER=gcc \

-DCMAKE_CXX_COMPILER=g++ \

-DLLVM_ENABLE_PROJECTS=“clang;openmp” \

…/llvm

ninja check-all install

Cheers,

Bryan

I have pushed a monorepo fork with all the Flang patches from release_90 to:

https://github.com/Huawei-PTLab/classic-flang-llvm/

The code is in the release_10.x branch.

I had to revert some commits that are related to F18 in order to get classic
Flang working. I haven't thought about how to make classic Flang continue
to co-exist with the new Flang in LLVM 11 and beyond; perhaps it won't be
necessary. For now, this branch works and should run most unit tests.

To build the code, use the same instructions as before, but merge the first
three steps into one, e.g.

    cmake -G Ninja \
          $CMAKE_OPTIONS
          -DCMAKE_C_COMPILER=gcc \
          -DCMAKE_CXX_COMPILER=g++ \
          -DLLVM_ENABLE_PROJECTS="clang;openmp" \
          ../llvm

    ninja check-all install

Thanks, Bryan. I will set up an environment to attempt to build and run tests here.

I have a lot of meetings today and tomorrow morning, so it may take me a couple days to get to this. Just so you know that I’m not ignoring you; it’s just that Tuesday and Wednesdays are crazy for me.

Best regards,

Gary

Thanks, Bryan. I will set up an environment to attempt to build and run
tests here.

I have a lot of meetings today and tomorrow morning, so it may take me a
couple days to get to this. Just so you know that I’m not ignoring you;
it’s just that Tuesday and Wednesdays are crazy for me.

Thanks for the prompt response, Gary.

I actually revised the branch again based on a suggestion from the AMD folks.
The branch is now based on upstream release/10.x; classic Flang support is
selected with a macro (by running CMake with -DLLVM_ENABLE_CLASSIC_FLANG=on).

I did this in a hurry and the code is a bit different than what we are using
internally. I will run more tests and fix problems as I find them.

Thanks,
Bryan