<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/JumpThreading, branch release_29</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/JumpThreading?h=release_29</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/JumpThreading?h=release_29'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2011-02-18T04:43:06Z</updated>
<entry>
<title>prevent jump threading from merging blocks when their address is</title>
<updated>2011-02-18T04:43:06Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2011-02-18T04:43:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=78f7a25f9826ba66610b5bca83ebea71793abf59'/>
<id>urn:sha1:78f7a25f9826ba66610b5bca83ebea71793abf59</id>
<content type='text'>
taken (and used!).  This prevents merging the blocks (invalidating
the block addresses) in a case like this:

#define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&amp;&amp;__here; })

void foo() {
  printf("%p\n", _THIS_IP_);
  printf("%p\n", _THIS_IP_);
  printf("%p\n", _THIS_IP_);
}

which fixes PR4151.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125829 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Tolerate degenerate phi nodes that can occur in the middle of optimization</title>
<updated>2011-02-10T23:54:10Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2011-02-10T23:54:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3b739d278c87f8ac22b5dc368b319fa278347b2f'/>
<id>urn:sha1:3b739d278c87f8ac22b5dc368b319fa278347b2f</id>
<content type='text'>
passes. Fixes PR9112. Patch by Jakub Staszak!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125319 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Re-apply r124518 with fix. Watch out for invalidated iterator.</title>
<updated>2011-01-29T04:46:23Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2011-01-29T04:46:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c3f507f98a0747bd256e1c13536060b6fc5c4b62'/>
<id>urn:sha1:c3f507f98a0747bd256e1c13536060b6fc5c4b62</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124526 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r124518. It broke Linux self-host.</title>
<updated>2011-01-29T02:43:04Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2011-01-29T02:43:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b0a42fdb36b575a8ad939ca9624105908aeedf51'/>
<id>urn:sha1:b0a42fdb36b575a8ad939ca9624105908aeedf51</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124522 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Re-commit r124462 with fixes. Tail recursion elim will now dup ret into unconditional predecessor to enable TCE on demand.</title>
<updated>2011-01-29T01:29:26Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2011-01-29T01:29:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5e6940788fb2f8cf3ce4219d3ac0f78317f54696'/>
<id>urn:sha1:5e6940788fb2f8cf3ce4219d3ac0f78317f54696</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124518 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r124462. There are a few big regressions that I need to fix first.</title>
<updated>2011-01-28T07:12:38Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2011-01-28T07:12:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1b5c0cb71dd9d529a14cedb4bd89d544bf7e61c3'/>
<id>urn:sha1:1b5c0cb71dd9d529a14cedb4bd89d544bf7e61c3</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124478 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>- Stop simplifycfg from duplicating "ret" instructions into unconditional</title>
<updated>2011-01-28T02:19:21Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2011-01-28T02:19:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=40f64cb0de40802ddd2f928b62e9564e1e721ff3'/>
<id>urn:sha1:40f64cb0de40802ddd2f928b62e9564e1e721ff3</id>
<content type='text'>
  branches. PR8575, rdar://5134905, rdar://8911460.
- Allow codegen tail duplication to dup small return blocks after register
  allocation is done.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124462 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach jump threading to "look through" a select when the branch direction of a terminator depends on it.</title>
<updated>2010-12-15T09:51:20Z</updated>
<author>
<name>Frits van Bommel</name>
<email>fvbommel@gmail.com</email>
</author>
<published>2010-12-15T09:51:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=26e097ca4bdb31000655ff9ec39fe7d9b7ea226d'/>
<id>urn:sha1:26e097ca4bdb31000655ff9ec39fe7d9b7ea226d</id>
<content type='text'>
When it sees a promising select it now tries to figure out whether the condition of the select is known in any of the predecessors and if so it maps the operands appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121859 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Implement jump threading of 'indirectbr' by keeping track of whether we're looking for ConstantInt*s or BlockAddress*s.</title>
<updated>2010-12-06T23:36:56Z</updated>
<author>
<name>Frits van Bommel</name>
<email>fvbommel@gmail.com</email>
</author>
<published>2010-12-06T23:36:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6033b346e20d6932cc62c754cf23ae51786724d6'/>
<id>urn:sha1:6033b346e20d6932cc62c754cf23ae51786724d6</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121066 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix PR8247: JumpThreading can cause a block to become unreachable while still having predecessor, if it is part of a self-loop.</title>
<updated>2010-09-29T20:34:41Z</updated>
<author>
<name>Owen Anderson</name>
<email>resistor@mac.com</email>
</author>
<published>2010-09-29T20:34:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=36c4debc94e7c68c769dfda781851a0c963dd746'/>
<id>urn:sha1:36c4debc94e7c68c769dfda781851a0c963dd746</id>
<content type='text'>
Because of this, we cannot use the Simplify* APIs, as they can assert-fail on unreachable code.  Since it's not easy to determine
if a given threading will cause a block to become unreachable, simply defer simplifying simplification to later InstCombine and/or
DCE passes.


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