summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/docs/ReleaseNotes.rst23
1 files changed, 23 insertions, 0 deletions
diff --git a/polly/docs/ReleaseNotes.rst b/polly/docs/ReleaseNotes.rst
index 1f75ead6a4e..5de20536845 100644
--- a/polly/docs/ReleaseNotes.rst
+++ b/polly/docs/ReleaseNotes.rst
@@ -26,6 +26,29 @@ can model and optimize such code.
}
}
+
+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
+usefull 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];
+ }
+
Update of the isl math library
------------------------------
OpenPOWER on IntegriCloud