EN FR
EN FR
CAMUS - 2019
Application Domains
Bilateral Contracts and Grants with Industry
Bibliography
Application Domains
Bilateral Contracts and Grants with Industry
Bibliography


Section: New Results

New release of Apollo

Participants : Muthena Abdul-Wahab, Philippe Clauss.

Apollo has been updated to use LLVM/Clang version 6.0.1. The unmodified sources are now included, as tar-files, in the APOLLO distribution.

Regarding the build system:

  • All components of APOLLO are now installed into the installation directory. Once installed, APOLLO does not need the build directory to be kept.

  • The RPATH on APOLLO libraries has been set to the installation directory. This allows APOLLO to be run without having to set up library paths.

  • APOLLO_BUILD_JOBS has been introduced to specify the maximum number of build jobs to use. The replaces NB_JOBS which is still supported but deprecated.

  • The sources for external dependencies are now included in the APOLLO distribution. They are no longer downloaded during a build.

  • A new build target 'check' has been added to run the testsuite. This is supported by Makefiles ('make check') and Ninja ('ninja check').

  • The build type (Debug/Release) for LLVM/Clang is now the same as the rest of APOLLO. New build variable APOLLO_LLVM_BUILD_TYPE can be used to specify a separate build type for LLVM/Clang.

Regarding bug fixes:

  • Valid code using floating point types (float or double) could make APOLLO stop with an message about unsupported scalars. This has been fixed by removing the Loop Invariant Code Motion (LICM) pass in such cases, preventing floating-point scalars to be generated.

  • Code containing try-catch blocks could make APOLLO crash. This has been fixed.

  • Dynamic loop bounds were no more instrumented and interpolated. This has been fixed.