<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Transforms/Vectorize, branch master</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Transforms/Vectorize?h=master</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Transforms/Vectorize?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-05-14T00:21:18Z</updated>
<entry>
<title>LoopVectorize: Handle loops with multiple forward inductions</title>
<updated>2013-05-14T00:21:18Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-14T00:21:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=123f18bcb9baeb6dc177cb642126a3a4d9ca8b43'/>
<id>urn:sha1:123f18bcb9baeb6dc177cb642126a3a4d9ca8b43</id>
<content type='text'>
We used to give up if we saw two integer inductions. After this patch, we base
further induction variables on the chosen one like we do in the reverse
induction and pointer induction case.

Fixes PR15720.

radar://13851975

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181746 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Suppress GCC compiler warnings in release builds about variables that are only</title>
<updated>2013-05-13T07:50:47Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2013-05-13T07:50:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b99052ce4a75a3eac638afcd5171903514aa28e9'/>
<id>urn:sha1:b99052ce4a75a3eac638afcd5171903514aa28e9</id>
<content type='text'>
read in asserts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181689 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>SLPVectorizer: Swap LHS and RHS. No functionality change.</title>
<updated>2013-05-13T05:13:13Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-05-13T05:13:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=985eb9004c280f4921e4bb450d6b3ee2ce75f634'/>
<id>urn:sha1:985eb9004c280f4921e4bb450d6b3ee2ce75f634</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181684 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>SLPVectorizer: Fix a bug in the code that generates extracts for values with multiple users.</title>
<updated>2013-05-12T22:58:45Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-05-12T22:58:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=507b9242ed3cbac13a1c4c58fe28188e1a0d6fa6'/>
<id>urn:sha1:507b9242ed3cbac13a1c4c58fe28188e1a0d6fa6</id>
<content type='text'>
The external user does not have to be in lane #0. We have to save the lane for each scalar so that we know which vector lane to extract.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181674 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>SLPVectorizer: Clear the map that maps between scalars to vectors after each round of vectorization.</title>
<updated>2013-05-12T22:55:57Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-05-12T22:55:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=57e02b3358e8caeddb093fab88fee6f73cd5d597'/>
<id>urn:sha1:57e02b3358e8caeddb093fab88fee6f73cd5d597</id>
<content type='text'>
Testcase in the next commit.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181673 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorize: Use the widest induction variable type</title>
<updated>2013-05-11T23:04:28Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-11T23:04:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=9b5d70f07630f99f1ec5589aeaba96c6d8ab0aee'/>
<id>urn:sha1:9b5d70f07630f99f1ec5589aeaba96c6d8ab0aee</id>
<content type='text'>
Use the widest induction type encountered for the cannonical induction variable.

We used to turn the following loop into an empty loop because we used i8 as
induction variable type and truncated 1024 to 0 as trip count.

int a[1024];
void fail() {
  int reverse_induction = 1023;
  unsigned char forward_induction = 0;
  while ((reverse_induction) &gt;= 0) {
    forward_induction++;
    a[reverse_induction] = forward_induction;
    --reverse_induction;
  }
}

radar://13862901

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181667 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorize: Use variable instead of repeated function call</title>
<updated>2013-05-11T23:04:26Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-11T23:04:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6bb539a643b385520c25f3b03199f68012b9c09b'/>
<id>urn:sha1:6bb539a643b385520c25f3b03199f68012b9c09b</id>
<content type='text'>
No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181666 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorize: Use IRBuilder interface in more places</title>
<updated>2013-05-11T23:04:24Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-11T23:04:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8112d227017f70b870217b4c96841d1dc5e95277'/>
<id>urn:sha1:8112d227017f70b870217b4c96841d1dc5e95277</id>
<content type='text'>
No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181665 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>SLPVectorizer: Add support for trees with external users.</title>
<updated>2013-05-10T22:59:33Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-05-10T22:59:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=9bba9f630005409f43bc3b0480e18fa9f8d43e69'/>
<id>urn:sha1:9bba9f630005409f43bc3b0480e18fa9f8d43e69</id>
<content type='text'>
For example:
bar() {
  int a = A[i];
  int b = A[i+1];
  B[i] = a;
  B[i+1] = b;
  foo(a);  &lt;--- a is used outside the vectorized expression.
}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181648 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add a debug print</title>
<updated>2013-05-10T22:56:18Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-05-10T22:56:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=09ec4b21648700f9d4ef5bc90d732f90f32c930c'/>
<id>urn:sha1:09ec4b21648700f9d4ef5bc90d732f90f32c930c</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181647 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
