summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/Inliner.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-4/+2
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Make several variable declarations static.Dan Gohman2008-05-061-1/+1
| | | | llvm-svn: 50696
* 1. Drop default inline threshold back down to 200.Evan Cheng2008-04-011-2/+2
| | | | | | | 2. Do not use # of basic blocks as part of the cost computation since it doesn't really figure into function size. 3. More aggressively inline function with vector code. llvm-svn: 49061
* Increasing the inline limit from (overly conservative) 200 to 300. Given ↵Evan Cheng2008-03-241-4/+6
| | | | | | | | each BB costs 20 and each instruction costs 5, 200 means a 4 BB function + 24 instructions (actually less because caller's size also contributes to it). Furthermore, double the limit when more than 10% of the callee instructions are vector instructions. Multimedia kernels tend to love inlining. llvm-svn: 48725
* allow specified inline threshold to be negative, as the value is Chris Lattner2008-03-011-1/+1
| | | | | | itself sometimes negative. llvm-svn: 47786
* Allow clients to specify the inline threshold when creatingChris Lattner2008-01-121-0/+3
| | | | | | the inliner pass. Patch by Robert Zeh. llvm-svn: 45903
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-031-2/+2
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* Inliner pass header file was moved.Tanya Lattner2007-06-191-1/+1
| | | | llvm-svn: 37665
* Fix PR1395, by passing the ID correctlyChris Lattner2007-05-061-3/+2
| | | | llvm-svn: 36894
* Drop 'const'Devang Patel2007-05-031-1/+1
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-1/+1
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-1/+3
| | | | llvm-svn: 36632
* the inliner pass now passes targetdata down through the inliner api'sChris Lattner2007-01-301-3/+14
| | | | llvm-svn: 33677
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-2/+2
| | | | | | confusion with external linkage types. llvm-svn: 33663
* Eliminate static ctors due to Statistic objectsChris Lattner2006-12-191-3/+4
| | | | llvm-svn: 32693
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-2/+2
| | | | | | is 'unsigned'. llvm-svn: 32279
* Replace #include <iostream> with llvm_* streams.Bill Wendling2006-11-261-10/+8
| | | | llvm-svn: 31924
* second patch to fix PR992/993.Chris Lattner2006-11-091-4/+17
| | | | llvm-svn: 31610
* Minimal patch to fix PR992/PR993Chris Lattner2006-11-091-2/+1
| | | | llvm-svn: 31608
* For PR786:Reid Spencer2006-11-021-2/+0
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* Change the callgraph representation to store the callsite along with theChris Lattner2006-07-121-2/+2
| | | | | | | | | | | target CG node. This allows the inliner to properly update the callgraph when using the pruning inliner. The pruning inliner may not copy over all call sites from a callee to a caller, so the edges corresponding to those call sites should not be copied over either. This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll llvm-svn: 29120
* Remove some dead variables.Chris Lattner2006-05-121-1/+0
| | | | | | Fix a nasty bug in the memcmp optimizer where we used the wrong variable! llvm-svn: 28269
* Make iostream #inclusion explicitChris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25514
* Let the inliner update the callgraph to reflect the changes it makes, insteadChris Lattner2006-01-141-12/+2
| | | | | | of doing it ourselves. This fixes Transforms/Inline/2006-01-14-CallGraphUpdate.ll llvm-svn: 25321
* Fix 80 column violationsChris Lattner2006-01-131-2/+3
| | | | llvm-svn: 25279
* Remove trailing whitespaceMisha Brukman2005-04-211-10/+10
| | | | llvm-svn: 21427
* Fix the inliner to always delete any edges from the external call node toChris Lattner2004-09-181-8/+7
| | | | | | | | | | a function being deleted. Due to optimizations done while inlining, there can be edges from the external call node to a function node that were not apparent any longer. This fixes the compiler crash while compiling 175.vpr llvm-svn: 16399
* Changes For Bug 352Reid Spencer2004-09-011-3/+3
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Fix another really nasty regression that Anshu pointed out. In cases whereChris Lattner2004-08-081-24/+24
| | | | | | | | | | dangling constant users were removed from a function, causing it to be dead, we never removed the call graph edge from the external node to the function. In most cases, this didn't cause a problem (by luck). This should definitely go into 1.3 llvm-svn: 15570
* Fix #includes of i*.h => Instructions.h as per PR403.Misha Brukman2004-07-291-2/+1
| | | | llvm-svn: 15334
* Fix a performance regression from the CPR patch, simplify codeChris Lattner2004-07-181-14/+6
| | | | llvm-svn: 14974
* Fix a rather serious bug in previous checkinChris Lattner2004-07-181-1/+0
| | | | llvm-svn: 14957
* bug 122:Reid Spencer2004-07-181-4/+3
| | | | | | - Replace ConstantPointerRef usage with GlobalValue usage llvm-svn: 14953
* Fix the inliner to be deterministic, not letting its output depend on theChris Lattner2004-06-201-4/+3
| | | | | | relative location of Function objects in memory. llvm-svn: 14260
* Fix a bug in my previous checkinChris Lattner2004-05-241-0/+1
| | | | llvm-svn: 13717
* Fix cases where we missed inlining some more obvious candidates because theChris Lattner2004-05-231-79/+108
| | | | | | caller was in an SCC. llvm-svn: 13693
* Fix an incredibly nasty iterator invalidation problem. I am too spoiled by ↵Chris Lattner2004-04-211-18/+38
| | | | | | | | | ilists :) Eventually it would be nice if CallGraph maintained an ilist of CallGraphNode's instead of a vector of pointers to them, but today is not that day. llvm-svn: 13100
* Fix typeoChris Lattner2004-04-211-1/+1
| | | | llvm-svn: 13089
* REALLY fix PR324: don't delete linkonce functions until after the SCC traversalChris Lattner2004-04-201-7/+28
| | | | | | is done, which avoids invalidating iterators in the SCC traversal routines llvm-svn: 13088
* Fix PR324 and testcase: Inline/2004-04-20-InlineLinkOnce.llxChris Lattner2004-04-201-3/+7
| | | | llvm-svn: 13080
* Actually update the call graph as the inliner changes it. This allows us toChris Lattner2004-04-121-1/+20
| | | | | | execute other CallGraphSCCPasses after the inliner without crashing. llvm-svn: 12861
* Stop printing Function*Chris Lattner2004-04-121-1/+1
| | | | llvm-svn: 12857
* Remove the "really gross hacks" that are there to deal with recursive functions.Chris Lattner2004-04-081-71/+54
| | | | | | | | Now we collect all of the call sites we are interested in inlining, then inline them. This entirely avoids issues with trying to inline a call site we got by inlining another call site. This also eliminates iterator invalidation issues. llvm-svn: 12770
* Finegrainify namespacificationChris Lattner2003-11-211-4/+5
| | | | | | Print out the costs for functions that AREN'T inlined as well llvm-svn: 10135
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Do NOT inline self recursive calls into other functions. This is causing theChris Lattner2003-11-091-1/+4
| | | | | | | pool allocator no end of trouble, and doesn't make a lot of sense anyway. This does not solve the problem with mutually recursive functions, but they are much less common. llvm-svn: 9828
* Strip off CPR's manually, because if we don't, the inliner doesn't delete deadChris Lattner2003-10-311-2/+9
| | | | | | functions. GRR llvm-svn: 9641
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Heavily refactor code:Chris Lattner2003-08-311-0/+119
* Separate the policy decisions into a derived class [InlineSimple] * Move the inlining mechanics into a base class [Inliner] * Change the inliner to be an SCCPass, making it more structured and eventually pipelinable with other SCC passes llvm-svn: 8257
OpenPOWER on IntegriCloud