Add global structure vectorization to docs

llvm-svn: 175965
This commit is contained in:
Renato Golin 2013-02-23 13:25:41 +00:00
parent 0890ace58a
commit f2ea19ea2e
1 changed files with 19 additions and 0 deletions

View File

@ -206,6 +206,25 @@ vectorization is profitable.
A[i] += 4 * B[i];
}
Global Structures Alias Analysis
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Access to global structures can also be vectorized, with alias analysis being
used to make sure accesses don't alias. Run-time checks can also be added on
pointer access to structure members.
Many variations are supported, but some that rely on undefined behaviour being
ignored (as other compilers do) are still being left un-vectorized.
.. code-block:: c++
struct { int A[100], K, B[100]; } Foo;
int foo() {
for (int i = 0; i < 100; ++i)
Foo.A[i] = Foo.B[i] + 100;
}
Vectorization of function calls
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^