<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/FunctionAttrs, branch release_25</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/FunctionAttrs?h=release_25</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/FunctionAttrs?h=release_25'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2009-01-07T19:39:06Z</updated>
<entry>
<title>Remove alloca tracking from nocapture analysis.  Not only</title>
<updated>2009-01-07T19:39:06Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2009-01-07T19:39:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b0cea8ff3979b8af15311b34df12bbb4440fd888'/>
<id>urn:sha1:b0cea8ff3979b8af15311b34df12bbb4440fd888</id>
<content type='text'>
was it not very helpful, it was also wrong!  The problem
is shown in the testcase: the alloca might be passed to
a nocapture callee which dereferences it and returns the
original pointer.  But because it was a nocapture call we
think we don't need to track its uses, but we do.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61876 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>When calculating 'nocapture' argument attributes, allow</title>
<updated>2009-01-02T11:54:37Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2009-01-02T11:54:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=338cd6ba6e36c291185541bb8e391427f57a32b1'/>
<id>urn:sha1:338cd6ba6e36c291185541bb8e391427f57a32b1</id>
<content type='text'>
the argument to be stored to an alloca by tracking uses
of the alloca.  This occurs 4 times (out of 7121, 0.05%)
in MultiSource/Applications, so may not be worth it.  On
the other hand, it is easy to do and fairly cheap.  The
functions it helps are: W_addcom and W_addlit in spiff;
process_args (argv) in d (make_dparser); ercPixConcealIMB
in JM/ldecod.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61570 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Remove the cyclic part of this test, it was passing for the wrong </title>
<updated>2009-01-02T03:52:27Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2009-01-02T03:52:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8439653dfc2ab2f8c7555883a608ff9a3296c9de'/>
<id>urn:sha1:8439653dfc2ab2f8c7555883a608ff9a3296c9de</id>
<content type='text'>
reason. Two functions which mutually require each other to be nocapture 
are not currently supported.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61553 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make adding nocapture a bit stronger. FreeInst is nocapture. Also, </title>
<updated>2009-01-02T03:46:56Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2009-01-02T03:46:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6b0568628319e08b36b8ec14793083e6bbf101a7'/>
<id>urn:sha1:6b0568628319e08b36b8ec14793083e6bbf101a7</id>
<content type='text'>
functions that don't write can't leak a pointer except through 
the return value, so a void readonly function is implicitly nocapture.

Test these, and add a test that verifies that f1 calling f2 with an 
otherwise dead pointer gets both of them marked nocapture.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61552 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add tests for two types of traps that escape analysis</title>
<updated>2009-01-02T00:55:51Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2009-01-02T00:55:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=29ab02b2c2539e4372628fcc867892c4d0840fa4'/>
<id>urn:sha1:29ab02b2c2539e4372628fcc867892c4d0840fa4</id>
<content type='text'>
might one day fall into.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61549 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Look through phi nodes and select instructions when</title>
<updated>2008-12-31T20:21:34Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2008-12-31T20:21:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1010941954a44520d12037d8b6d81a4af89b57a6'/>
<id>urn:sha1:1010941954a44520d12037d8b6d81a4af89b57a6</id>
<content type='text'>
calculating nocapture attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61535 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Rename AddReadAttrs to FunctionAttrs, and teach it how</title>
<updated>2008-12-31T16:14:43Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2008-12-31T16:14:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=9e89ba31f16a960239a750a26a982b4c9dfe8949'/>
<id>urn:sha1:9e89ba31f16a960239a750a26a982b4c9dfe8949</id>
<content type='text'>
to work out (in a very simplistic way) which function
arguments (pointer arguments only) are only dereferenced
and so do not escape.  Mark such arguments 'nocapture'.


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