Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
81 changes: 42 additions & 39 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on: [pull_request, workflow_dispatch]
jobs:
# Building and running the tests with Dockerfile
build_and_test_symcc:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v2
- name: Setup docker compilation environment
Expand All @@ -19,10 +19,10 @@ jobs:

# checking compatibility with ubuntu llvm packages
llvm_compatibility:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
llvm_version: [11, 12, 13, 14, 15]
llvm_version: [15, 16, 17, 18, 19]
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -48,39 +48,42 @@ jobs:
..
make

# checking compatibility (compilation only) with more recent packages
llvm_compatibility_latest_llvm:
runs-on: ubuntu-22.04
strategy:
matrix:
llvm_version: [16, 17, 18]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Add LLVM project deb repository
uses: myci-actions/add-deb-repo@11
with:
repo: deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${{ matrix.llvm_version }} main
repo-name: llvm
update: false
keys-asc: https://apt.llvm.org/llvm-snapshot.gpg.key
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
llvm-${{ matrix.llvm_version }}-dev \
libz3-dev \
git
- name: Build SymCC with the QSYM backend
run: |
git submodule update --init --recursive runtime
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DZ3_TRUST_SYSTEM_VERSION=ON \
-DSYMCC_RT_BACKEND=qsym \
-DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm_version }}/cmake \
..
make
# TODO Re-enable the section below when LLVM releases a version that isn't
# supported by Ubuntu packages in our runner image.

# # checking compatibility (compilation only) with more recent packages
# llvm_compatibility_latest_llvm:
# runs-on: ubuntu-22.04
# strategy:
# matrix:
# llvm_version: [16, 17, 18]
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: true
# - name: Add LLVM project deb repository
# uses: myci-actions/add-deb-repo@11
# with:
# repo: deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${{ matrix.llvm_version }} main
# repo-name: llvm
# update: false
# keys-asc: https://apt.llvm.org/llvm-snapshot.gpg.key
# - name: Install dependencies
# run: |
# sudo apt-get update
# sudo apt-get install -y \
# llvm-${{ matrix.llvm_version }}-dev \
# libz3-dev \
# git
# - name: Build SymCC with the QSYM backend
# run: |
# git submodule update --init --recursive runtime
# mkdir build
# cd build
# cmake \
# -DCMAKE_BUILD_TYPE=Release \
# -DZ3_TRUST_SYSTEM_VERSION=ON \
# -DSYMCC_RT_BACKEND=qsym \
# -DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm_version }}/cmake \
# ..
# make
1 change: 0 additions & 1 deletion compiler/Pass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ bool canLower(const CallInst *CI) {
case Intrinsic::pcmarker:
case Intrinsic::dbg_declare:
case Intrinsic::dbg_label:
case Intrinsic::eh_typeid_for:
case Intrinsic::annotation:
case Intrinsic::ptr_annotation:
case Intrinsic::assume:
Expand Down
3 changes: 3 additions & 0 deletions compiler/Symbolizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,9 @@ void Symbolizer::handleIntrinsicCall(CallBase &I) {
break;
}
#endif
case Intrinsic::eh_typeid_for:
// This intrinsic returns a constant for our purposes.
break;
default:
errs() << "Warning: unhandled LLVM intrinsic " << callee->getName()
<< "; the result will be concretized\n";
Expand Down