forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'llvmorg-13.0.0-rc1' into juice/main
Update the juice branch to the first release candidate of LLVM 13.0.0.
- Loading branch information
Showing
6,105 changed files
with
480,047 additions
and
125,025 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: Clang Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- '.github/workflows/clang-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- '.github/workflows/clang-tests.yml' | ||
|
||
jobs: | ||
build_clang: | ||
name: clang check-all | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
- windows-latest | ||
- macOS-latest | ||
steps: | ||
- name: Setup Windows | ||
if: startsWith(matrix.os, 'windows') | ||
uses: llvm/actions/setup-windows@main | ||
with: | ||
arch: amd64 | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@main | ||
- uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 250 | ||
- name: Test clang | ||
uses: llvm/actions/build-test-llvm-project@main | ||
with: | ||
cmake_args: -G Ninja -DLLVM_ENABLE_PROJECTS="clang" -DCMAKE_BUILD_TYPE=Release | ||
build_target: check-clang |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
name: libclang ABI Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'clang/**' | ||
- '.github/workflows/libclang-abi-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'clang/**' | ||
- '.github/workflows/libclang-abi-tests.yml' | ||
|
||
jobs: | ||
abi-dump-setup: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
BASELINE_REF: ${{ steps.vars.outputs.BASELINE_REF }} | ||
ABI_HEADERS: ${{ steps.vars.outputs.ABI_HEADERS }} | ||
ABI_LIBS: ${{ steps.vars.outputs.ABI_LIBS }} | ||
BASELINE_VERSION_MAJOR: ${{ steps.vars.outputs.BASELINE_VERSION_MAJOR }} | ||
BASELINE_VERSION_MINOR: ${{ steps.vars.outputs.BASELINE_VERSION_MINOR }} | ||
LLVM_VERSION_MAJOR: ${{ steps.version.outputs.LLVM_VERSION_MAJOR }} | ||
LLVM_VERSION_MINOR: ${{ steps.version.outputs.LLVM_VERSION_MINOR }} | ||
LLVM_VERSION_PATCH: ${{ steps.version.outputs.LLVM_VERSION_PATCH }} | ||
steps: | ||
- name: Checkout source | ||
uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 250 | ||
|
||
- name: Get LLVM version | ||
id: version | ||
uses: llvm/actions/get-llvm-version@main | ||
|
||
- name: Setup Variables | ||
id: vars | ||
run: | | ||
minor_version=0 | ||
remote_repo='https://github.com/llvm/llvm-project' | ||
if [ ${{ steps.version.outputs.LLVM_VERSION_MINOR }} -ne 0 -o ${{ steps.version.outputs.LLVM_VERSION_PATCH }} -eq 0 ]; then | ||
major_version=$(( ${{ steps.version.outputs.LLVM_VERSION_MAJOR }} - 1)) | ||
baseline_ref="llvmorg-$major_version.0.0" | ||
# If there is a minor release, we want to use that as the base line. | ||
minor_ref=`git ls-remote --refs -t $remote_repo llvmorg-$major_version.[1-9].[0-9] | tail -n1 | grep -o 'llvmorg-.\+' || true` | ||
if [ -n "$minor_ref" ]; then | ||
baseline_ref=$minor_ref | ||
else | ||
# Check if we have a release candidate | ||
rc_ref=`git ls-remote --refs -t $remote_repo llvmorg-$major_version.[1-9].[0-9]-rc* | tail -n1 | grep -o 'llvmorg-.\+' || true` | ||
if [ -n "$rc_ref" ]; then | ||
baseline_ref=$rc_ref | ||
fi | ||
fi | ||
echo ::set-output name=BASELINE_VERSION_MAJOR::$major_version | ||
echo ::set-output name=BASELINE_REF::$baseline_ref | ||
echo ::set-output name=ABI_HEADERS::clang-c | ||
echo ::set-output name=ABI_LIBS::libclang.so | ||
else | ||
echo ::set-output name=BASELINE_VERSION_MAJOR::${{ steps.version.outputs.LLVM_VERSION_MAJOR }} | ||
echo ::set-output name=BASELINE_REF::llvmorg-${{ steps.version.outputs.LLVM_VERSION_MAJOR }}.0.0 | ||
echo ::set-output name=ABI_HEADERS::. | ||
echo ::set-output name=ABI_LIBS::libclang.so libclang-cpp.so | ||
fi | ||
abi-dump: | ||
needs: abi-dump-setup | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
name: | ||
- build-baseline | ||
- build-latest | ||
include: | ||
- name: build-baseline | ||
llvm_version_major: ${{ needs.abi-dump-setup.outputs.BASELINE_VERSION_MAJOR }} | ||
ref: ${{ needs.abi-dump-setup.outputs.BASELINE_REF }} | ||
repo: llvm/llvm-project | ||
- name: build-latest | ||
llvm_version_major: ${{ needs.abi-dump-setup.outputs.LLVM_VERSION_MAJOR }} | ||
ref: ${{ github.sha }} | ||
repo: ${{ github.repository }} | ||
steps: | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@main | ||
- name: Install abi-compliance-checker | ||
run: | | ||
sudo apt-get install abi-dumper autoconf pkg-config | ||
- name: Install universal-ctags | ||
run: | | ||
git clone https://github.com/universal-ctags/ctags.git | ||
cd ctags | ||
./autogen.sh | ||
./configure | ||
sudo make install | ||
- name: Download source code | ||
uses: llvm/actions/get-llvm-project-src@main | ||
with: | ||
ref: ${{ matrix.ref }} | ||
repo: ${{ matrix.repo }} | ||
- name: Configure | ||
run: | | ||
mkdir install | ||
cmake -B build -S llvm -G Ninja -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_C_FLAGS_DEBUG="-g1 -Og" -DCMAKE_CXX_FLAGS_DEBUG="-g1 -Og" -DCMAKE_INSTALL_PREFIX=`pwd`/install llvm | ||
- name: Build | ||
run: ninja -C build/ ${{ needs.abi-dump-setup.outputs.ABI_LIBS }} install-clang-headers | ||
- name: Dump ABI | ||
run: | | ||
parallel abi-dumper -lver ${{ matrix.ref }} -skip-cxx -public-headers ./install/include/${{ needs.abi-dump-setup.outputs.ABI_HEADERS }} -o {}-${{ matrix.ref }}.abi ./build/lib/{} ::: ${{ needs.abi-dump-setup.outputs.ABI_LIBS }} | ||
for lib in ${{ needs.abi-dump-setup.outputs.ABI_LIBS }}; do | ||
# Remove symbol versioning from dumps, so we can compare across major versions. | ||
sed -i 's/LLVM_${{ matrix.llvm_version_major }}/LLVM_NOVERSION/' $lib-${{ matrix.ref }}.abi | ||
done | ||
- name: Upload ABI file | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: ${{ matrix.name }} | ||
path: "*${{ matrix.ref }}.abi" | ||
|
||
abi-compare: | ||
runs-on: ubuntu-latest | ||
needs: | ||
- abi-dump-setup | ||
- abi-dump | ||
steps: | ||
- name: Download baseline | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: build-baseline | ||
- name: Download latest | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: build-latest | ||
|
||
- name: Install abi-compliance-checker | ||
run: sudo apt-get install abi-compliance-checker | ||
- name: Compare ABI | ||
run: | | ||
for lib in ${{ needs.abi-dump-setup.outputs.ABI_LIBS }}; do | ||
abi-compliance-checker -lib $lib -old build-baseline/$lib*.abi -new build-latest/$lib*.abi | ||
done | ||
- name: Upload ABI Comparison | ||
if: always() | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: compat-report-${{ github.sha }} | ||
path: compat_reports/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
name: libclc Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- 'libclc/**' | ||
- '.github/workflows/libclc-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- 'libclc/**' | ||
- '.github/workflows/libclc-tests.yml' | ||
|
||
jobs: | ||
build_libclc: | ||
name: libclc test | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
# Disable build on windows, because I can't figure out where llvm-config is. | ||
#- windows-latest | ||
- macOS-latest | ||
steps: | ||
- name: Setup Windows | ||
if: startsWith(matrix.os, 'windows') | ||
uses: llvm/actions/setup-windows@main | ||
with: | ||
arch: amd64 | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@main | ||
- uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 250 | ||
- name: Build clang | ||
uses: llvm/actions/build-test-llvm-project@main | ||
with: | ||
cmake_args: -G Ninja -DLLVM_ENABLE_PROJECTS="clang" -DCMAKE_BUILD_TYPE=Release | ||
build_target: "" | ||
- name: Build and test libclc | ||
# spirv targets require llvm-spirv, so skip building them until we figure out | ||
# how to install this tool. | ||
run: | | ||
cmake -G Ninja -S libclc -B libclc-build -DLLVM_CONFIG=`pwd`/build/bin/llvm-config -DLIBCLC_TARGETS_TO_BUILD="amdgcn--;amdgcn--amdhsa;r600--;nvptx--;nvptx64--;nvptx--nvidiacl;nvptx64--nvidiacl" | ||
ninja -C libclc-build | ||
ninja -C libclc-build test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: LLD Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'lld/**' | ||
- 'llvm/**' | ||
- '.github/workflows/lld-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'lld/**' | ||
- 'llvm/**' | ||
- '.github/workflows/lld-tests.yml' | ||
|
||
jobs: | ||
build_lld: | ||
name: lld check-all | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
- windows-latest | ||
- macOS-latest | ||
steps: | ||
- name: Setup Windows | ||
if: startsWith(matrix.os, 'windows') | ||
uses: llvm/actions/setup-windows@main | ||
with: | ||
arch: amd64 | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@main | ||
- uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 250 | ||
- name: Test lld | ||
uses: llvm/actions/build-test-llvm-project@main | ||
with: | ||
cmake_args: -G Ninja -DLLVM_ENABLE_PROJECTS="lld" -DCMAKE_BUILD_TYPE=Release | ||
build_target: check-lld |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
name: lldb Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- 'lldb/**' | ||
- '.github/workflows/lldb-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- 'lldb/**' | ||
- '.github/workflows/lldb-tests.yml' | ||
|
||
jobs: | ||
build_lldb: | ||
name: lldb build | ||
runs-on: ${{ matrix.os }} | ||
# Workaround for build faliure on Mac OS X: llvm.org/PR46190, https://github.com/actions/virtual-environments/issues/2274 | ||
env: | ||
CPLUS_INCLUDE_PATH: /usr/local/opt/llvm/include/c++/v1:/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
- windows-latest | ||
- macOS-latest | ||
steps: | ||
- name: Setup Windows | ||
if: startsWith(matrix.os, 'windows') | ||
uses: llvm/actions/setup-windows@main | ||
with: | ||
arch: amd64 | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@main | ||
- uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 250 | ||
- name: Build lldb | ||
uses: llvm/actions/build-test-llvm-project@main | ||
with: | ||
# Mac OS requries that libcxx is enabled for lldb tests, so we need to disable them. | ||
cmake_args: -G Ninja -DLLVM_ENABLE_PROJECTS="clang;lldb" -DCMAKE_BUILD_TYPE=Release -DLLDB_INCLUDE_TESTS=OFF | ||
# check-lldb is not consistent, so we only build lldb. | ||
build_target: "" |
Oops, something went wrong.