<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Transforms/InstCombine, branch stable</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Transforms/InstCombine?h=stable</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Transforms/InstCombine?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-03-28T01:28:02Z</updated>
<entry>
<title>Check if Type is a vector before calling function Type::getVectorNumElements.</title>
<updated>2013-03-28T01:28:02Z</updated>
<author>
<name>Akira Hatanaka</name>
<email>ahatanaka@mips.com</email>
</author>
<published>2013-03-28T01:28:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d7216a28d6a07a4ea4047a14427c16b96feeb36f'/>
<id>urn:sha1:d7216a28d6a07a4ea4047a14427c16b96feeb36f</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178208 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make InstCombineCasts.cpp:OptimizeIntToFloatBitCast endian safe.</title>
<updated>2013-03-26T15:36:14Z</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2013-03-26T15:36:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=fdc6177490404b7dac178f24671fb3ea39bae791'/>
<id>urn:sha1:fdc6177490404b7dac178f24671fb3ea39bae791</id>
<content type='text'>
The OptimizeIntToFloatBitCast converts shift-truncate sequences
into extractelement operations.  The computation of the element
index to be used in the resulting operation is currently only
correct for little-endian targets.

This commit fixes the element index computation to be correct
for big-endian targets as well.  If the target byte order is
unknown, the optimization cannot be performed at all.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178031 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a bug in fast-math fadd/fsub simplification. </title>
<updated>2013-03-25T20:43:41Z</updated>
<author>
<name>Shuxin Yang</name>
<email>shuxin.llvm@gmail.com</email>
</author>
<published>2013-03-25T20:43:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c76067b7746f15879232c2aa27cf5c1ca35b3449'/>
<id>urn:sha1:c76067b7746f15879232c2aa27cf5c1ca35b3449</id>
<content type='text'>
The problem is that the code mistakenly took for granted that following constructor 
is able to create an APFloat from a *SIGNED* integer:
   
  APFloat::APFloat(const fltSemantics &amp;ourSemantics, integerPart value)

rdar://13486998


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177906 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Address issues found by Duncan during post-commit review of r177856.</title>
<updated>2013-03-25T11:47:38Z</updated>
<author>
<name>Arnaud A. de Grandmaison</name>
<email>arnaud.adegm@gmail.com</email>
</author>
<published>2013-03-25T11:47:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1bb93a912199bda15214d1ee7f3c731b8e9b648d'/>
<id>urn:sha1:1bb93a912199bda15214d1ee7f3c731b8e9b648d</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177863 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>InstCombine: simplify comparisons to zero of (shl %x, Cst) or (mul %x, Cst)</title>
<updated>2013-03-25T09:48:49Z</updated>
<author>
<name>Arnaud A. de Grandmaison</name>
<email>arnaud.adegm@gmail.com</email>
</author>
<published>2013-03-25T09:48:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=35763b1ee700cd29f057494a35095f06d983fe6e'/>
<id>urn:sha1:35763b1ee700cd29f057494a35095f06d983fe6e</id>
<content type='text'>
This simplification happens at 2 places :
 - using the nsw attribute when the shl / mul is used by a sign test
 - when the shl / mul is compared for (in)equality to zero

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177856 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>InstCombine: Improve the result bitvect type when folding (cmp pred (load (gep GV, i)) C) to a bit test.</title>
<updated>2013-03-22T08:25:01Z</updated>
<author>
<name>Arnaud A. de Grandmaison</name>
<email>arnaud.adegm@gmail.com</email>
</author>
<published>2013-03-22T08:25:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2be921adc41fb079ce25d36bdd6402ca70d56451'/>
<id>urn:sha1:2be921adc41fb079ce25d36bdd6402ca70d56451</id>
<content type='text'>
The original code used i32, and i64 if legal. This introduced unneeded
casts when they aren't legal, or when the index variable i has another
type. In order of preference: try to use i's type; use the smallest
fitting legal type (using an added DataLayout method); default to i32.
A testcase checks that this works when the index gep operand is i16.

Patch by : Ahmed Bougacha &lt;ahmed.bougacha@gmail.com&gt;
Reviewed by : Duncan

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177712 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Perform factorization as a last resort of unsafe fadd/fsub simplification.</title>
<updated>2013-03-14T18:08:26Z</updated>
<author>
<name>Shuxin Yang</name>
<email>shuxin.llvm@gmail.com</email>
</author>
<published>2013-03-14T18:08:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a0c9939873c404f272b3e0abb102c335146764fe'/>
<id>urn:sha1:a0c9939873c404f272b3e0abb102c335146764fe</id>
<content type='text'>
Rules include:
  1)1 x*y +/- x*z =&gt; x*(y +/- z) 
    (the order of operands dosen't matter)

  2) y/x +/- z/x =&gt; (y +/- z)/x 

 The transformation is disabled if the new add/sub expr "y +/- z" is a 
denormal/naz/inifinity.

rdar://12911472


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177088 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a performance regression when combining to smaller types in icmp (shl %v, C1), C2 :</title>
<updated>2013-03-13T14:40:37Z</updated>
<author>
<name>Arnaud A. de Grandmaison</name>
<email>arnaud.adegm@gmail.com</email>
</author>
<published>2013-03-13T14:40:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=bdd2d981391bd9329aba669cffcdde0c39373cb1'/>
<id>urn:sha1:bdd2d981391bd9329aba669cffcdde0c39373cb1</id>
<content type='text'>
Only combine when the shl is only used by the icmp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176950 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Simplify code. No functionality change.</title>
<updated>2013-03-09T11:18:59Z</updated>
<author>
<name>Jakub Staszak</name>
<email>kubastaszak@gmail.com</email>
</author>
<published>2013-03-09T11:18:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e629a33d166f55a916f40a1feae47af8ab97feed'/>
<id>urn:sha1:e629a33d166f55a916f40a1feae47af8ab97feed</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176765 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>InstCombine: Don't shrink allocas when combining with a bitcast.</title>
<updated>2013-03-06T05:44:53Z</updated>
<author>
<name>Jim Grosbach</name>
<email>grosbach@apple.com</email>
</author>
<published>2013-03-06T05:44:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=186d8a3d67ccd2b2401c5d7d4e2cc15c4d1fdeae'/>
<id>urn:sha1:186d8a3d67ccd2b2401c5d7d4e2cc15c4d1fdeae</id>
<content type='text'>
When considering folding a bitcast of an alloca into the alloca itself,
make sure we don't shrink the amount of memory being allocated, or
things rapidly go sideways.

rdar://13324424

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