<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/LoopVectorize, branch release_33</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/LoopVectorize?h=release_33</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/LoopVectorize?h=release_33'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-05-08T18:13:06Z</updated>
<entry>
<title>Merging r181286:</title>
<updated>2013-05-08T18:13:06Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-05-08T18:13:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c7594e48edb1b7a2ec9fc81981e539eac0604905'/>
<id>urn:sha1:c7594e48edb1b7a2ec9fc81981e539eac0604905</id>
<content type='text'>
------------------------------------------------------------------------
r181286 | arnolds | 2013-05-06 21:37:05 -0700 (Mon, 06 May 2013) | 7 lines

LoopVectorize: getConsecutiveVector must respect signed arithmetic

We were passing an i32 to ConstantInt::get where an i64 was needed and we must
also pass the sign if we pass negatives numbers. The start index passed to
getConsecutiveVector must also be signed.

Should fix PR15882.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@181455 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorize: Add support for floating point min/max reductions</title>
<updated>2013-05-05T01:54:48Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-05T01:54:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=87defd0924e08dd9c9db51e2fb208f289fa6adf7'/>
<id>urn:sha1:87defd0924e08dd9c9db51e2fb208f289fa6adf7</id>
<content type='text'>
Add support for min/max reductions when "no-nans-float-math" is enabled. This
allows us to assume we have ordered floating point math and treat ordered and
unordered predicates equally.

radar://13723044

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181144 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorize: We don't need an identity element for min/max reductions</title>
<updated>2013-05-05T01:54:42Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-05T01:54:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c1738fdadd1c969f13bbf09fe9c36fff56ccd709'/>
<id>urn:sha1:c1738fdadd1c969f13bbf09fe9c36fff56ccd709</id>
<content type='text'>
We can just use the initial element that feeds the reduction.

  max(max(x, y), z) == max(max(x,y), max(x,z))

radar://13723044

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181141 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorizer: Add support for if-conversion of PHINodes with 3+ incoming values.</title>
<updated>2013-05-03T17:42:55Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-05-03T17:42:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4bcd5f888fa762613cf8096a79ba7b8a72665de2'/>
<id>urn:sha1:4bcd5f888fa762613cf8096a79ba7b8a72665de2</id>
<content type='text'>
By supporting the vectorization of PHINodes with more than two incoming values we can increase the complexity of nested if statements.

We can now vectorize this loop:

int foo(int *A, int *B, int n) {
  for (int i=0; i &lt; n; i++) {
    int x = 9;
    if (A[i] &gt; B[i]) {
      if (A[i] &gt; 19) {
        x = 3;
      } else if (B[i] &lt; 4 ) {
        x = 4;
      } else {
        x = 5;
      }
    }
    A[i] = x;
  }
}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181037 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>TBAA: remove !tbaa from testing cases if not used.</title>
<updated>2013-05-02T18:11:35Z</updated>
<author>
<name>Manman Ren</name>
<email>mren@apple.com</email>
</author>
<published>2013-05-02T18:11:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=436849be6acc1b8fe28d27dac9baa49129710fb3'/>
<id>urn:sha1:436849be6acc1b8fe28d27dac9baa49129710fb3</id>
<content type='text'>
This will make it easier to turn on struct-path aware TBAA since the metadata
format will change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180935 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>TBAA: remove !tbaa from testing cases if not used.</title>
<updated>2013-04-30T17:52:57Z</updated>
<author>
<name>Manman Ren</name>
<email>mren@apple.com</email>
</author>
<published>2013-04-30T17:52:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2dc50d306752c8672d1543feb88517705cdb25e7'/>
<id>urn:sha1:2dc50d306752c8672d1543feb88517705cdb25e7</id>
<content type='text'>
This will make it easier to turn on struct-path aware TBAA since the metadata
format will change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180796 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorizer:  Calculate the number of pointers to disambiguate at runtime based on the numbers of reads and writes.</title>
<updated>2013-04-26T05:08:59Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-04-26T05:08:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7557e521e50180817a165f8c897220b0e2020b7b'/>
<id>urn:sha1:7557e521e50180817a165f8c897220b0e2020b7b</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180593 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorizer: No need to generate pointer disambiguation checks between readonly pointers. </title>
<updated>2013-04-25T19:55:03Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-04-25T19:55:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=975b1ddf60387139357c8cbbaeb613de5a39294f'/>
<id>urn:sha1:975b1ddf60387139357c8cbbaeb613de5a39294f</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180570 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorize: Scalarize padded types</title>
<updated>2013-04-24T16:16:01Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-04-24T16:16:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a4b8b4ccc9ecd6863606c7cdde6ec1b38734708a'/>
<id>urn:sha1:a4b8b4ccc9ecd6863606c7cdde6ec1b38734708a</id>
<content type='text'>
This patch disables memory-instruction vectorization for types that need padding
bytes, e.g., x86_fp80 has 10 bytes store size with 6 bytes padding in darwin on
x86_64. Because the load/store vectorization is performed by the bit casting to
a packed vector, which has incompatible memory layout due to the lack of padding
bytes, the present vectorizer produces inconsistent result for memory
instructions of those types.
This patch checks an equality of the AllocSize of a scalar type and allocated
size for each vector element, to ensure that there is no padding bytes and the
array can be read/written using vector operations.

Patch by Daisuke Takahashi!

Fixes PR15758.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180196 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorizer: Bail out if we don't have datalayout we need it</title>
<updated>2013-04-24T16:15:58Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-04-24T16:15:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b03ad17536097a0f172428c939e80ce7657e201b'/>
<id>urn:sha1:b03ad17536097a0f172428c939e80ce7657e201b</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180195 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
