diff options
-rw-r--r-- | polly/docs/ReleaseNotes.rst | 102 |
1 files changed, 2 insertions, 100 deletions
diff --git a/polly/docs/ReleaseNotes.rst b/polly/docs/ReleaseNotes.rst index 780b6e3d437..d1ed192c799 100644 --- a/polly/docs/ReleaseNotes.rst +++ b/polly/docs/ReleaseNotes.rst @@ -2,7 +2,7 @@ Release Notes (upcoming) ======================== -In Polly 3.9 the following important changes have been incorporated. +In Polly 5 the following important changes have been incorporated. .. warning:: @@ -10,103 +10,5 @@ In Polly 3.9 the following important changes have been incorporated. the new features that have recently been committed to our development branch. -Polly directly available in clang/opt/bugpoint ----------------------------------------------- - -Polly supported since a long time to be directly linked into tools such as -opt/clang/bugpoint. Since this release, the default for a source checkout that -contains Polly is to provide Polly directly through these tools, rather than as -an additional module. This makes using Polly significantly easier. - -Instead of - -.. code-block:: bash - - opt -load lib/LLVMPolly.so -O3 -polly file.ll - clang -Xclang -load -Xclang lib/LLVMPolly.so -O3 -mllvm -polly file.ll - -one can now use - -.. code-block:: bash - - opt -O3 -polly file.ll - clang -O3 -mllvm -polly file.c - - -Increased analysis coverage ---------------------------- - -Polly's modeling has been improved to increase the applicability of Polly. The -following code pieces are newly supported: - -Arrays accessed through different types -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -It is not uncommon that one array stores elements of different types. Polly now -can model and optimize such code. - -.. code-block:: c - - void multiple_types(char *Short, char *Float, char *Double) { - for (long i = 0; i < 100; i++) { - Short[i] = *(short *)&Short[2 * i]; - Float[i] = *(float *)&Float[4 * i]; - Double[i] = *(double *)&Double[8 * i]; - } - } - - -If the accesses are not aligned with the size of the access type we model them -as multiple accesses to an array of smaller elements. This is especially -useful for structs containing different typed elements as accesses to them are -represented using only one base pointer, namely the ``struct`` itself. In the -example below the accesses to ``s`` are all modeled as if ``s`` was a single -char array because the accesses to ``s->A`` and ``s->B`` are not aligned with -their respective type size (both are off-by-one due to the ``char`` field in -the ``struct``). - -.. code-block:: c - - struct S { - char Offset; - int A[100]; - double B[100]; - }; - - void struct_accesses(struct S *s) { - for (long i = 0; i < 100; i++) - s->B[i] += s->A[i]; - } - - - -Function calls with known side effects -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Function calls that have only known memory effects can be represented as -accesses in the polyhedral model. While calls without side effects were -supported before, we now allow and model two other kinds. The first are -intrinsic calls to ``memcpy``, ``memmove`` and ``memset``. These calls can be -represented precisely if the pointers involved are known and the given length -is affine. Additionally, we allow to over-approximate function calls that are -known only to read memory, read memory accessible through pointer arguments or -access only memory accessible through pointer arguments. See also the function -attributes ``readonly`` and ``argmemonly`` for more information. - -Fine-grain dependences analysis -------------------------------- - -In addition of the ScopStmt wise dependences analysis, now the "polly-dependence" -pass provides dependences analysis at memory reference wise and memory access wise. -The memory reference wise analysis distinguishes the accessed references in the -same statement, and generates dependences relationships between (statement, reference) -pairs. The memory access wise analysis distinguishes accesses in the same statement, -and generates dependences relationships between (statement, access) pairs. These -fine-grain dependences are enabled by "-polly-dependences-analysis-level=reference-wise" -and "-polly-dependences-analysis-level=access-wise", respectively. - -Update of the isl math library ------------------------------- - -We imported the latest version of the isl math library into Polly. +- Change ... |