<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Analysis, branch release_31</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Analysis?h=release_31</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Analysis?h=release_31'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-04-30T17:09:46Z</updated>
<entry>
<title>Merging r155818:</title>
<updated>2012-04-30T17:09:46Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2012-04-30T17:09:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=55f951325943a719478d625eb4271adb817fde7d'/>
<id>urn:sha1:55f951325943a719478d625eb4271adb817fde7d</id>
<content type='text'>
------------------------------------------------------------------------
r155818 | baldrick | 2012-04-30 04:56:58 -0700 (Mon, 30 Apr 2012) | 3 lines

Just mark the sign bit as known zero, rather than any other irrelevant bits
known zero in the LHS.  Fixes PR12541.

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155827 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merging r155466:</title>
<updated>2012-04-24T23:40:05Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2012-04-24T23:40:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e4f573fff8dd184bd525b80723747493178e608a'/>
<id>urn:sha1:e4f573fff8dd184bd525b80723747493178e608a</id>
<content type='text'>
------------------------------------------------------------------------
r155466 | chandlerc | 2012-04-24 11:42:47 -0700 (Tue, 24 Apr 2012) | 17 lines

Fix a crash on valid (if UB) bitcode that is produced for some global
constants in C++11 mode. I have no idea why it required such particular
circumstances to get here, the code seems clearly to rely upon unchecked
assumptions.

Specifically, when we decide to form an index into a struct type, we may
have gone through (at least one) zero-length array indexing round, which
would have left the offset un-adjusted, and thus not necessarily valid
for use when indexing the struct type.

This is just an canonicalization step, so the correct thing is to refuse
to canonicalize nonsensical GEPs of this form. Implemented, and test
case added.

Fixes PR12642. Pair debugged and coded with Richard Smith. =] I credit
him with most of the debugging, and preventing me from writing the wrong
code.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155506 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert "SCEV: When expanding a GEP the final addition to the base pointer has NUW but not NSW."</title>
<updated>2012-04-17T06:33:57Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2012-04-17T06:33:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=86df062791d50b35ae274bbeb8fe2f37944e284a'/>
<id>urn:sha1:86df062791d50b35ae274bbeb8fe2f37944e284a</id>
<content type='text'>
This isn't right either, reverting for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154910 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add two statistics to help track how we are computing the inline cost.</title>
<updated>2012-04-11T10:15:10Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-04-11T10:15:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d6fc26217e194372cabe4ef9e2514beac511a943'/>
<id>urn:sha1:d6fc26217e194372cabe4ef9e2514beac511a943</id>
<content type='text'>
Yea, 'NumCallerCallersAnalyzed' isn't a great name, suggestions welcome.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154492 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix 12513: Loop unrolling breaks with indirect branches.</title>
<updated>2012-04-10T05:14:42Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2012-04-10T05:14:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d9fc1ce8096f7138c60edc3a6655583bf209780e'/>
<id>urn:sha1:d9fc1ce8096f7138c60edc3a6655583bf209780e</id>
<content type='text'>
Take this opportunity to generalize the indirectbr bailout logic for
loop transformations. CFG transformations will never get indirectbr
right, and there's no point trying.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154386 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix ValueTracking to conclude that debug intrinsics are safe to</title>
<updated>2012-04-07T19:22:18Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-04-07T19:22:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c0d18b669674d3b173e6a3eca6ada98871bb808f'/>
<id>urn:sha1:c0d18b669674d3b173e6a3eca6ada98871bb808f</id>
<content type='text'>
speculate. Without this, loop rotate (among many other places) would
suddenly stop working in the presence of debug info. I found this
looking at loop rotate, and have augmented its tests with a reduction
out of a very hot loop in yacr2 where failing to do this rotation costs
sometimes more than 10% in runtime performance, perturbing numerous
downstream optimizations.

This should have no impact on performance without debug info, but the
change in performance when debug info is enabled can be extreme. As
a consequence (and this how I got to this yak) any profiling of
performance problems should be treated with deep suspicion -- they may
have been wildly innacurate of debug info was enabled for profiling. =/
Just a heads up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154263 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>SCEV: When expanding a GEP the final addition to the base pointer has NUW but not NSW.</title>
<updated>2012-04-07T17:19:26Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2012-04-07T17:19:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c77764591b06655bca4313ccfb5b1b773849387e'/>
<id>urn:sha1:c77764591b06655bca4313ccfb5b1b773849387e</id>
<content type='text'>
Found by inspection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154262 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Reintroduce InlineCostAnalyzer::getInlineCost() variant with explicit callee</title>
<updated>2012-04-06T17:27:41Z</updated>
<author>
<name>David Chisnall</name>
<email>csdavec@swan.ac.uk</email>
</author>
<published>2012-04-06T17:27:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b381578fcb5fea988f661dbbee9747b8fd55c5fb'/>
<id>urn:sha1:b381578fcb5fea988f661dbbee9747b8fd55c5fb</id>
<content type='text'>
parameter until we have a more sensible API for doing the same thing.

Reviewed by Chandler.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154180 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Always compute all the bits in ComputeMaskedBits.</title>
<updated>2012-04-04T12:51:34Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2012-04-04T12:51:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=26c8dcc692fb2addd475446cfff24d6a4e958bca'/>
<id>urn:sha1:26c8dcc692fb2addd475446cfff24d6a4e958bca</id>
<content type='text'>
This allows us to keep passing reduced masks to SimplifyDemandedBits, but
know about all the bits if SimplifyDemandedBits fails. This allows instcombine
to simplify cases like the one in the included testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154011 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add a line number for the scope of the function (starting at the first</title>
<updated>2012-04-03T00:43:49Z</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@apple.com</email>
</author>
<published>2012-04-03T00:43:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6126a1e1894f346fae02a514a20aa56b879aeb99'/>
<id>urn:sha1:6126a1e1894f346fae02a514a20aa56b879aeb99</id>
<content type='text'>
brace) so that we get more accurate line number information about the
declaration of a given function and the line where the function
first starts.

Part of rdar://11026482

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