<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Transforms/Vectorize, branch release_33</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Transforms/Vectorize?h=release_33</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Transforms/Vectorize?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>Update the comment to mention that we use TTI.</title>
<updated>2013-05-06T03:06:36Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-05-06T03:06:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=37d38b7668f3dd64e2263426c29253ace50865b3'/>
<id>urn:sha1:37d38b7668f3dd64e2263426c29253ace50865b3</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181178 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorize: Print values instead of pointers in debug output.</title>
<updated>2013-05-05T14:54:52Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-05-05T14:54:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=acc47c738d5888f7445275095a174c7f48296449'/>
<id>urn:sha1:acc47c738d5888f7445275095a174c7f48296449</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181157 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>LoopVectorizer: Cleanup of miminimum/maximum pattern match code</title>
<updated>2013-05-05T01:54:44Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-05T01:54:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f852472823fd2182a3ca54bdf4d30ad8a6a6cd57'/>
<id>urn:sha1:f852472823fd2182a3ca54bdf4d30ad8a6a6cd57</id>
<content type='text'>
No need for setting the operands. The pointers are going to be bound by the
matcher.

radar://13723044

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181142 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>Add ArrayRef constructor from None, and do the cleanups that this constructor enables</title>
<updated>2013-05-05T00:40:33Z</updated>
<author>
<name>Dmitri Gribenko</name>
<email>gribozavr@gmail.com</email>
</author>
<published>2013-05-05T00:40:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5c332dbd30d9398ed25b30c3080506f7b8e92290'/>
<id>urn:sha1:5c332dbd30d9398ed25b30c3080506f7b8e92290</id>
<content type='text'>
Patch by Robert Wilhelm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181138 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>This patch breaks up Wrap.h so that it does not have to include all of </title>
<updated>2013-05-01T20:59:00Z</updated>
<author>
<name>Filip Pizlo</name>
<email>fpizlo@apple.com</email>
</author>
<published>2013-05-01T20:59:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=40be1e85665d10f5444186f0e7106e368dd735b8'/>
<id>urn:sha1:40be1e85665d10f5444186f0e7106e368dd735b8</id>
<content type='text'>
the things, and renames it to CBindingWrapping.h.  I also moved 
CBindingWrapping.h into Support/.

This new file just contains the macros for defining different wrap/unwrap 
methods.

The calls to those macros, as well as any custom wrap/unwrap definitions 
(like for array of Values for example), are put into corresponding C++ 
headers.

Doing this required some #include surgery, since some .cpp files relied 
on the fact that including Wrap.h implicitly caused the inclusion of a 
bunch of other things.

This also now means that the C++ headers will include their corresponding 
C API headers; for example Value.h must include llvm-c/Core.h.  I think 
this is harmless, since the C API headers contain just external function 
declarations and some C types, so I don't believe there should be any 
nasty dependency issues here.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180881 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a typo</title>
<updated>2013-04-30T21:04:51Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-04-30T21:04:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7fac0ef71cfaeafd91b9520b553d00d91f83a442'/>
<id>urn:sha1:7fac0ef71cfaeafd91b9520b553d00d91f83a442</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180806 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
