<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/BBVectorize, branch release_32</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/BBVectorize?h=release_32</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/BBVectorize?h=release_32'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-11-29T00:38:51Z</updated>
<entry>
<title>Merge in r168765 (BBVectorize bug fix)</title>
<updated>2012-11-29T00:38:51Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-11-29T00:38:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0416bc140fb88b3e5a0d5ce3a278655b1a539324'/>
<id>urn:sha1:0416bc140fb88b3e5a0d5ce3a278655b1a539324</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_32@168839 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merge BBVectorizer changes r167731, r167743, r167750, r167784, r167811, r167817.</title>
<updated>2012-11-14T22:58:30Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-11-14T22:58:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=adea7bc349a18a1c8f9ba94bff61d5938075e600'/>
<id>urn:sha1:adea7bc349a18a1c8f9ba94bff61d5938075e600</id>
<content type='text'>
These changes fix a serious interaction problem with the cost model on x86 that
could cause the vectorizer to enter an infinite loop (and sometimes crash in
other ways).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_32@167993 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Commit the rest of the test-case change.</title>
<updated>2012-11-01T21:57:27Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-11-01T21:57:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4ac300dfac53022e690fc9a60deb42976c369a6f'/>
<id>urn:sha1:4ac300dfac53022e690fc9a60deb42976c369a6f</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167257 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Use target costs for incoming and outgoing values instead of the depth heuristic.</title>
<updated>2012-11-01T21:50:12Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-11-01T21:50:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=78fd353d5e5daedc47ecc31b6193ca48793c249c'/>
<id>urn:sha1:78fd353d5e5daedc47ecc31b6193ca48793c249c</id>
<content type='text'>
When target cost information is available, compute explicit costs of inserting and
extracting values from vectors. At this point, all costs are estimated using the
target information, and the chain-depth heuristic is not needed. As a result, it is now, by
default, disabled when using target costs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167256 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Choose pair ordering to minimize shuffles</title>
<updated>2012-10-31T15:17:07Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-10-31T15:17:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=72465ea23d010507d3746adc126d719005981e05'/>
<id>urn:sha1:72465ea23d010507d3746adc126d719005981e05</id>
<content type='text'>
BBVectorize would, except for loads and stores, always fuse instructions
so that the first instruction (in the current source order) would always
represent the low part of the input vectors and the second instruction
would always represent the high part. This lead to too many shuffles
being produced because sometimes the opposite order produces fewer of them.

With this change, BBVectorize tracks the kind of pair connections that form
the DAG of candidate pairs, and uses that information to reorder the pairs to
avoid excess shuffles. Using this information, a future commit will be able
to add VTTI-based shuffle costs to the pair selection procedure. Importantly,
the number of remaining shuffles can now be estimated during pair selection.

There are some trivial instruction reorderings in the test cases, and one
simple additional test where we certainly want to do a reordering to
avoid an unnecessary shuffle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167122 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Fix a small bug introduced in r167042.</title>
<updated>2012-10-30T19:47:37Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-10-30T19:47:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8a69a95f913dadae92d2ce0b3ac551610bf868e0'/>
<id>urn:sha1:8a69a95f913dadae92d2ce0b3ac551610bf868e0</id>
<content type='text'>
We need to make sure that we take the correct load/store alignment
when the inputs are flipped.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167044 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Remove an invalid assert in TargetTransformImpl</title>
<updated>2012-10-30T02:41:57Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-10-30T02:41:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c588e0e162fa08c81558871fb0c50fb51569afe3'/>
<id>urn:sha1:c588e0e162fa08c81558871fb0c50fb51569afe3</id>
<content type='text'>
getCastInstrCost had an assert prohibiting scalar to vector casts. Such casts,
however, are allowed. This should make the vectorizer buildbot happier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166998 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Move target-specific BBVectorize tests into a separate directory.</title>
<updated>2012-10-26T19:38:09Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-10-26T19:38:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=ecc69a1d99963b2b1bba92bdcefbfa8a8f1c497a'/>
<id>urn:sha1:ecc69a1d99963b2b1bba92bdcefbfa8a8f1c497a</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166802 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Disable generation of pointer vectors by BBVectorize.</title>
<updated>2012-10-26T00:05:26Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-10-26T00:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=822ab00847da841a63be4e3883cb5f442dc69069'/>
<id>urn:sha1:822ab00847da841a63be4e3883cb5f442dc69069</id>
<content type='text'>
Once vector-of-pointer support works, then this can be reverted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166741 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add CPU model to BBVectorize cost-model tests.</title>
<updated>2012-10-25T21:31:51Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-10-25T21:31:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=32ff623c8bd3b6c0751874bceeb3e9062b1a9726'/>
<id>urn:sha1:32ff623c8bd3b6c0751874bceeb3e9062b1a9726</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166720 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
