<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/Inline, branch release_27</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/Inline?h=release_27</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/Inline?h=release_27'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2010-01-05T17:55:26Z</updated>
<entry>
<title>Delete useless trailing semicolons.</title>
<updated>2010-01-05T17:55:26Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2010-01-05T17:55:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=aceba31b7a04fd28680209b2677915378877bc13'/>
<id>urn:sha1:aceba31b7a04fd28680209b2677915378877bc13</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92740 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>implement a nice little efficiency hack in the inliner.  Since we're now</title>
<updated>2009-11-12T07:56:08Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-11-12T07:56:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=dbab4dc942e0c3286415908762de71a9447f9dfa'/>
<id>urn:sha1:dbab4dc942e0c3286415908762de71a9447f9dfa</id>
<content type='text'>
running IPSCCP early, and we run functionattrs interlaced with the inliner,
we often (particularly for small or noop functions) completely propagate
all of the information about a call to its call site in IPSSCP (making a call
dead) and functionattrs is smart enough to realize that the function is
readonly (because it is interlaced with inliner).

To improve compile time and make the inliner threshold more accurate, realize
that we don't have to inline dead readonly function calls.  Instead, just 
delete the call.  This happens all the time for C++ codes, here are some
counters from opt/llvm-ld counting the number of times calls were deleted vs
inlined on various apps:

Tramp3d opt:
  5033 inline                - Number of call sites deleted, not inlined
 24596 inline                - Number of functions inlined
llvm-ld:
  667 inline           - Number of functions deleted because all callers found
  699 inline           - Number of functions inlined

483.xalancbmk opt:
  8096 inline                - Number of call sites deleted, not inlined
 62528 inline                - Number of functions inlined
llvm-ld:
   217 inline           - Number of allocas merged together
  2158 inline           - Number of functions inlined

471.omnetpp:
  331 inline                - Number of call sites deleted, not inlined
 8981 inline                - Number of functions inlined
llvm-ld:
  171 inline           - Number of functions deleted because all callers found
  629 inline           - Number of functions inlined


Deleting a call is much faster than inlining it, and is insensitive to the
size of the callee. :)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86975 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test</title>
<updated>2009-11-03T15:29:06Z</updated>
<author>
<name>Kenneth Uildriks</name>
<email>kennethuil@gmail.com</email>
</author>
<published>2009-11-03T15:29:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b908f8ad6a38d989c7f769e329d778e563c398f4'/>
<id>urn:sha1:b908f8ad6a38d989c7f769e329d778e563c398f4</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85900 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a pretty serious misfeature of the inliner: if it inlines a function</title>
<updated>2009-10-27T05:39:41Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-10-27T05:39:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c581acbbba3cb1af6a08e17314b26344333f9267'/>
<id>urn:sha1:c581acbbba3cb1af6a08e17314b26344333f9267</id>
<content type='text'>
with multiple return values it inserts a PHI to merge them all together.
However, if the return values are all the same, it ends up with a pointless
PHI and this pointless PHI happens to really block SRoA from happening in 
at least a silly C++ example written by Doug, but probably others.  This 
fixes rdar://7339069.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85206 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>convert to filecheck.</title>
<updated>2009-10-27T05:35:35Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-10-27T05:35:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=744f19aa15a4fe89631d3ee39955973f85196977'/>
<id>urn:sha1:744f19aa15a4fe89631d3ee39955973f85196977</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85205 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make these tests more interesting by using</title>
<updated>2009-10-24T23:23:04Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-10-24T23:23:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2b110caabfa00a048fceba7e5a0df04cf4c6f691'/>
<id>urn:sha1:2b110caabfa00a048fceba7e5a0df04cf4c6f691</id>
<content type='text'>
-verify-dom-info and -verify-loop-info, which enable additional
(expensive) consistency checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85017 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Simplify some code (first hunk) and fix PR5208 (second hunk) by</title>
<updated>2009-10-17T05:39:39Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-10-17T05:39:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6128df525501c333a650d097703c18d7e878f5e8'/>
<id>urn:sha1:6128df525501c333a650d097703c18d7e878f5e8</id>
<content type='text'>
updating the callgraph when introducing a call.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84310 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>When considering whether to inline Callee into Caller,</title>
<updated>2009-10-09T00:11:32Z</updated>
<author>
<name>Dale Johannesen</name>
<email>dalej@apple.com</email>
</author>
<published>2009-10-09T00:11:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e91b9a3b59688023e20cee8441179300b87c844e'/>
<id>urn:sha1:e91b9a3b59688023e20cee8441179300b87c844e</id>
<content type='text'>
and that will make Caller too big to inline, see if it
might be better to inline Caller into its callers instead.
This situation is described in PR 2973, although I haven't
tried the specific case in SPASS.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83602 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Eliminate more redundant llvm-as calls.</title>
<updated>2009-09-11T18:17:12Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-11T18:17:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=cabfea2a5887cc6cfe91db4a694f74261a317f3d'/>
<id>urn:sha1:cabfea2a5887cc6cfe91db4a694f74261a317f3d</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81540 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Change tests from "opt %s" to "opt &lt; %s" so that opt doesn't see the</title>
<updated>2009-09-11T18:01:28Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-11T18:01:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f2f6ce65b79df6ec4ee427d51a18355a170f199b'/>
<id>urn:sha1:f2f6ce65b79df6ec4ee427d51a18355a170f199b</id>
<content type='text'>
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.


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