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

Port Classic Flang changes to LLVM 16 #159

Merged
merged 51 commits into from
Jul 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
918f06a
Port Classic Flang to LLVM 15
schweitzpgi Aug 21, 2019
85181e4
[ClassicFlang][Driver] Coexist with LLVM Flang
bryanpkc May 2, 2022
bde0e6a
Support for DWARF 4/5 and fix of issues related to -gdwarf-X options …
alokkrsharma Sep 20, 2020
a4ebb0d
Reduce downstream delta
bryanpkc Oct 12, 2020
e91f3a7
[workflows] Set up GitHub actions for Classic Flang
kiranchandramohan Oct 28, 2020
8980f2a
[DebugInfo] Support of `-gpubnames` in Driver
SouraVX Apr 16, 2021
848e5a1
[Driver] Support macOS
isuruf Aug 6, 2021
808ae62
[DebugInfo]: Remove dangerous dead function (-Wreturn-stack-address)
nextsilicon-itay-bookstein Sep 22, 2021
d0a576f
[ClassicFlang][Driver] Fix warnings
nextsilicon-itay-bookstein Sep 22, 2021
6f1a957
[driver] Add -emit-flang-llvm option
RichBarton-Arm Jan 26, 2022
56e39ad
[driver] Add regression test
RichBarton-Arm Feb 1, 2022
521bce1
[driver] Add infrastructure for testing the flang-driver in lit
RichBarton-Arm Nov 15, 2021
8f79ace
[LoopVectorize] Revert Classic Flang patch causing AArch64 test failure
bryanpkc Apr 25, 2022
12e5704
fixup 3dc6883be0bc
bryanpkc Jun 25, 2023
ba329b6
[driver] Pass LLVM target_features to flang
RichBarton-Arm Nov 12, 2021
b2afec8
[flang-driver] Uniquify the target_features string
RichBarton-Arm Nov 18, 2021
bffd285
[driver] Pass msve-vector-bits to flang as vscale range
pawosm-arm Jan 21, 2022
905be92
[Driver][Test] Add more variants to test/Driver/emit-flang-attrs.f90
pwisniewskimobica Jan 13, 2022
d806652
Fix classic flang version screen
RichBarton-Arm Mar 22, 2022
f86adb9
Canonicalize some ENABLE_CLASSIC_FLANG
RichBarton-Arm Mar 18, 2022
0a2f946
[NFC] Add missing ENABLE_CLASSIC_FLANG guard.
RichBarton-Arm Mar 18, 2022
c4014f0
Fix flang driver preprocessor issue
RichBarton-Arm May 3, 2022
dbc4eae
classic flang: enable IEEE by default (and sort Lower/Common inconsis…
pawosm-arm Jul 15, 2022
884b849
Changes to flang's fp-contract behaviour
kiranchandramohan May 8, 2018
837a4f2
[Driver] Remove the "-lompstub" in the driver
PeixinQiao Aug 8, 2022
878551f
[Driver] Pass Classic Flang libraries to the linker correctly
bryanpkc Sep 10, 2022
d84b5bd
[workflows] Allow GitHub actions in the classic-flang-llvm-project fork
bryanpkc Sep 7, 2022
2197917
[workflows] Update branch filter to allow actions on all 'release_*x'…
bryanpkc Sep 9, 2022
2d2317a
[OpenMP] Exclude a test that fails on smaller GitHub runners
bryanpkc Sep 8, 2022
43c7876
[workflows] Add AArch64 build job
bryanpkc Oct 18, 2022
d7fc5b3
[AsmPrinter] Delete dead code; NFC
bryanpkc Nov 3, 2022
ce4532b
[workflows] Delete misleading pull request template
bryanpkc Nov 3, 2022
6cc8126
[workflows] Update path to Flang build directory
bryanpkc Nov 18, 2022
13090ab
[workflows] Add build script option to allow customization
bryanpkc Nov 18, 2022
cf0bd59
[workflows] GitHub CI should build with assertions enabled
bryanpkc Nov 5, 2022
0db7fb8
[driver] Allow -msve-vector-bits=<n>+ syntax to mean no maximum vscale
LittleMeepo Nov 2, 2022
f4d4495
Changes for reassoc attributes
kiranchandramohan Jan 21, 2020
c400474
[llvm] Provide separate veclib mapping of PGMATH functions for AArch64
pawosm-arm Aug 1, 2022
daa8793
Delete libpgmath veclib definitions for sincos
gbaraldi Nov 30, 2022
ffb0f81
Add platform independent build script for LLVM (release_15x)
tdusnoki Nov 30, 2022
7c95495
win: Fix the build with verbose options
kaadam Jan 26, 2023
1bc9c18
win: Don't install llvm by default
kaadam Jan 24, 2023
f87c71c
[Driver][ClassicFlang] Add options -fno-automatic and -f(no-)implicit…
PeixinQiao Mar 3, 2023
7fd89f5
[Driver] Don't use Classic Flang tools for LLVM IR input
bryanpkc Feb 28, 2023
4c1b125
Setup Windows x64/arm64 GitHub action for Classic Flang LLVM
kaadam Jan 4, 2023
571d2b7
script: update llvm build script
kaadam Mar 16, 2023
3817976
[Libomptarget] Add missing explicit moves on llvm::Error
jhuber6 Mar 20, 2023
cb2d258
[LinkerWrapper] Fix `-Bsymbolic` being sent to the compiler and not t…
jhuber6 Jan 26, 2023
c86bb34
[LinkerWrapper] Fix passing `-rpath` directly to clang
jhuber6 Feb 1, 2023
903e7e6
[LinkerWrapper] Adjust placement of input files for the linker
jhuber6 Feb 1, 2023
c6e8575
[build] Specify LLVM_MAIN_SRC_DIR when running build-flang.sh
bryanpkc Jul 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .github/PULL_REQUEST_TEMPLATE.md

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/Ubuntu20Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ RUN if [ "$INITIAL_BUILD" != "true" ]; then \
mkdir /home/root && cd home/root && \
git clone --depth 1 --single-branch --branch $BRANCH_NAME https://github.com/flang-compiler/classic-flang-llvm-project.git classic-flang-llvm-project && \
cd classic-flang-llvm-project && \
./build-llvm-project.sh -t AArch64 -p /home/github/usr/local -n `nproc --ignore=1` -a /usr/bin/gcc-10 -b /usr/bin/g++-10 -i -v; \
./build-llvm-project.sh -t AArch64 -p /home/github/usr/local -n `nproc --ignore=1` -a /usr/bin/gcc-10 -b /usr/bin/g++-10 -i -x "-DLLVM_ENABLE_ASSERTIONS=ON" -v; \
fi

RUN useradd github && \
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/clang-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,16 @@ name: Clang Tests
on:
workflow_dispatch:
push:
ignore-forks: true
branches:
- 'release/**'
- 'release_*x'
paths:
- 'clang/**'
- '.github/workflows/clang-tests.yml'
- '.github/workflows/llvm-project-tests.yml'
- '!llvm/**'
pull_request:
ignore-forks: true
branches:
- 'release/**'
- 'release_*x'
paths:
- 'clang/**'
- '.github/workflows/clang-tests.yml'
Expand All @@ -29,9 +27,9 @@ concurrency:

jobs:
check_clang:
if: github.repository_owner == 'llvm'
name: Test clang,lldb,libclc
if: github.repository_owner == 'flang-compiler'
name: Test clang
uses: ./.github/workflows/llvm-project-tests.yml
with:
build_target: check-clang
projects: clang;lldb;libclc
projects: clang;openmp
70 changes: 70 additions & 0 deletions .github/workflows/flang-arm64-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Build and test Flang

on:
pull_request:
branches:
- 'release_*x'

jobs:
build:
runs-on: self-hosted
env:
build_path: /home/github
install_prefix: /home/github/usr/local
container:
image: ghcr.io/${{ github.repository_owner}}/ubuntu20-flang-${{ github.base_ref }}:latest
credentials:
username: github
strategy:
matrix:
target: [AArch64]
cc: [clang]
cpp: [clang++]
version: [10, 11]
include:
- target: AArch64
cc: gcc
cpp: g++
version: 10

steps:
- name: Check tools
run: |
git --version
cmake --version
make --version
${{ matrix.cc }}-${{ matrix.version }} --version
${{ matrix.cpp }}-${{ matrix.version }} --version

- name: Manual checkout to build in user's home dir (pull_request)
run: |
cd ${{ env.build_path }}
git clone https://github.com/flang-compiler/classic-flang-llvm-project.git
cd classic-flang-llvm-project
git fetch origin ${{github.ref}}:pr_branch
git checkout pr_branch

- name: Build and install llvm
run: |
cd ${{ env.build_path }}/classic-flang-llvm-project
./build-llvm-project.sh -t ${{ matrix.target }} -p ${{ env.install_prefix }} -a /usr/bin/${{ matrix.cc }}-${{ matrix.version }} -b /usr/bin/${{ matrix.cpp }}-${{ matrix.version }} -n $(nproc) -i -x "-DLLVM_ENABLE_ASSERTIONS=ON" -v

- name: Checkout flang
run: |
cd ${{ env.build_path }}
git clone --depth 1 --single-branch --branch master https://github.com/flang-compiler/flang.git

- name: Build and install libpgmath & flang
run: |
cd ${{ env.build_path }}/flang
./build-flang.sh -t ${{ matrix.target }} -p ${{ env.install_prefix }} -n $(nproc) -l ${{ env.build_path }}/classic-flang-llvm-project/llvm

- name: Copy llvm-lit
run: |
cd ${{ env.build_path }}/flang
cp ${{ env.build_path }}/classic-flang-llvm-project/build/bin/llvm-lit build/flang/bin/

- name: Test flang
run: |
cd ${{ env.build_path }}/flang/build/flang
make check-all
81 changes: 81 additions & 0 deletions .github/workflows/flang-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Build and test Flang

on:
pull_request:
branches:
- 'release_*x'

jobs:
build:
runs-on: ubuntu-20.04
env:
install_prefix: /usr/local
strategy:
matrix:
target: [X86]
cc: [clang]
cpp: [clang++]
version: [10, 11]
include:
- target: X86
cc: gcc
cpp: g++
version: 10

steps:
- uses: actions/checkout@v2

- if: matrix.cc == 'clang'
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa
sudo touch /etc/apt/sources.list.d/llvm.list
echo 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main' | sudo tee -a /etc/apt/sources.list.d/llvm.list
echo 'deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main' | sudo tee -a /etc/apt/sources.list.d/llvm.list
wget -q -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
sudo apt update
sudo apt install -f -y llvm-${{ matrix.version }} clang-${{ matrix.version}}

- if: matrix.cc == 'gcc' && matrix.version == '10'
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa
sudo apt install gcc-10 g++-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 20

- name: ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: key-${{ matrix.cc }}-${{ matrix.version }}

- name: Check tools
run: |
git --version
cmake --version
make --version
${{ matrix.cc }}-${{ matrix.version }} --version
${{ matrix.cpp }}-${{ matrix.version }} --version

- name: Build and install llvm
run: ./build-llvm-project.sh -t ${{ matrix.target }} -p ${{ env.install_prefix }} -a /usr/bin/${{ matrix.cc }}-${{ matrix.version }} -b /usr/bin/${{ matrix.cpp }}-${{ matrix.version }} -n $(nproc) -c -i -s -x "-DLLVM_ENABLE_ASSERTIONS=ON" -v

- name: Checkout flang
run: |
cd ../..
git clone --depth 1 --single-branch --branch master https://github.com/flang-compiler/flang.git

- name: Build and install libpgmath & flang
run: |
cd ../../flang
./build-flang.sh -t ${{ matrix.target }} -p ${{ env.install_prefix }} -n $(nproc) -c -s -l $(realpath ../classic-flang-llvm-project/classic-flang-llvm-project/llvm)

- name: Copy llvm-lit
run: |
cd ../../flang
cp ../classic-flang-llvm-project/classic-flang-llvm-project/build/bin/llvm-lit build/flang/bin/

- name: Test flang
run: |
cd ../../flang/build/flang
make check-all
166 changes: 0 additions & 166 deletions .github/workflows/libclang-abi-tests.yml

This file was deleted.

Loading