<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Transforms/Utils, branch release_22</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Transforms/Utils?h=release_22</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Transforms/Utils?h=release_22'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2008-01-12T18:54:29Z</updated>
<entry>
<title>we don't have to make an explicit copy of a byval argument when </title>
<updated>2008-01-12T18:54:29Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2008-01-12T18:54:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=92938b714565db1aea797d7c7a04987cfc6384c2'/>
<id>urn:sha1:92938b714565db1aea797d7c7a04987cfc6384c2</id>
<content type='text'>
inlining a function if we know that the function does not write
to *any* memory.  This implements test/Transforms/Inline/byval2.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45912 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>When inlining a functino with a byval argument, make an explicit </title>
<updated>2008-01-11T06:09:30Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2008-01-11T06:09:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c93adca35856d0eaae088e52ba30cfefbd7ad910'/>
<id>urn:sha1:c93adca35856d0eaae088e52ba30cfefbd7ad910</id>
<content type='text'>
copy of it in case the callee modifies the struct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45853 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>don't hoist FP additions into unconditional adds + selects.  This </title>
<updated>2008-01-03T07:25:26Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2008-01-03T07:25:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3d73bce2d01c7537042bb214edb5fc597f07bf74'/>
<id>urn:sha1:3d73bce2d01c7537042bb214edb5fc597f07bf74</id>
<content type='text'>
could theoretically introduce a trap, but is also a performance issue.
This speeds up ptrdist/ks by 8%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45533 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Remove attribution from file headers, per discussion on llvmdev.</title>
<updated>2007-12-29T20:36:04Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2007-12-29T20:36:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4ee451de366474b9c228b4e5fa573795a715216d'/>
<id>urn:sha1:4ee451de366474b9c228b4e5fa573795a715216d</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>remove attribution from lib Makefiles.</title>
<updated>2007-12-29T20:09:26Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2007-12-29T20:09:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=fc643c5e88c596f217750dd91fcc66488dfed73d'/>
<id>urn:sha1:fc643c5e88c596f217750dd91fcc66488dfed73d</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45415 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>dead calls to llvm.stacksave can be deleted, even though they</title>
<updated>2007-12-29T00:59:12Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2007-12-29T00:59:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=741c0aea08feab0ebd1932aaa8dd38836b2073ea'/>
<id>urn:sha1:741c0aea08feab0ebd1932aaa8dd38836b2073ea</id>
<content type='text'>
have potential side-effects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45392 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>GC poses hazards to the inliner. Consider:</title>
<updated>2007-12-25T03:10:07Z</updated>
<author>
<name>Gordon Henriksen</name>
<email>gordonhenriksen@mac.com</email>
</author>
<published>2007-12-25T03:10:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0e13821c96937830ec817f08095c3cef1fdcac8d'/>
<id>urn:sha1:0e13821c96937830ec817f08095c3cef1fdcac8d</id>
<content type='text'>
    define void @f() {
            ...
            call i32 @g()
            ...
    }

    define void @g() {
            ...
    }

The hazards are:

  - @f and @g have GC, but they differ GC. Inlining is invalid. This
    may never occur.
  - @f has no GC, but @g does. g's GC must be propagated to @f.

The other scenarios are safe:

  - @f and @g have the same GC.
  - @f and @g have no GC.
  - @g has no GC.

This patch adds inliner checks for the former two scenarios.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45351 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>If succ has succ itself as one of the predecessors then do</title>
<updated>2007-12-22T01:32:53Z</updated>
<author>
<name>Devang Patel</name>
<email>dpatel@apple.com</email>
</author>
<published>2007-12-22T01:32:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=01666bf74bd72d43426e62ac9d921a8db0a9179e'/>
<id>urn:sha1:01666bf74bd72d43426e62ac9d921a8db0a9179e</id>
<content type='text'>
not merge current bb and succ even if bb's terminator is
unconditional branch to succ.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45305 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>When inlining through an 'nounwind' call, mark inlined</title>
<updated>2007-12-19T21:13:37Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2007-12-19T21:13:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f0c3354d998507515ab39e26b5292ea0ceb06aef'/>
<id>urn:sha1:f0c3354d998507515ab39e26b5292ea0ceb06aef</id>
<content type='text'>
calls 'nounwind'.  It is important for correct C++
exception handling that nounwind markings do not get
lost, so this transformation is actually needed for
correctness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45218 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Rename isNoReturn to doesNotReturn, and isNoUnwind to</title>
<updated>2007-12-18T09:59:50Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2007-12-18T09:59:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2b0e8990ab33ec2dad21286d3ce01dbb4bbe63c1'/>
<id>urn:sha1:2b0e8990ab33ec2dad21286d3ce01dbb4bbe63c1</id>
<content type='text'>
doesNotThrow.


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