<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/IndVarSimplify, branch release_32</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/IndVarSimplify?h=release_32</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/IndVarSimplify?h=release_32'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-11-30T03:38:58Z</updated>
<entry>
<title>Merging r168921: into the 3.2 release branch.</title>
<updated>2012-11-30T03:38:58Z</updated>
<author>
<name>Pawel Wodnicki</name>
<email>pawel@32bitmicro.com</email>
</author>
<published>2012-11-30T03:38:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=24d616e51f503d77fe9dca5904991292831b9132'/>
<id>urn:sha1:24d616e51f503d77fe9dca5904991292831b9132</id>
<content type='text'>
Follow up to 168711: It's safe to base this analysis on the found compare, just return the value for the right predicate.

Thanks to Andy for catching this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_32@168974 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merging r168711: into the 3.2 release branch.</title>
<updated>2012-11-30T03:35:46Z</updated>
<author>
<name>Pawel Wodnicki</name>
<email>pawel@32bitmicro.com</email>
</author>
<published>2012-11-30T03:35:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=73c484255b149cc5392b6dfcc1ef29ed6547cbe4'/>
<id>urn:sha1:73c484255b149cc5392b6dfcc1ef29ed6547cbe4</id>
<content type='text'>
SCEV: Even if the latch terminator is foldable we can't deduce the result of an unrelated condition with it.

Fixes PR14432.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_32@168973 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix SCEV cache invalidation in LCSSA and LoopSimplify.</title>
<updated>2012-10-26T17:31:43Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2012-10-26T17:31:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b2b2273ef4b67b7da4c05472095b8b96cc04ca8d'/>
<id>urn:sha1:b2b2273ef4b67b7da4c05472095b8b96cc04ca8d</id>
<content type='text'>
The LoopSimplify bug is pretty harmless because the loop goes from unanalyzable
to analyzable but the LCSSA bug is very nasty. It only comes into play with a
specific order of the LoopPassManager worklist and can cause actual
miscompilations, when a SCEV refers to a value that has been replaced with PHI
node. SCEVExpander may then insert code into the wrong place, either violating
domination or randomly miscompiling stuff.

Comes with an extensive test case reduced from the test-suite with
bugpoint+SCEVValidator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166787 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Indvars: Don't recursively delete instruction during BB iteration.</title>
<updated>2012-10-19T17:53:54Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2012-10-19T17:53:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7182126b0f3100cfddfbe6939be1a7eaeaf9fd57'/>
<id>urn:sha1:7182126b0f3100cfddfbe6939be1a7eaeaf9fd57</id>
<content type='text'>
This can invalidate the iterators leading to use after frees and crashes.
Fixes PR12536.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166291 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>SCEVExpander: Don't crash when trying to merge two constant phis.</title>
<updated>2012-10-19T16:37:30Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2012-10-19T16:37:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=239fd44f7a68aae4b2e8b6f1738ef9e8fd4ddc01'/>
<id>urn:sha1:239fd44f7a68aae4b2e8b6f1738ef9e8fd4ddc01</id>
<content type='text'>
Just constant fold them so they can't cause any trouble. Fixes PR12627.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166286 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Move TargetData to DataLayout.</title>
<updated>2012-10-08T16:39:34Z</updated>
<author>
<name>Micah Villmow</name>
<email>villmow@gmail.com</email>
</author>
<published>2012-10-08T16:39:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=791cfc211a9801002bfda6b3eb4de7e041f04f53'/>
<id>urn:sha1:791cfc211a9801002bfda6b3eb4de7e041f04f53</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165403 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix PR13967.</title>
<updated>2012-10-03T23:59:47Z</updated>
<author>
<name>Jakub Staszak</name>
<email>kubastaszak@gmail.com</email>
</author>
<published>2012-10-03T23:59:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=395c1502a7e6380ec2210ee4be1fdb3128c10528'/>
<id>urn:sha1:395c1502a7e6380ec2210ee4be1fdb3128c10528</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165187 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>indvars: Linear function test replace should avoid reusing undef.</title>
<updated>2012-07-18T04:35:10Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2012-07-18T04:35:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4781d8ee1cd586bf7a569f80e1e49694c93eddd8'/>
<id>urn:sha1:4781d8ee1cd586bf7a569f80e1e49694c93eddd8</id>
<content type='text'>
Fixes PR13371: indvars pass incorrectly substitutes 'undef' values.

I do not like this fix. It's needed until/unless the meaning of undef
changes. It attempts to be complete according to the IR spec, but I
don't have much confidence in the implementation given the difficulty
testing undefined behavior. Worse, this invalidates some of my
hard-fought work on indvars and LSR to optimize pointer induction
variables. It results benchmark regressions, which I'll track
internally. On x86_64 no LTO I see:

-3% huffbench
-3% 400.perlbench
-8% fhourstones

My only suggestion for recovering is to change the meaning of
undef. If we could trust an arbitrary instruction to produce a some
real value that can be manipulated (e.g. incremented) according to
non-undef rules, then this case could be easily handled with SCEV.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160421 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix the remaining TCL-style quotes found in the testsuite. This is</title>
<updated>2012-07-02T19:09:46Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-07-02T19:09:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1de43ede8904e08de37f601c9bab0b70f71156e1'/>
<id>urn:sha1:1de43ede8904e08de37f601c9bab0b70f71156e1</id>
<content type='text'>
another mechanical change accomplished though the power of terrible Perl
scripts.

I have manually switched some "s to 's to make escaping simpler.

While I started this to fix tests that aren't run in all configurations,
the massive number of tests is due to a really frustrating fragility of
our testing infrastructure: things like 'grep -v', 'not grep', and
'expected failures' can mask broken tests all too easily.

Essentially, I'm deeply disturbed that I can change the testsuite so
radically without causing any change in results for most platforms. =/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159547 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Convert all tests using TCL-style quoting to use shell-style quoting.</title>
<updated>2012-07-02T12:47:22Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-07-02T12:47:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4177e6fff50552908bab510f1e896fa974a6f155'/>
<id>urn:sha1:4177e6fff50552908bab510f1e896fa974a6f155</id>
<content type='text'>
This was done through the aid of a terrible Perl creation. I will not
paste any of the horrors here. Suffice to say, it require multiple
staged rounds of replacements, state carried between, and a few
nested-construct-parsing hacks that I'm not proud of. It happens, by
luck, to be able to deal with all the TCL-quoting patterns in evidence
in the LLVM test suite.

If anyone is maintaining large out-of-tree test trees, feel free to poke
me and I'll send you the steps I used to convert things, as well as
answer any painful questions etc. IRC works best for this type of thing
I find.

Once converted, switch the LLVM lit config to use ShTests the same as
Clang. In addition to being able to delete large amounts of Python code
from 'lit', this will also simplify the entire test suite and some of
lit's architecture.

Finally, the test suite runs 33% faster on Linux now. ;]
For my 16-hardware-thread (2x 4-core xeon e5520): 36s -&gt; 24s

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