<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Transforms/InstCombine, branch release_33</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Transforms/InstCombine?h=release_33</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Transforms/InstCombine?h=release_33'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-05-06T21:21:31Z</updated>
<entry>
<title>InstCombine: (X ^ signbit) + C -&gt; X + (signbit ^ C)</title>
<updated>2013-05-06T21:21:31Z</updated>
<author>
<name>David Majnemer</name>
<email>david.majnemer@gmail.com</email>
</author>
<published>2013-05-06T21:21:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8ec23cb07e22198a720c4e151241059cca215c08'/>
<id>urn:sha1:8ec23cb07e22198a720c4e151241059cca215c08</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181249 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Provide InstCombines for the following 3 cases:</title>
<updated>2013-05-06T16:55:50Z</updated>
<author>
<name>Jean-Luc Duprat</name>
<email>jduprat@apple.com</email>
</author>
<published>2013-05-06T16:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c5cf6e536598a3b1e30fce616b771d66a071a54c'/>
<id>urn:sha1:c5cf6e536598a3b1e30fce616b771d66a071a54c</id>
<content type='text'>
A * (1 - (uitofp i1 C)) -&gt; select C, 0, A
B * (uitofp i1 C) -&gt; select C, B, 0
select C, 0, A + select C, B, 0 -&gt; select C, B, A

These come up in code that has been hand-optimized from a select to a linear blend, 
on platforms where that may have mattered. We want to undo such changes 
with the following transform:
A*(1 - uitofp i1 C) + B*(uitofp i1 C) -&gt; select C, A, B



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181216 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r164763 because it introduces new shuffles.</title>
<updated>2013-05-06T02:39:09Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-05-06T02:39:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4ee312bac138a18c39353d4736eb5921532f9624'/>
<id>urn:sha1:4ee312bac138a18c39353d4736eb5921532f9624</id>
<content type='text'>
Thanks Nick Lewycky for pointing this out.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181177 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>Tabs to spaces. No functionality change.</title>
<updated>2013-05-04T01:08:15Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2013-05-04T01:08:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=cd4e5e9b34c1f155cf4495431f7cc6e10e2d390b'/>
<id>urn:sha1:cd4e5e9b34c1f155cf4495431f7cc6e10e2d390b</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181082 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>Revert "InstCombine: Fold more shuffles of shuffles."</title>
<updated>2013-05-01T00:25:27Z</updated>
<author>
<name>Jim Grosbach</name>
<email>grosbach@apple.com</email>
</author>
<published>2013-05-01T00:25:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=10cc563bfe330cf4118b2f0db6706c244e77ebb3'/>
<id>urn:sha1:10cc563bfe330cf4118b2f0db6706c244e77ebb3</id>
<content type='text'>
This reverts commit r180802

There's ongoing discussion about whether this is the right place to make
this transformation. Reverting for now while we figure it out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180834 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>InstCombine: Fold more shuffles of shuffles.</title>
<updated>2013-04-30T20:43:52Z</updated>
<author>
<name>Jim Grosbach</name>
<email>grosbach@apple.com</email>
</author>
<published>2013-04-30T20:43:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6548096a2e2b34e685680e6e1055b8e407c2c243'/>
<id>urn:sha1:6548096a2e2b34e685680e6e1055b8e407c2c243</id>
<content type='text'>
Always fold a shuffle-of-shuffle into a single shuffle when there's only one
input vector in the first place. Continue to be more conservative when there's
multiple inputs.

rdar://13402653
PR15866

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180802 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a bug in foldSelectICmpAndOr.</title>
<updated>2013-04-30T10:36:33Z</updated>
<author>
<name>David Majnemer</name>
<email>david.majnemer@gmail.com</email>
</author>
<published>2013-04-30T10:36:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=527db3f26b2b5fc3855ff671344e9691cbd54d37'/>
<id>urn:sha1:527db3f26b2b5fc3855ff671344e9691cbd54d37</id>
<content type='text'>
Differences in bitwidth between X and Y could exist even if C1 and C2 have
the same Log2 representation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180779 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix "Combine bit test + conditional or into simple math"</title>
<updated>2013-04-30T08:57:58Z</updated>
<author>
<name>David Majnemer</name>
<email>david.majnemer@gmail.com</email>
</author>
<published>2013-04-30T08:57:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=defce4cfd607e013169033164def7a3e558bfd54'/>
<id>urn:sha1:defce4cfd607e013169033164def7a3e558bfd54</id>
<content type='text'>
This fixes the optimization introduced in r179748 and reverted in r179750.

While the optimization was sound, it did not properly respect differences in
bit-width.


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