<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/InstSimplify, branch release_29</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/InstSimplify?h=release_29</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/InstSimplify?h=release_29'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2011-03-05T05:19:11Z</updated>
<entry>
<title>Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw whenever</title>
<updated>2011-03-05T05:19:11Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2011-03-05T05:19:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=58bfcdbcf6a7c1cac0187f7c6beb3afe9d8f5411'/>
<id>urn:sha1:58bfcdbcf6a7c1cac0187f7c6beb3afe9d8f5411</id>
<content type='text'>
possible. This goes into instcombine and instsimplify because instsimplify
doesn't need to check hasOneUse since it returns (almost exclusively) constants.

This fixes PR9343 #4 #5 and #8!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127064 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert broken srem logic from r126991.</title>
<updated>2011-03-04T19:26:08Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2011-03-04T19:26:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e2ee753bc440d373717b8fd06c062d50f1005268'/>
<id>urn:sha1:e2ee753bc440d373717b8fd06c062d50f1005268</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127021 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fold "icmp pred (srem X, Y), Y" like we do for urem. Handle signed comparisons</title>
<updated>2011-03-04T10:06:52Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2011-03-04T10:06:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=786792784e898f29febb3e7270d54b0e21e3c904'/>
<id>urn:sha1:786792784e898f29febb3e7270d54b0e21e3c904</id>
<content type='text'>
in the urem case, though not the other way around. This is enough to get #3 from
PR9343!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126991 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach instruction simplify to use constant ranges to solve problems of the form</title>
<updated>2011-03-04T07:00:57Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2011-03-04T07:00:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3a73e343d02ba3a00adf03311183cc0ccc960978'/>
<id>urn:sha1:3a73e343d02ba3a00adf03311183cc0ccc960978</id>
<content type='text'>
"icmp pred %X, CI" and a number of examples where "%X = binop %Y, CI2".

Some of these cases (div and rem) used to make it through opt -O2, but the
others are probably now making code elsewhere redundant (probably instcombine).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126988 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Optimize "icmp pred (urem X, Y), Y" --&gt; true/false depending on pred. There's</title>
<updated>2011-03-01T08:15:50Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2011-03-01T08:15:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=88cd0aadb2849a259e8656b0ff8439ef660db7c5'/>
<id>urn:sha1:88cd0aadb2849a259e8656b0ff8439ef660db7c5</id>
<content type='text'>
more work to do here, "icmp ult (urem X, 10), 11" doesn't optimize away yet.
Fixes example 3 from PR9343!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126741 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach instsimplify that X+Y&gt;=X+Z is the same as Y&gt;=Z if neither side overflows,</title>
<updated>2011-02-13T17:15:40Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2011-02-13T17:15:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=52fb846578714d14bbde9b28884a6a8729217677'/>
<id>urn:sha1:52fb846578714d14bbde9b28884a6a8729217677</id>
<content type='text'>
plus some variations of this.  According to my auto-simplifier this occurs a lot
but usually in combination with max/min idioms.  Because max/min aren't handled
yet this unfortunately doesn't have much effect in the testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125462 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach instsimplify some tricks about exact/nuw/nsw shifts.</title>
<updated>2011-02-09T17:15:04Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2011-02-09T17:15:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=81a0dc911586c77421c2255aa417dc9b350b9e20'/>
<id>urn:sha1:81a0dc911586c77421c2255aa417dc9b350b9e20</id>
<content type='text'>
improve interfaces to instsimplify to take this info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125196 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>teach instsimplify to transform (X / Y) * Y to X</title>
<updated>2011-02-06T22:05:31Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2011-02-06T22:05:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c6ee9181a51fdfa3c07e1e53695681c55aa98ce4'/>
<id>urn:sha1:c6ee9181a51fdfa3c07e1e53695681c55aa98ce4</id>
<content type='text'>
when the div is an exact udiv.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124994 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>rename test.</title>
<updated>2011-02-06T21:59:10Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2011-02-06T21:59:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c35a44d3d73a429e59fb3044ee723db0511862f2'/>
<id>urn:sha1:c35a44d3d73a429e59fb3044ee723db0511862f2</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124993 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Improve threading of comparisons over select instructions (spotted by my</title>
<updated>2011-02-03T09:37:39Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2011-02-03T09:37:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=50ca4d37f7f3b460c6441eb5ad14625a7d86b5d9'/>
<id>urn:sha1:50ca4d37f7f3b460c6441eb5ad14625a7d86b5d9</id>
<content type='text'>
auto-simplifier).  This has a big impact on Ada code, but not much else.
Unfortunately the impact is mostly negative!  This is due to PR9004 (aka
SCCP failing to resolve conditional branch conditions in the destination
blocks of the branch), in which simple correlated expressions are not
resolved but complicated ones are, so simplifying has a bad effect!


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