diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..b8bf29826722aa1c6b650f30d7ab55af06940b29 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,31 @@ +--- +variables: +# work around https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/2148 +# value should be "recursive" without workaround + GIT_SUBMODULE_STRATEGY: none + +before_script: +- echo "Running make concurrently with $(nproc) cores, where possibly" +# work around https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/2148 +- git submodule sync --recursive +- git submodule update --init --recursive +# end workaround +# make sure we can apply the patches +- git submodule foreach --recursive git reset --hard HEAD +- patches/apply_patches.sh +# detect number of processors, but make sure never to run with -j"", as the +# build host would likely run out of memory +- ": ${DUNECI_PARALLEL:=$(nproc || echo 1)}" +- export DUNECI_PARALLEL + +git--gcc: + image: registry.dune-project.org/joe/dune-perftool-ci/perftool-base:git + script: duneci-standard-test + +git--clang: + image: registry.dune-project.org/joe/dune-perftool-ci/perftool-base:git + script: duneci-standard-test --opts=/duneci/opts.clang + +git--pacxx: + image: registry.dune-project.org/joe/dune-perftool-ci/pacxx-perftool-base:git + script: duneci-standard-test --opts=/duneci/opts.pacxx diff --git a/dune/perftool/common/opcounter.hh b/dune/perftool/common/opcounter.hh index dbdb595cd39f65a98f43ffdabecd7ab31a83a2c0..2762695e8ad5f11acb5f68d83ed70c0457cda55e 100644 --- a/dune/perftool/common/opcounter.hh +++ b/dune/perftool/common/opcounter.hh @@ -116,7 +116,12 @@ namespace oc { F _v; - struct Counters { + // The alignment is necessary to work around + // https://bugs.llvm.org/show_bug.cgi?id=34219: + // "SLP vectorizer: aligned store to unaligned address" + // The bug is present in 3.8.0 (tags/RELEASE_380/final 263969) and in + // clang version 6.0.0 (trunk 310993) + struct alignas(16) Counters { size_type addition_count; size_type multiplication_count;