<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/InstCombine, branch master</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/InstCombine?h=master</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/InstCombine?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-05-12T00:07:05Z</updated>
<entry>
<title>InstCombine: Flip the order of two urem transforms</title>
<updated>2013-05-12T00:07:05Z</updated>
<author>
<name>David Majnemer</name>
<email>david.majnemer@gmail.com</email>
</author>
<published>2013-05-12T00:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=fa49d7d6e4384381e4307a0d2495e6e5b15821e3'/>
<id>urn:sha1:fa49d7d6e4384381e4307a0d2495e6e5b15821e3</id>
<content type='text'>
There are two transforms in visitUrem that conflict with each other.

*) One, if a divisor is a power of two, subtracts one from the divisor
   and turns it into a bitwise-and.
*) The other unwraps both operands if they are surrounded by zext
   instructions.

Flipping the order allows the subtraction to go beneath the sign
extension.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181668 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>InstCombine: Turn urem to bitwise-and more often</title>
<updated>2013-05-11T09:01:28Z</updated>
<author>
<name>David Majnemer</name>
<email>david.majnemer@gmail.com</email>
</author>
<published>2013-05-11T09:01:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a8ccefc0a31c868c79cfc028e2a957269de5aba6'/>
<id>urn:sha1:a8ccefc0a31c868c79cfc028e2a957269de5aba6</id>
<content type='text'>
Use isKnownToBeAPowerOfTwo in visitUrem so that we may more aggressively
fold away urem instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181661 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>InstCombine: Don't claim to be able to evaluate any shl in a zexted type.</title>
<updated>2013-05-10T16:26:37Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-05-10T16:26:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7159a307b9a0a53f9a33e416d24b9308ef547d97'/>
<id>urn:sha1:7159a307b9a0a53f9a33e416d24b9308ef547d97</id>
<content type='text'>
The shift amount may be larger than the type leading to undefined behavior.
Limit the transform to constant shift amounts. While there update the bits to
clear in the result which may enable additional optimizations.

PR15959.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181604 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>InstCombine: Verify the type before transforming uitofp into select.</title>
<updated>2013-05-10T09:16:52Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-05-10T09:16:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=51dab6e3945a6d06a713869967ced3a8f9fb6294'/>
<id>urn:sha1:51dab6e3945a6d06a713869967ced3a8f9fb6294</id>
<content type='text'>
PR15952.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181586 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>InstCombine: Don't just copy known bits from the first operand of an srem.</title>
<updated>2013-05-09T16:32:32Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-05-09T16:32:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a6ff92a975f2d6ef6a0db7aeaee3ee9fd046307a'/>
<id>urn:sha1:a6ff92a975f2d6ef6a0db7aeaee3ee9fd046307a</id>
<content type='text'>
That's obviously wrong. Conservatively restrict it to the sign bit, which
matches the original intention of this analysis. Fixes PR15940.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181518 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<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>Test results verified using FileCheck rather than grep | count</title>
<updated>2013-05-06T18:45:16Z</updated>
<author>
<name>Jean-Luc Duprat</name>
<email>jduprat@apple.com</email>
</author>
<published>2013-05-06T18:45:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0aa2b8800c105fdb8635935aba317584ea677e66'/>
<id>urn:sha1:0aa2b8800c105fdb8635935aba317584ea677e66</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181234 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix add4.ll test cmdline so that it passes</title>
<updated>2013-05-06T17:18:47Z</updated>
<author>
<name>Jean-Luc Duprat</name>
<email>jduprat@apple.com</email>
</author>
<published>2013-05-06T17:18:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=81fa2abc8551d65a1085fd0df196531093e57472'/>
<id>urn:sha1:81fa2abc8551d65a1085fd0df196531093e57472</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181219 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>
</feed>
