<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/BBVectorize, branch stable</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/BBVectorize?h=stable</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/BBVectorize?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-02-20T07:21:42Z</updated>
<entry>
<title>Modify the LLVM assembly output so that it uses references to represent function attributes.</title>
<updated>2013-02-20T07:21:42Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-02-20T07:21:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7ab6c76ad1cbf36284ca5b6bd5ee33c625fe3e60'/>
<id>urn:sha1:7ab6c76ad1cbf36284ca5b6bd5ee33c625fe3e60</id>
<content type='text'>
This makes the LLVM assembly look better. E.g.:

     define void @foo() #0 { ret void }
     attributes #0 = { nounwind noinline ssp }


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175605 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Fix an invalid reference bug</title>
<updated>2013-02-17T15:59:26Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2013-02-17T15:59:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f79f136cc64b0625b77c7b9008ed8c5b848b6b17'/>
<id>urn:sha1:f79f136cc64b0625b77c7b9008ed8c5b848b6b17</id>
<content type='text'>
This fixes PR15289. This bug was introduced (recently) in r175215; collecting
all std::vector references for candidate pairs to delete at once is invalid
because subsequent lookups in the owning DenseMap could invalidate the
references.

bugpoint was able to reduce a useful test case. Unfortunately, because whether
or not this asserts depends on memory layout, this test case will sometimes
appear to produce valid output. Nevertheless, running under valgrind will
reveal the error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175397 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Switch BBVectorize to directly depend on having a TTI analysis.</title>
<updated>2013-01-07T10:22:36Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2013-01-07T10:22:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8bd6c52396ab6e7955fdcc1bce099b7cba29a308'/>
<id>urn:sha1:8bd6c52396ab6e7955fdcc1bce099b7cba29a308</id>
<content type='text'>
This could be simplified further, but Hal has a specific feature for
ignoring TTI, and so I preserved that.

Also, I needed to use it because a number of tests fail when switching
from a null TTI to the NoTTI nonce implementation. That seems suspicious
to me and so may be something that you need to look into Hal. I worked
it by preserving the old behavior for these tests with the flag that
ignores all target info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171722 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make opt grab the triple from the module and use it to initialize the target machine.</title>
<updated>2013-01-01T08:00:32Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-01-01T08:00:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b338d897f9063ed6f02ed52527722c61ef827d5a'/>
<id>urn:sha1:b338d897f9063ed6f02ed52527722c61ef827d5a</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171341 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Use VTTI to compute costs for intrinsics vectorization</title>
<updated>2012-12-26T01:36:57Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-12-26T01:36:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a77728415857196035c0090f7b2749d7971811a2'/>
<id>urn:sha1:a77728415857196035c0090f7b2749d7971811a2</id>
<content type='text'>
For the time being this includes only some dummy test cases. Once the
generic implementation of the intrinsics cost function does something other
than assuming scalarization in all cases, or some target specializes the
interface, some real test cases can be added.

Also, for consistency, I changed the type of IID from unsigned to Intrinsic::ID
in a few other places.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171079 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Enable vectorization of the fmuladd intrinsic</title>
<updated>2012-12-25T22:36:08Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-12-25T22:36:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=64a7a24edf719bb6ffacc030c23f4cd99312f3fb'/>
<id>urn:sha1:64a7a24edf719bb6ffacc030c23f4cd99312f3fb</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171075 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Correctly merge SubclassOptionalData</title>
<updated>2012-11-28T03:04:10Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-11-28T03:04:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=430b9079c614cd3f45015a6516590d33742cc802'/>
<id>urn:sha1:430b9079c614cd3f45015a6516590d33742cc802</id>
<content type='text'>
When two instructions are combined into a vector instruction,
the resulting instruction must have the most-conservative flags.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168765 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Don't vectorize vector-manipulation chains</title>
<updated>2012-11-13T03:12:40Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-11-13T03:12:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4387b8c95971a512e07bfda30dea6459e8419e8f'/>
<id>urn:sha1:4387b8c95971a512e07bfda30dea6459e8419e8f</id>
<content type='text'>
Don't choose a vectorization plan containing only shuffles and
vector inserts/extracts. Due to inperfections in the cost model,
these can lead to infinite recusion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167811 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Only some insert element operand pairs are free.</title>
<updated>2012-11-12T23:55:36Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-11-12T23:55:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b2b2469a9178f7e22cd7a69f3093e54d67d6b712'/>
<id>urn:sha1:b2b2469a9178f7e22cd7a69f3093e54d67d6b712</id>
<content type='text'>
This fixes another infinite recursion case when using target costs.
We can only replace insert element input chains that are pure (end
with inserting into an undef).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167784 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>BBVectorize: Use a more sophisticated check for input cost</title>
<updated>2012-11-12T21:21:02Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-11-12T21:21:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=86c88c938aec8006d2ce83325ec1f31e1154620b'/>
<id>urn:sha1:86c88c938aec8006d2ce83325ec1f31e1154620b</id>
<content type='text'>
The old checking code, which assumed that input shuffles and insert-elements
could always be folded (and thus were free) is too simple.
This can only happen in special circumstances.
Using the simple check caused infinite recursion.

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