<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Transforms/Vectorize, branch testing</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Transforms/Vectorize?h=testing</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Transforms/Vectorize?h=testing'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-03-14T18:54:36Z</updated>
<entry>
<title>LoopVectorize: Invert case when we use a vector cmp value to query select cost</title>
<updated>2013-03-14T18:54:36Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-03-14T18:54:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d517da33b712b5d8d687ee5e5974056a4787ec4f'/>
<id>urn:sha1:d517da33b712b5d8d687ee5e5974056a4787ec4f</id>
<content type='text'>
We generate a select with a vectorized condition argument when the condition is
NOT loop invariant. Not the other way around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177098 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Fixup debugging statements</title>
<updated>2013-03-10T20:57:42Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2013-03-10T20:57:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=76a05c93b13a8debec4497a6e4e753d7531709e5'/>
<id>urn:sha1:76a05c93b13a8debec4497a6e4e753d7531709e5</id>
<content type='text'>
After the recent data-structure improvements, a couple of debugging statements
were broken (printing pointer values).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176791 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Remove a source of nondeterminism from the LoopVectorizer.</title>
<updated>2013-03-09T19:22:40Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-03-09T19:22:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0d932717d8d22b0e747b15fddea2c718043e4d51'/>
<id>urn:sha1:0d932717d8d22b0e747b15fddea2c718043e4d51</id>
<content type='text'>
This made us emit runtime checks in a random order. Hopefully bootstrap
miscompares will go away now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176775 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorizer: Ignore all dbg intrinisic</title>
<updated>2013-03-09T16:27:27Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-03-09T16:27:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=738295e4570f502360c11bc51843f5a8516a9526'/>
<id>urn:sha1:738295e4570f502360c11bc51843f5a8516a9526</id>
<content type='text'>
Ignore all DbgIntriniscInfo instructions instead of just DbgValueInst.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176769 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorizer: Ignore dbg.value instructions</title>
<updated>2013-03-09T15:56:34Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-03-09T15:56:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=56ee544a3af2b019329f06422c00e8a3645b895c'/>
<id>urn:sha1:56ee544a3af2b019329f06422c00e8a3645b895c</id>
<content type='text'>
We want vectorization to happen at -g. Ignore calls to the dbg.value intrinsic
and don't transfer them to the vectorized code.

radar://13378964

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176768 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Insert the reduction start value into the first bypass block to preserve domination.</title>
<updated>2013-03-08T16:58:37Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-03-08T16:58:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f22d9cfa6d145ce26930804cc3ac54340f49c38b'/>
<id>urn:sha1:f22d9cfa6d145ce26930804cc3ac54340f49c38b</id>
<content type='text'>
Fixes PR15344.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176701 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>PR14448 - prevent the loop vectorizer from vectorizing the same loop twice.</title>
<updated>2013-03-02T01:33:49Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-03-02T01:33:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5290baacb8ca4fb75d798e873a441cad11cbfb2c'/>
<id>urn:sha1:5290baacb8ca4fb75d798e873a441cad11cbfb2c</id>
<content type='text'>
The LoopVectorizer often runs multiple times on the same function due to inlining.
When this happens the loop vectorizer often vectorizes the same loops multiple times, increasing code size and adding unneeded branches.
With this patch, the vectorizer during vectorization puts metadata on scalar loops and marks them as 'already vectorized' so that it knows to ignore them when it sees them a second time.

PR14448.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176399 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorize: Don't hang forever if a PHI only has skipped PHI uses.</title>
<updated>2013-03-01T19:07:31Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-03-01T19:07:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5d79bb8770a5a655af0dccc87b952c3ea9bad45e'/>
<id>urn:sha1:5d79bb8770a5a655af0dccc87b952c3ea9bad45e</id>
<content type='text'>
Fixes PR15384.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176366 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LoopVectorize: Vectorize math builtin calls.</title>
<updated>2013-02-27T15:24:19Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-02-27T15:24:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2fe71f8f7e678174ba217d3d16525092805ad45b'/>
<id>urn:sha1:2fe71f8f7e678174ba217d3d16525092805ad45b</id>
<content type='text'>
This properly asks TargetLibraryInfo if a call is available and if it is, it
can be translated into the corresponding LLVM builtin. We don't vectorize sqrt()
yet because I'm not sure about the semantics for negative numbers. The other
intrinsic should be exact equivalents to the libm functions.

Differential Revision: http://llvm-reviews.chandlerc.com/D465

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176188 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Allow GlobalValues to vectorize with AliasAnalysis</title>
<updated>2013-02-21T22:39:03Z</updated>
<author>
<name>Renato Golin</name>
<email>renato.golin@linaro.org</email>
</author>
<published>2013-02-21T22:39:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e18bce5317ff9f64b3c02418f28c6d383d88b294'/>
<id>urn:sha1:e18bce5317ff9f64b3c02418f28c6d383d88b294</id>
<content type='text'>
Storing the load/store instructions with the values
and inspect them using Alias Analysis to make sure
they don't alias, since the GEP pointer operand doesn't
take the offset into account.

Trying hard to not add any extra cost to loads and stores
that don't overlap on global values, AA is *only* calculated
if all of the previous attempts failed.

Using biggest vector register size as the stride for the
vectorization access, as we're being conservative and
the cost model (which calculates the real vectorization
factor) is only run after the legalization phase.

We might re-think this relationship in the future, but
for now, I'd rather be safe than sorry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175818 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
