<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Transforms/InstCombine, branch release_27</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Transforms/InstCombine?h=release_27</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Transforms/InstCombine?h=release_27'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2010-03-06T10:59:25Z</updated>
<entry>
<title>Let the fallthrough handle whether or not we've changed anything</title>
<updated>2010-03-06T10:59:25Z</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@apple.com</email>
</author>
<published>2010-03-06T10:59:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7b323a34fa034389e9e439f6c02eeb73e87ab9db'/>
<id>urn:sha1:7b323a34fa034389e9e439f6c02eeb73e87ab9db</id>
<content type='text'>
before we try to optimize.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97876 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Migrate _chk call lowering from SimplifyLibCalls to InstCombine. Stub</title>
<updated>2010-03-06T10:50:38Z</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@apple.com</email>
</author>
<published>2010-03-06T10:50:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=27ceaa13f820e33c44e29adc2095dd3e1e69d09f'/>
<id>urn:sha1:27ceaa13f820e33c44e29adc2095dd3e1e69d09f</id>
<content type='text'>
out the remainder of the calls that we should lower in some way and
move the tests to the new correct directory. Fix up tests that are now
optimized more than they were before by -instcombine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97875 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Temporarily revert:</title>
<updated>2010-03-06T03:11:35Z</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@apple.com</email>
</author>
<published>2010-03-06T03:11:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=75f0d6953a8492ec21f3b82489090a1152f1f516'/>
<id>urn:sha1:75f0d6953a8492ec21f3b82489090a1152f1f516</id>
<content type='text'>
Log:
Transform @llvm.objectsize to integer if the argument is a result of malloc of known size.

Modified:
   llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpp
   llvm/trunk/test/Transforms/InstCombine/objsize.ll

It appears to be causing swb and nightly test failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97866 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Transform @llvm.objectsize to integer if the argument is a result of malloc of known size.</title>
<updated>2010-03-06T01:01:42Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2010-03-06T01:01:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=fc8ccfedbba651e324d827de6693aad1491314c7'/>
<id>urn:sha1:fc8ccfedbba651e324d827de6693aad1491314c7</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97860 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Instcombine should turn llvm.objectsize of a alloca with static size to an integer.</title>
<updated>2010-03-05T20:47:23Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2010-03-05T20:47:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a862326bc72be147d9f668b84b9187258e690dc4'/>
<id>urn:sha1:a862326bc72be147d9f668b84b9187258e690dc4</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97827 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>fix PR6512, a case where instcombine would incorrectly merge loads</title>
<updated>2010-03-05T18:53:28Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2010-03-05T18:53:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4c5fb1a311a7a5e3ceb802f5b26329d30f2713b1'/>
<id>urn:sha1:4c5fb1a311a7a5e3ceb802f5b26329d30f2713b1</id>
<content type='text'>
from different addr spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97813 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix PR6503.  This turned into a much more interesting and nasty bug.  Various </title>
<updated>2010-03-05T08:46:26Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2010-03-05T08:46:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f34f48c57870cf4eb4d48e23b11e29b95d1950c3'/>
<id>urn:sha1:f34f48c57870cf4eb4d48e23b11e29b95d1950c3</id>
<content type='text'>
parts of the cmp|cmp and cmp&amp;cmp folding logic wasn't prepared for vectors
(unrelated to the bug but noticed while in the code) and the code was 
*definitely* not safe to use by the (cast icmp)|(cast icmp) handling logic
that I added in r95855.  Fix all this up by changing the various routines
to more consistently use IRBuilder and not pass in the I which had the wrong 
type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97801 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>simplify some functions and make them work with vector</title>
<updated>2010-03-05T07:47:57Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2010-03-05T07:47:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d6f645ac09a28b5b45f390b2597444514be8a70e'/>
<id>urn:sha1:d6f645ac09a28b5b45f390b2597444514be8a70e</id>
<content type='text'>
compares, noticed by inspection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97795 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add missing break for Intrinsic::objectsize case. It was falling through to the following Intrinsic::bswap code. I have no idea why it wasn't breaking stuff.</title>
<updated>2010-03-05T01:22:47Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2010-03-05T01:22:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f79d6246e6b6a83e31a1360e80f828707a51f98e'/>
<id>urn:sha1:f79d6246e6b6a83e31a1360e80f828707a51f98e</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97774 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>This test case:</title>
<updated>2010-03-03T00:35:56Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2010-03-03T00:35:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7d9f2b93a356aa89186522bd61c5c565718ff555'/>
<id>urn:sha1:7d9f2b93a356aa89186522bd61c5c565718ff555</id>
<content type='text'>
long test(long x) { return (x &amp; 123124) | 3; }

Currently compiles to:

_test:
        orl     $3, %edi
        movq    %rdi, %rax
        andq    $123127, %rax
        ret

This is because instruction and DAG combiners canonicalize

  (or (and x, C), D) -&gt; (and (or, D), (C | D))

However, this is only profitable if (C &amp; D) != 0. It gets in the way of the
3-addressification because the input bits are known to be zero.


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