================= Release Notes 5.0 ================= In Polly 5 the following important changes have been incorporated. ----------------------------------- Robustness testing: AOSP and FFMPEG ----------------------------------- Polly can now compile all of Android. While most of Android is not the primary target of polyhedral data locality optimizations, Android provides us with a large and diverse set of robustness tests. Our new `nightly build bot `_ ensures we do not regress. Polly also successfully compiles `FFMPEG `_ and obviously the `LLVM test suite `_. --------------------------------------------------------- C++ bindings for isl math library improve maintainability --------------------------------------------------------- In the context of `Polly Labs `_, a new set of C++ bindings was developed for the isl math library. Thanks to the new isl C++ interface there is no need for manual memory management any more and programming with integer sets became easier in general. Today:: void isDiffEmptyOrUnionTheUniverse(isl::set S1, isl::set S2) { isl::set Difference = S1.subtract(S2); isl::set Union = S1.unite(S2); if (Difference.is_empty()) return true; if (Union.is_universe()) return true; return false; } Before:: void isDiffEmptyOrUnionTheUniverse(__isl_take isl_set S1, __isl_take isl_set S2) { isl_set *Difference = isl_set_subtract(isl_set_copy(S1), isl_set_copy(S2)); isl_set *Union = isl_set_union(S1, S2); isl_bool IsEmpty = isl_set_is_empty(Difference); isl_set_free(Difference); if (IsEmpty == isl_bool_error) llvm_unreachable(); if (IsEmpty) return true; isl_bool IsUniverse = isl_set_is_Universe(Union); isl_set_free(Union); if (IsUniverse == isl_bool_error) llvm_unreachable(); if (IsUniverse) return true; return false; } -------------------------- Improved Polly Diagnostics -------------------------- Polly now uses the LLVM OptimizationDiagnosticInfo API for emitting diagnostic remarks. This allows Polly remarks to appear in the yaml optimization record when compiling with the flag -fsave-optimization-record. This also allows Polly remarks to appear in the opt-viewer tool, allowing for remarks to be viewed next to the source code, and sorted by hotness. -------------------------- Polly-ACC works with Julia -------------------------- Polly can now offload Julia to GPUs. This feature is enabled by setting the USE_POLLY_ACC variable to 1, i.e. USE_POLLY_ACC:=1.