<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/GlobalOpt, branch release_32</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/GlobalOpt?h=release_32</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/GlobalOpt?h=release_32'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-11-16T20:21:42Z</updated>
<entry>
<title>Merge r168147 from trunk:</title>
<updated>2012-11-16T20:21:42Z</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@hanshq.net</email>
</author>
<published>2012-11-16T20:21:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1f7de172b4959bd8001d1bf507d068d96d47c045'/>
<id>urn:sha1:1f7de172b4959bd8001d1bf507d068d96d47c045</id>
<content type='text'>
  Constant::IsThreadDependent(): Use dyn_cast&lt;Constant&gt; instead of cast

  It turns out that the operands of a Constant are not always themselves
  Constant. For example, one of the operands of BlockAddress is
  BasicBlock, which is not a Constant.

  This should fix the dragonegg-x86_64-linux-gcc-4.6-test build which
  broke in r168037.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_32@168193 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merge r168037 from trunk:</title>
<updated>2012-11-16T20:14:40Z</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@hanshq.net</email>
</author>
<published>2012-11-16T20:14:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=21863332ca402263c518840742aee2b126d53007'/>
<id>urn:sha1:21863332ca402263c518840742aee2b126d53007</id>
<content type='text'>
  Make GlobalOpt be conservative with TLS variables (PR14309)

  For global variables that get the same value stored into them
  everywhere, GlobalOpt will replace them with a constant. The problem is
  that a thread-local GlobalVariable looks like one value (the address of
  the TLS var), but is different between threads.

  This patch introduces Constant::isThreadDependent() which returns true
  for thread-local variables and constants which depend on them (e.g. a GEP
  into a thread-local array), and teaches GlobalOpt not to track such
  values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_32@168192 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>GlobalOpt: non-constexpr bitcasts or GEPs can occur even if the global value is only stored once.</title>
<updated>2012-09-28T10:01:27Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2012-09-28T10:01:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=ab16423c912a7baa73f36e9032365925914487a3'/>
<id>urn:sha1:ab16423c912a7baa73f36e9032365925914487a3</id>
<content type='text'>
Fixes PR13968.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164815 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add testcases for GlobalOpt changes in r160693 and r160757.</title>
<updated>2012-07-29T01:15:37Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2012-07-29T01:15:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d64cb165d7741cdaa21405b49c019b9dacfbeb11'/>
<id>urn:sha1:d64cb165d7741cdaa21405b49c019b9dacfbeb11</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160925 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach globalopt to not nuke all stores to globals. Keep them around of they</title>
<updated>2012-07-24T07:21:08Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2012-07-24T07:21:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8899d5c6fb3cf118c5c73eade290b6ebb2b3b850'/>
<id>urn:sha1:8899d5c6fb3cf118c5c73eade290b6ebb2b3b850</id>
<content type='text'>
might be deliberate "one time" leaks, so that leak checkers can find them.
This is a reapply of r160602 with the fix that this time I'm committing the
code I thought I was committing last time; the I-&gt;eraseFromParent() goes
*after* the break out of the loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160664 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r160602.</title>
<updated>2012-07-21T09:03:15Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2012-07-21T09:03:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c7088c9a9cc37a5dce54def94f8c347922e0631c'/>
<id>urn:sha1:c7088c9a9cc37a5dce54def94f8c347922e0631c</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160603 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach globalopt to play nice with leak checkers. This is a reapplication of</title>
<updated>2012-07-21T08:29:45Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2012-07-21T08:29:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=61e2ff8f821beec2eefdbb21a5954f74b1c0a295'/>
<id>urn:sha1:61e2ff8f821beec2eefdbb21a5954f74b1c0a295</id>
<content type='text'>
r160529 that was subsequently reverted. The fix was to not call
GV-&gt;eraseFromParent() right before the caller does the same. The existing
testcases already caught this bug if run under valgrind.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160602 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r160529 due to crashes.</title>
<updated>2012-07-19T23:59:21Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2012-07-19T23:59:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4a96d0e44bd691759f0d4d4f8be9b47cb64d7f64'/>
<id>urn:sha1:4a96d0e44bd691759f0d4d4f8be9b47cb64d7f64</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160532 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Don't wipe out global variables that are probably storing pointers to heap</title>
<updated>2012-07-19T22:35:28Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2012-07-19T22:35:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=39e357fafe074babbd9661f3e78239f5ebe7c429'/>
<id>urn:sha1:39e357fafe074babbd9661f3e78239f5ebe7c429</id>
<content type='text'>
memory. This makes clang play nice with leak checkers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160529 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>GlobalOpt forgot to handle bitcast when analyzing globals.  Found by inspection.</title>
<updated>2012-07-02T18:55:39Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2012-07-02T18:55:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b2fe7f183d54d7e93880c8a472e0145e13dce070'/>
<id>urn:sha1:b2fe7f183d54d7e93880c8a472e0145e13dce070</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159546 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
