aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Inline graphs from outside the SCC into the SCC before SCC resolution startsChris Lattner2002-11-121-4/+104
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4701 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix two bugs:Chris Lattner2002-11-121-27/+27
| | | | | | | | | | | * The globals vector was getting broken and unsorted, this caused vortex to get badly pessimized * Node offset handling was being handled really poorly, and in particular we were not merging types with offsets right. This causes several graphs to be non-merged. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4699 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bugChris Lattner2002-11-112-6/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4697 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle a mismatch between # function args and call site argsChris Lattner2002-11-111-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4696 91177308-0d34-0410-b5e6-96231b3b80d8
* Elimiante calls to a node with nothing in it.Chris Lattner2002-11-111-36/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4695 91177308-0d34-0410-b5e6-96231b3b80d8
* Complete rewrite of BU code to use Tarjan's SCC finding algorithm to driveChris Lattner2002-11-111-265/+351
| | | | | | | the algorithm instead of hand coded depth first iteration git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4694 91177308-0d34-0410-b5e6-96231b3b80d8
* InstSelectSimple.cpp: (visitReturnInst) Add return instructions with returnBrian Gaeke2002-11-113-18/+129
| | | | | | | | values. X86InstrInfo.def: add LEAVE instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4691 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark stuff reachable by _AUX_ calls as incomplete in the BU graphChris Lattner2002-11-111-9/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4690 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix infinite loop in the BU algorithm. Unfortunately this dies a seriousChris Lattner2002-11-111-30/+177
| | | | | | | death when handling moderately sized SCC's, but what can you do git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4689 91177308-0d34-0410-b5e6-96231b3b80d8
* Print the right call set sizeChris Lattner2002-11-111-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4688 91177308-0d34-0410-b5e6-96231b3b80d8
* Use call site mergeWith method to simplify codeChris Lattner2002-11-111-5/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4687 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug that could trigger when varargs call sites had non-matching number ↵Chris Lattner2002-11-101-2/+9
| | | | | | of arguments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4683 91177308-0d34-0410-b5e6-96231b3b80d8
* * Dramatically rework liveness evaluation.Chris Lattner2002-11-101-172/+167
| | | | | | | | | | * Implement the first step of the Globals graph: Deleting nodes from function graphs. In practice, these nodes need to be moved to the globals graph, but this will be taken care of later. Note that the graphs computed right now are not strictly correct! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4681 91177308-0d34-0410-b5e6-96231b3b80d8
* Honor the shouldPrintAuxCalls flagChris Lattner2002-11-101-4/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4678 91177308-0d34-0410-b5e6-96231b3b80d8
* Initialize PrintAuxCalls memberChris Lattner2002-11-101-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4677 91177308-0d34-0410-b5e6-96231b3b80d8
* * Bottom-Up graphs print the Aux call vectorChris Lattner2002-11-101-16/+42
| | | | | | | | | | | * Significantly improve DEBUG output * Aggressively fold calls together if we inlined a graph that provides call nodes. * Add a bailout if the current graph has over 200 call nodes in it, this is a really whacky case that should never happen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4675 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix testcase: FunctionResolve/2002-11-09-ExternFn.llChris Lattner2002-11-101-19/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4668 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate the ability to remove global nodes from deadNodeElminate... for now.Chris Lattner2002-11-095-32/+8
| | | | | | | | This slows stuff down a bit, but it should get much better before it gets any worse. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4666 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove obsolete codeChris Lattner2002-11-091-14/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4665 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix logicChris Lattner2002-11-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4664 91177308-0d34-0410-b5e6-96231b3b80d8
* Add globals graphs to all three passesChris Lattner2002-11-094-34/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4663 91177308-0d34-0410-b5e6-96231b3b80d8
* Move maskNodeTypes to header fileChris Lattner2002-11-091-11/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4661 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up DSGraph::removeDeadNodes interfaceChris Lattner2002-11-095-30/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4660 91177308-0d34-0410-b5e6-96231b3b80d8
* Make removeTriviallyDeadNodes a private interface of DSGraphChris Lattner2002-11-095-8/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4659 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't put constants into the scalar map!Chris Lattner2002-11-091-9/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4657 91177308-0d34-0410-b5e6-96231b3b80d8
* Add initial support for a globals graphChris Lattner2002-11-092-26/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4656 91177308-0d34-0410-b5e6-96231b3b80d8
* Tighten up array handlingChris Lattner2002-11-091-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4655 91177308-0d34-0410-b5e6-96231b3b80d8
* #include Datastructure.h firstChris Lattner2002-11-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4654 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warningChris Lattner2002-11-095-8/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4649 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warning & release buildChris Lattner2002-11-091-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4648 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling errorChris Lattner2002-11-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4645 91177308-0d34-0410-b5e6-96231b3b80d8
* Fold arrays down to a single element. This causes huge wins on some benchmarksChris Lattner2002-11-081-0/+10
| | | | | | | | for example: 197.parser (64M->14M), 164.gzip (14M->2.7M). The actual graphs represented should not change at all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4643 91177308-0d34-0410-b5e6-96231b3b80d8
* ONLY merge in the aux call sites, this causes a HUGE speedupChris Lattner2002-11-081-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4640 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow specification of whether the call sites should be copied, AND whetherChris Lattner2002-11-081-2/+11
| | | | | | | the aux call sites should be copied git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4639 91177308-0d34-0410-b5e6-96231b3b80d8
* Reenable 'quick exit' caseChris Lattner2002-11-081-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4638 91177308-0d34-0410-b5e6-96231b3b80d8
* Reduce amount of work needed to compute ip/modrefChris Lattner2002-11-082-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4637 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement TD pass completely it now worksChris Lattner2002-11-081-113/+119
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4635 91177308-0d34-0410-b5e6-96231b3b80d8
* Cannot modify original call sites vectorChris Lattner2002-11-081-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4634 91177308-0d34-0410-b5e6-96231b3b80d8
* - Add a bunch of checking to make sure that dead nodes are not used after theyChris Lattner2002-11-081-12/+40
| | | | | | | | | | are marked DEAD. This helped track down some bugs - Fix a bunch of bugs where we were doing work on nodes after they became dead - Add support for aux function call sites - Add support for not cloning call sites git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4633 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove gunk used by broken TD passChris Lattner2002-11-081-12/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4632 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the new getMainFunction() method to efficiently locate mainChris Lattner2002-11-081-10/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4630 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a method "getMainFunction()" that efficiently locates 'main' in a moduleChris Lattner2002-11-081-0/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4629 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix IPModRef to use new DS interfaceChris Lattner2002-11-082-16/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4628 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement feofChris Lattner2002-11-081-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4627 91177308-0d34-0410-b5e6-96231b3b80d8
* Use DSNodeHandleMap instead to be safeChris Lattner2002-11-083-16/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4622 91177308-0d34-0410-b5e6-96231b3b80d8
* * actually handle constants (especially constantexprs) correctly.Chris Lattner2002-11-081-11/+28
| | | | | | | | - This seems to dramatically improve many benchmarks, only slowing down gzip significantly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4621 91177308-0d34-0410-b5e6-96231b3b80d8
* Add flushChris Lattner2002-11-083-29/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4619 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: FunctionResolve/2002-11-07-RetMismatch.llChris Lattner2002-11-081-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4618 91177308-0d34-0410-b5e6-96231b3b80d8
* _REALLY_ fix the float constant problemChris Lattner2002-11-072-6/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4609 91177308-0d34-0410-b5e6-96231b3b80d8
* Print out 'float' constants correctlyChris Lattner2002-11-072-6/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4607 91177308-0d34-0410-b5e6-96231b3b80d8