-
Notifications
You must be signed in to change notification settings - Fork 117
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert "Integrate LLVM at llvm/llvm-project@ede40da1f8c1"
This reverts commit 13d8706.
- Loading branch information
Showing
355 changed files
with
2,011,564 additions
and
56 deletions.
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,17 @@ | ||
/LICENSE export-ignore | ||
/Readme.md export-ignore | ||
/clang export-ignore | ||
/clang-tools-extra export-ignore | ||
/compiler-rt export-ignore | ||
/contrib export-ignore | ||
/debuginfo-tests export-ignore | ||
/libcxx export-ignore | ||
/libcxxabi export-ignore | ||
/libunwind export-ignore | ||
/lld export-ignore | ||
/lldb export-ignore | ||
/llvm export-ignore | ||
/openmp export-ignore | ||
/polly export-ignore | ||
/tests export-ignore | ||
/enzyme/benchmarks export-ignore |
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,12 @@ | ||
# To get started with Dependabot version updates, you'll need to specify which | ||
# package ecosystems to update and where the package manifests are located. | ||
# Please see the documentation for all configuration options: | ||
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file | ||
|
||
version: 2 | ||
updates: | ||
# Maintain dependencies for GitHub Actions | ||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "monthly" |
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,38 @@ | ||
name: Bitcode loading CI | ||
|
||
on: [push] | ||
|
||
jobs: | ||
build: | ||
name: Bitcode loading CI LLVM ${{ matrix.llvm }} ${{ matrix.build }} ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# BCLoad tests only run with old pass manager [aka up to and including 13] | ||
llvm: ["11", "12", "13"] | ||
build: ["Release"] # "RelWithDebInfo" | ||
os: [ubuntu-20.04] | ||
|
||
timeout-minutes: 30 | ||
steps: | ||
- name: add llvm | ||
run: | | ||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - | ||
sudo apt-add-repository "deb http://apt.llvm.org/`lsb_release -c | cut -f2`/ llvm-toolchain-`lsb_release -c | cut -f2`-${{ matrix.llvm }} main" || true | ||
sudo apt-get install -y cmake gcc g++ llvm-${{ matrix.llvm }}-dev clang-${{ matrix.llvm }} libclang-${{ matrix.llvm }}-dev | ||
sudo python3 -m pip install --upgrade pip lit | ||
if [[ '${{ matrix.llvm }}' == '13' ]]; then | ||
sudo sed -i 's/add_executable(llvm-omp-device-info IMPORTED)//g' /usr/lib/llvm-${{matrix.llvm}}/lib/cmake/llvm/LLVMExports*.cmake | ||
sudo sed -i 's/llvm-omp-device-info//g' /usr/lib/llvm-${{matrix.llvm}}/lib/cmake/llvm/LLVMExports*.cmake | ||
fi | ||
- uses: actions/checkout@v4 | ||
- name: mkdir | ||
run: cd enzyme && rm -rf build && mkdir build | ||
- name: cmake | ||
run: | | ||
cd enzyme/build | ||
cmake .. -DLLVM_EXTERNAL_LIT=`which lit` -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm }}/lib/cmake/llvm | ||
- name: make check-bcpass | ||
run: cd enzyme/build && make -j `nproc` check-bcpass |
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,59 @@ | ||
name: Benchmarking | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
merge_group: | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build: | ||
name: Benchmark Test on os ${{ matrix.os }} and llvm ${{ matrix.llvm }} mode ${{ matrix.build }} | ||
runs-on: ${{ matrix.os }} | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
llvm: ["13", "14", "15", "16"] | ||
build: ["Release", "Debug"] # "RelWithDebInfo" | ||
os: [openstack18] | ||
timeout-minutes: 120 | ||
steps: | ||
- name: add llvm | ||
run: | | ||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - | ||
sudo apt-add-repository "deb http://apt.llvm.org/`lsb_release -c | cut -f2`/ llvm-toolchain-`lsb_release -c | cut -f2`-${{ matrix.llvm }} main" || true | ||
sudo apt-get install -y python3-pip autoconf cmake gcc g++ libtool gfortran libblas-dev llvm-${{ matrix.llvm }}-dev clang-${{ matrix.llvm }} libeigen3-dev libboost-dev | ||
sudo python3 -m pip install lit pathlib | ||
sudo touch /usr/lib/llvm-${{ matrix.llvm }}/bin/yaml-bench | ||
if [[ '${{ matrix.llvm }}' == '13' ]]; then | ||
sudo sed -i 's/add_executable(llvm-omp-device-info IMPORTED)//g' /usr/lib/llvm-${{matrix.llvm}}/lib/cmake/llvm/LLVMExports*.cmake | ||
sudo sed -i 's/llvm-omp-device-info//g' /usr/lib/llvm-${{matrix.llvm}}/lib/cmake/llvm/LLVMExports*.cmake | ||
fi | ||
- uses: actions/checkout@v4 | ||
- name: mkdir | ||
run: rm -rf build && mkdir build | ||
- name: cmake | ||
working-directory: build | ||
run: cmake ../enzyme -DLLVM_EXTERNAL_LIT=`which lit` -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm }}/lib/cmake/llvm | ||
- name: make | ||
working-directory: build | ||
run: make -j `nproc` LLVMEnzyme-${{ matrix.llvm }} | ||
- name: make bench-enzyme | ||
working-directory: build | ||
run: make bench-enzyme | ||
- name: results | ||
run: cat enzyme/benchmarks/*/*/results.txt | ||
- name: graph results | ||
if: github.event_name != 'pull_request' && matrix.build == 'Release' | ||
run: | | ||
for p in enzyme/benchmarks/ReverseMode/*/results.json; do | ||
python3 enzyme/benchmarks/upload-results.py $p --url https://enzyme.mit.edu/cibench/api --token ${{ secrets.GRAPH_TOKEN }} | ||
done |
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,51 @@ | ||
name: C/C++ CI | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
merge_group: | ||
|
||
jobs: | ||
build: | ||
name: Integration CI LLVM ${{ matrix.llvm }} ${{ matrix.build }} ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
llvm: ["11", "12", "13", "14", "15", "16", "17"] | ||
build: ["Release"] # "RelWithDebInfo" | ||
os: [ubuntu-20.04] | ||
|
||
timeout-minutes: 45 | ||
|
||
steps: | ||
- name: add llvm | ||
run: | | ||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - | ||
sudo apt-get install -y libmpfr-dev | ||
sudo apt-add-repository "deb http://apt.llvm.org/`lsb_release -c | cut -f2`/ llvm-toolchain-`lsb_release -c | cut -f2`-${{ matrix.llvm }} main" || true | ||
sudo apt-get install -y cmake gcc g++ llvm-${{ matrix.llvm }}-dev libomp-${{ matrix.llvm }}-dev lld-${{ matrix.llvm }} clang-${{ matrix.llvm }} libclang-${{ matrix.llvm }}-dev libeigen3-dev libboost-dev libzstd-dev | ||
sudo python3 -m pip install --upgrade pip lit | ||
if [[ '${{ matrix.llvm }}' == '13' ]]; then | ||
sudo sed -i 's/add_executable(llvm-omp-device-info IMPORTED)//g' /usr/lib/llvm-${{matrix.llvm}}/lib/cmake/llvm/LLVMExports*.cmake | ||
sudo sed -i 's/llvm-omp-device-info//g' /usr/lib/llvm-${{matrix.llvm}}/lib/cmake/llvm/LLVMExports*.cmake | ||
fi | ||
- uses: actions/checkout@v4 | ||
- name: mkdir | ||
run: rm -rf build && mkdir build | ||
- name: cmake | ||
working-directory: build | ||
run: cmake ../enzyme -DLLVM_EXTERNAL_LIT=`which lit` -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm }}/lib/cmake/llvm | ||
- name: make | ||
run: cd build && make -j `nproc` LLVMEnzyme-${{ matrix.llvm }} ClangEnzyme-${{ matrix.llvm }} LLDEnzyme-${{ matrix.llvm }} | ||
- name: make test-cmake | ||
working-directory: build | ||
run: make -j `nproc` test-cmake | ||
- name: make check-enzyme-integration | ||
working-directory: build | ||
run: make -j `nproc` check-enzyme-integration |
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,25 @@ | ||
name: Build and deploy Doxygen to Scripts | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
docs: | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: mattnotmitt/[email protected] | ||
with: | ||
working-directory: 'enzyme/' | ||
doxyfile-path: 'doxygen.cfg' | ||
|
||
- uses: wsmoses/action-deploy-scripts@main | ||
with: | ||
locker: 'enzyme-compiler' | ||
remote: doxygen | ||
privateKey: ${{ secrets.SCRIPTS_PRIVATE_KEY }} | ||
rmRemote: true | ||
local: enzyme/doxygen/html |
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,60 @@ | ||
name: Bazel | ||
|
||
on: | ||
schedule: | ||
- cron: 0 0 * * * | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
merge_group: | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build-linux: | ||
name: Bazel ${{ matrix.build }} ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
build: ["Release"] | ||
llbuild: ["Release"] | ||
os: [ubuntu-latest] | ||
|
||
timeout-minutes: 500 | ||
steps: | ||
|
||
- name: Prep | ||
run: | | ||
python -m pip install lit | ||
- uses: actions/checkout@v4 | ||
- uses: actions/checkout@v4 | ||
with: | ||
repository: 'llvm/llvm-project' | ||
path: 'llvm-project' | ||
|
||
- name: Cache Bazel | ||
uses: actions/cache@v4 | ||
with: | ||
path: | | ||
~/.cache/bazel | ||
~/.cache/bazel-disk-cache | ||
key: ${{ runner.os }}-bazel-${{ hashFiles('.bazelversion', '.bazelrc', 'WORKSPACE', 'WORKSPACE.bazel', 'MODULE.bazel') }} | ||
restore-keys: | | ||
${{ runner.os }}-bazel- | ||
- name: Build | ||
run: | | ||
cd enzyme | ||
bazel build --disk_cache=~/.cache/bazel-disk-cache :EnzymeStatic :enzymemlir-opt | ||
- name: Test | ||
run: | | ||
cd enzyme | ||
bazel test --disk_cache=~/.cache/bazel-disk-cache --test_output=errors ... |
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,119 @@ | ||
name: Enzyme CI | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
merge_group: | ||
|
||
jobs: | ||
build-linux: | ||
name: Enzyme CI LLVM ${{ matrix.llvm }} ${{ matrix.build }} ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
llvm: ["11", "12", "13", "14", "15", "16"] | ||
build: ["Release", "Debug"] # "RelWithDebInfo" | ||
os: [ubuntu-20.04] | ||
|
||
timeout-minutes: 30 | ||
|
||
steps: | ||
- name: add llvm | ||
run: | | ||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - | ||
sudo apt-add-repository "deb http://apt.llvm.org/`lsb_release -c | cut -f2`/ llvm-toolchain-`lsb_release -c | cut -f2`-${{ matrix.llvm }} main" || true | ||
sudo apt-get install -y cmake gcc g++ llvm-${{ matrix.llvm }}-dev libzstd-dev | ||
sudo python3 -m pip install --upgrade pip lit | ||
if [[ '${{ matrix.llvm }}' == '13' ]]; then | ||
sudo sed -i 's/add_executable(llvm-omp-device-info IMPORTED)//g' /usr/lib/llvm-${{matrix.llvm}}/lib/cmake/llvm/LLVMExports*.cmake | ||
sudo sed -i 's/llvm-omp-device-info//g' /usr/lib/llvm-${{matrix.llvm}}/lib/cmake/llvm/LLVMExports*.cmake | ||
fi | ||
- uses: actions/checkout@v4 | ||
- name: mkdir | ||
run: rm -rf build && mkdir build | ||
- name: cmake | ||
working-directory: build | ||
run: cmake ../enzyme -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DLLVM_EXTERNAL_LIT=`which lit` -DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm }}/lib/cmake/llvm | ||
- name: make | ||
working-directory: build | ||
run: make -j `nproc` | ||
- name: make check-typeanalysis | ||
working-directory: build | ||
run: make -j `nproc` check-typeanalysis | ||
- name: make check-activityanalysis | ||
working-directory: build | ||
run: make -j `nproc` check-activityanalysis | ||
- name: make check-enzyme | ||
working-directory: build | ||
run: make -j `nproc` check-enzyme-bench | ||
- name: graph results | ||
if: github.event_name != 'pull_request' && matrix.build == 'Release' | ||
run: python3 enzyme/test/upload-results.py build/test/Enzyme/results.json --url https://enzyme.mit.edu/cibench/api --token ${{ secrets.GRAPH_TOKEN }} | ||
|
||
build-macos: | ||
name: Enzyme CI LLVM ${{ matrix.llvm }} ${{ matrix.build }} macOS | ||
runs-on: macos-latest | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
llvm: ["12", "13", "14", "15", "16"] | ||
build: ["Release", "Debug"] # "RelWithDebInfo" | ||
|
||
timeout-minutes: 30 | ||
steps: | ||
- name: add llvm | ||
run: | | ||
brew update | ||
brew install llvm@${{ matrix.llvm }} make cmake | ||
sudo python3 -m pip install --upgrade --break-system-packages --user pip lit requests | ||
- uses: actions/checkout@v4 | ||
- name: mkdir | ||
run: rm -rf build && mkdir build | ||
- name: cmake | ||
working-directory: build | ||
run: cmake ../enzyme -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DLLVM_EXTERNAL_LIT=/Users/runner/Library/Python/3.12/bin/lit -DLLVM_DIR=`brew --prefix llvm@${{ matrix.llvm }}`/lib/cmake/llvm | ||
- name: make | ||
working-directory: build | ||
run: make -j 3 | ||
- name: make check-typeanalysis | ||
working-directory: build | ||
run: make -j 3 check-typeanalysis | ||
- name: make check-activityanalysis | ||
working-directory: build | ||
run: make -j 3 check-activityanalysis | ||
- name: make check-enzyme | ||
working-directory: build | ||
run: make -j3 check-enzyme-bench | ||
- name: graph results | ||
if: github.event_name != 'pull_request' && matrix.build == 'Release' | ||
run: python3 enzyme/test/upload-results.py build/test/Enzyme/results.json --url https://enzyme.mit.edu/cibench/api --token ${{ secrets.GRAPH_TOKEN }} | ||
|
||
build-xcode: | ||
name: Enzyme CI LLVM ${{ matrix.llvm }} ${{ matrix.build }} macOS XCode | ||
runs-on: macos-latest | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
llvm: ["13"] #, "14"] | ||
build: ["Release"] # "RelWithDebInfo" | ||
|
||
timeout-minutes: 30 | ||
steps: | ||
- name: add llvm | ||
run: | | ||
brew install llvm@${{ matrix.llvm }} make cmake gcc | ||
sudo python3 -m pip install --upgrade --break-system-packages --user pip lit | ||
- uses: actions/checkout@v4 | ||
- name: mkdir | ||
run: rm -rf build && mkdir build | ||
- name: cmake | ||
working-directory: build | ||
run: | | ||
cmake ../enzyme -GXcode -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DLLVM_EXTERNAL_LIT=/Users/runner/Library/Python/3.12/bin/lit -DLLVM_DIR=`brew --prefix llvm@${{ matrix.llvm }}`/lib/cmake/llvm | ||
cmake --build . --parallel 3 |
Oops, something went wrong.