<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/JumpThreading, branch release_26</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/JumpThreading?h=release_26</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/JumpThreading?h=release_26'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2009-06-19T16:27:56Z</updated>
<entry>
<title>make jump threading handle lexically identical compare instructions</title>
<updated>2009-06-19T16:27:56Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-06-19T16:27:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=79c740ff479dde322aceafe15887b162c19ea195'/>
<id>urn:sha1:79c740ff479dde322aceafe15887b162c19ea195</id>
<content type='text'>
as if they were multiple uses of the same instruction.  This interacts
well with the existing loadpre that j-t does to open up many new jump
threads earlier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73768 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach jump threading to look at comparisons between phi nodes and non-constants.</title>
<updated>2009-06-19T04:56:29Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2009-06-19T04:56:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=9683f181746c2312c8828c79b6e25a07fb441d57'/>
<id>urn:sha1:9683f181746c2312c8828c79b6e25a07fb441d57</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73755 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Restore minor deletion.</title>
<updated>2009-05-04T18:40:41Z</updated>
<author>
<name>Mike Stump</name>
<email>mrs@apple.com</email>
</author>
<published>2009-05-04T18:40:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=fe095f39e7009c51d1c86769792ccbcad8cdd2ec'/>
<id>urn:sha1:fe095f39e7009c51d1c86769792ccbcad8cdd2ec</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70892 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix PR3353, infinitely jump threading an infinite loop make from switches.</title>
<updated>2009-01-19T21:20:34Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-01-19T21:20:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2c7ed11d93239dacf81540e2307f0db456bb9122'/>
<id>urn:sha1:2c7ed11d93239dacf81540e2307f0db456bb9122</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62529 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix PR3298, a crash in Jump Threading.  Apparently even </title>
<updated>2009-01-09T06:08:12Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-01-09T06:08:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2a99b482a62e3f1ac3fd716fba430ac32fedade4'/>
<id>urn:sha1:2a99b482a62e3f1ac3fd716fba430ac32fedade4</id>
<content type='text'>
jump threading can have bugs, who knew? ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61983 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>testcase for br undef folding.</title>
<updated>2008-12-03T07:48:27Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2008-12-03T07:48:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2a5dc33c573365f30cbae9ac91416d635f40e4cd'/>
<id>urn:sha1:2a5dc33c573365f30cbae9ac91416d635f40e4cd</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60471 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach jump threading some more simple tricks:</title>
<updated>2008-12-03T07:48:08Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2008-12-03T07:48:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=421fa9e32e445c972df4a981c60fbec4e21ac187'/>
<id>urn:sha1:421fa9e32e445c972df4a981c60fbec4e21ac187</id>
<content type='text'>
1) have it fold "br undef", which does occur with
   surprising frequency as jump threading iterates.
2) teach j-t to delete dead blocks.  This removes the successor
   edges, reducing the in-edges of other blocks, allowing 
   recursive simplification.
3) Fold things like:
     br COND, BBX, BBY
  BBX:
     br COND, BBZ, BBW

   which also happens because jump threading iterates.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60470 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>don't call MergeBasicBlockIntoOnlyPred on a block whose only</title>
<updated>2008-11-28T19:54:49Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2008-11-28T19:54:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f5102a0f088e7c96f7028bf7ca1c24975c314fff'/>
<id>urn:sha1:f5102a0f088e7c96f7028bf7ca1c24975c314fff</id>
<content type='text'>
predecessor is itself.  This doesn't make sense, and this is
a dead infinite loop anyway.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60210 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix PR3138: if we merge the entry block into another block, make sure to</title>
<updated>2008-11-27T19:25:19Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2008-11-27T19:25:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3d86d242c69a26ba2e6102f32b00b04884c4c9b1'/>
<id>urn:sha1:3d86d242c69a26ba2e6102f32b00b04884c4c9b1</id>
<content type='text'>
move the other block back up into the entry position!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60179 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make jump threading substantially more powerful, in the following ways:</title>
<updated>2008-11-27T05:07:53Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2008-11-27T05:07:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=69e067fdd86d34cb81ccdffb82415b4f89144218'/>
<id>urn:sha1:69e067fdd86d34cb81ccdffb82415b4f89144218</id>
<content type='text'>
1. Make it fold blocks separated by an unconditional branch.  This enables
   jump threading to see a broader scope.
2. Make jump threading able to eliminate locally redundant loads when they
   feed the branch condition of a block.  This frequently occurs due to
   reg2mem running.
3. Make jump threading able to eliminate *partially redundant* loads when
   they feed the branch condition of a block.  This is common in code with
   lots of loads and stores like C++ code and 255.vortex.

This implements thread-loads.ll and rdar://6402033.

Per the fixme's, several pieces of this should be moved into Transforms/Utils.



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