Commit 5ab127f3 authored by lperesde's avatar lperesde Committed by cameron
Browse files

Docker needs certain permissions for creating the caching folder, so we needed...

Docker needs certain permissions for creating the caching folder, so we needed to create the caching folder manually
parent aa06c1cf
FROM ponylang/ponyc-ci:llvm-3.9.1
USER root
RUN apt-get update && apt-get -y install software-properties-common
RUN add-apt-repository ppa:mhier/libboost-latest
RUN apt-get update && \
apt-get -y install cmake protobuf-compiler libblkid-dev \
e2fslibs-dev libaudit-dev libboost1.68-dev
stages:
- build
- test
build_llvm39:
stage: build
image: luizperes/parabix:llvm-3.9.1
script:
- mkdir build && cd build
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4
.test-default: &test-default
stage: test
image: luizperes/parabix:llvm-3.9.1
script:
- mkdir -p build && cd build
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4 check && make kernel-tests
test_llvm39:
<<: *test-default
merge_request_llvm39:
<<: *test-default
rules:
# If there is a merge request
- if: '$CI_MERGE_REQUEST_IID'
.test-avx512-default: &test-avx512-default
stage: test
script:
- mkdir -p build && cd build
# Make sure the runner has LLVM installed on /opt/llvm/libllvm{LLVM_VERSION}
- cmake -DCMAKE_PREFIX_PATH=/opt/llvm/libllvm39 -DCMAKE_BUILD_TYPE=Release ..
- make -j4 check && make kernel-tests
tags:
- avx512
test_llvm39_avx512:
<<: *test-avx512-default
merge_request_llvm39_avx512:
<<: *test-avx512-default
rules:
# If there is a merge request
- if: '$CI_MERGE_REQUEST_IID'
......@@ -6,7 +6,9 @@ build_llvm5:
stage: build
image: luizperes/parabix:llvm-5.0.2
script:
- mkdir -p /root/.cache/parabix/
- mkdir build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4
......@@ -14,7 +16,9 @@ build_llvm5:
stage: test
image: luizperes/parabix:llvm-5.0.2
script:
- mkdir -p /root/.cache/parabix/
- mkdir -p build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4 check && make kernel-tests
......
......@@ -6,7 +6,9 @@ build_llvm6:
stage: build
image: luizperes/parabix:llvm-6.0.1
script:
- mkdir -p /root/.cache/parabix/
- mkdir build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4
......@@ -14,7 +16,9 @@ build_llvm6:
stage: test
image: luizperes/parabix:llvm-6.0.1
script:
- mkdir -p /root/.cache/parabix/
- mkdir -p build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4 check && make kernel-tests
......
......@@ -6,7 +6,9 @@ build_llvm7:
stage: build
image: luizperes/parabix:llvm-7.0.1
script:
- mkdir -p /root/.cache/parabix/
- mkdir build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4
......@@ -14,7 +16,9 @@ build_llvm7:
stage: test
image: luizperes/parabix:llvm-7.0.1
script:
- mkdir -p /root/.cache/parabix/
- mkdir -p build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4 check && make kernel-tests
......
......@@ -6,7 +6,9 @@ build_llvm8:
stage: build
image: luizperes/parabix:llvm-8
script:
- mkdir -p /root/.cache/parabix/
- mkdir build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4
......@@ -14,7 +16,9 @@ build_llvm8:
stage: test
image: luizperes/parabix:llvm-8
script:
- mkdir -p /root/.cache/parabix/
- mkdir -p build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make -j4 check && make kernel-tests
......
......@@ -5,8 +5,12 @@ stages:
build_llvm9:
stage: build
image: luizperes/parabix:llvm-9
before_script:
- apt-get -y update && apt-get install -y python python3
script:
- mkdir -p /root/.cache/parabix/
- mkdir build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release -DBOOST_INCLUDEDIR=/home/boost_1_68_0 ..
- make -j4
......@@ -16,7 +20,9 @@ build_llvm9:
before_script:
- apt-get -y update && apt-get install -y python python3
script:
- mkdir -p /root/.cache/parabix/
- mkdir -p build && cd build
- git clone https://github.com/Z3Prover/z3.git && cd z3 && python scripts/mk_make.py && cd build && make && make install && cd ../..
- cmake -DCMAKE_BUILD_TYPE=Release -DBOOST_INCLUDEDIR=/home/boost_1_68_0 ..
- make -j4 check && make kernel-tests
......
......@@ -792,10 +792,12 @@ void PipelineAnalysis::computeDataFlowRates() {
report_fatal_error("Unexpected Z3 error when attempting to obtain value from model!");
}
__int64 num, denom;
if (LLVM_UNLIKELY(Z3_get_numeral_rational_int64(ctx, value, &num, &denom) != Z3_L_TRUE)) {
int64_t z3_num, z3_denom;
if (LLVM_UNLIKELY(Z3_get_numeral_rational_int64(ctx, value, &z3_num, &z3_denom) != Z3_L_TRUE)) {
report_fatal_error("Unexpected Z3 error when attempting to convert model value to number!");
}
__int64 num = static_cast<__int64>(z3_num);
__int64 denom = static_cast<__int64>(z3_denom);
assert (num > 0);
const auto r = Rational{num, denom};
......@@ -834,10 +836,12 @@ void PipelineAnalysis::computeDataFlowRates() {
report_fatal_error("Unexpected Z3 error when attempting to obtain value from model!");
}
__int64 num, denom;
if (LLVM_UNLIKELY(Z3_get_numeral_rational_int64(ctx, value, &num, &denom) != Z3_L_TRUE)) {
int64_t z3_num, z3_denom;
if (LLVM_UNLIKELY(Z3_get_numeral_rational_int64(ctx, value, &z3_num, &z3_denom) != Z3_L_TRUE)) {
report_fatal_error("Unexpected Z3 error when attempting to convert model value to number!");
}
__int64 num = static_cast<__int64>(z3_num);
__int64 denom = static_cast<__int64>(z3_denom);
assert (num > 0);
current[kernel][bound] = Rational{num, denom};
}
......
......@@ -926,10 +926,11 @@ found: ++i;
if (LLVM_UNLIKELY(Z3_model_eval(ctx, model, var, Z3_L_TRUE, &value) != Z3_L_TRUE)) {
report_fatal_error("Unexpected Z3 error when attempting to obtain value from model!");
}
__int64 num;
if (LLVM_UNLIKELY(Z3_get_numeral_int64(ctx, value, &num) != Z3_L_TRUE)) {
int64_t z3_num;
if (LLVM_UNLIKELY(Z3_get_numeral_int64(ctx, value, &z3_num) != Z3_L_TRUE)) {
report_fatal_error("Unexpected Z3 error when attempting to convert model value to number!");
}
__int64 num = static_cast<__int64>(z3_num);
assert (num >= 0 && num < static_cast<__int64>(numOfContractedPartitions));
assert (partition_order[num] == -1U);
partition_order[num] = i;
......@@ -1216,10 +1217,11 @@ found: ++i;
if (LLVM_UNLIKELY(Z3_model_eval(ctx, model, var, Z3_L_TRUE, &value) != Z3_L_TRUE)) {
report_fatal_error("Unexpected Z3 error when attempting to obtain value from model!");
}
__int64 num;
if (LLVM_UNLIKELY(Z3_get_numeral_int64(ctx, value, &num) != Z3_L_TRUE)) {
int64_t z3_num;
if (LLVM_UNLIKELY(Z3_get_numeral_int64(ctx, value, &z3_num) != Z3_L_TRUE)) {
report_fatal_error("Unexpected Z3 error when attempting to convert model value to number!");
}
__int64 num = static_cast<__int64>(z3_num);
assert (num >= 0 && num < static_cast<__int64>(numOfContractedKernels));
assert (ordering[num] == -1U);
ordering[num] = i;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment