Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Implement the globals graph! | Chris Lattner | 2003-02-03 | 1 | -128/+163 | |
| | | | | llvm-svn: 5477 | |||||
* | Add better debug output | Chris Lattner | 2003-02-03 | 1 | -12/+20 | |
| | | | | llvm-svn: 5476 | |||||
* | Be a bit more specific in caption | Chris Lattner | 2003-02-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 5469 | |||||
* | Fix a bug where we would delete neccesary calls in bu pass | Chris Lattner | 2003-02-01 | 1 | -1/+2 | |
| | | | | llvm-svn: 5465 | |||||
* | Fix a bug where we would incorrectly delete globals which had edges to alive ↵ | Chris Lattner | 2003-02-01 | 1 | -3/+0 | |
| | | | | | | | | | nodes in a graph in the t-d pass. This slows down the TD pass by quite a bit (1/3), but is needed for correctness. llvm-svn: 5464 | |||||
* | Delete nodes more efficiently | Chris Lattner | 2003-02-01 | 1 | -6/+4 | |
| | | | | llvm-svn: 5463 | |||||
* | Remove dead nodes more efficiently | Chris Lattner | 2003-02-01 | 1 | -1/+2 | |
| | | | | llvm-svn: 5462 | |||||
* | Improve efficiency of aliveness traversal code | Chris Lattner | 2003-02-01 | 1 | -21/+19 | |
| | | | | llvm-svn: 5461 | |||||
* | Change DSGraph stuff to use hash_(set|map) instead of std::(set|map) | Chris Lattner | 2003-02-01 | 6 | -56/+54 | |
| | | | | | | This change provides a small (3%) but consistent speedup llvm-svn: 5460 | |||||
* | Remove using declarations | Chris Lattner | 2003-02-01 | 4 | -30/+24 | |
| | | | | llvm-svn: 5456 | |||||
* | Remove globals on the bottom up pass which do not contain any information | Chris Lattner | 2003-01-31 | 1 | -3/+22 | |
| | | | | llvm-svn: 5451 | |||||
* | Add functions to the ban list | Chris Lattner | 2003-01-31 | 1 | -1/+2 | |
| | | | | llvm-svn: 5450 | |||||
* | Use and implement API for graph traversals | Chris Lattner | 2003-01-29 | 1 | -24/+25 | |
| | | | | llvm-svn: 5431 | |||||
* | free instructions mark their operands as being heap nodes. | Chris Lattner | 2003-01-28 | 1 | -1/+2 | |
| | | | | llvm-svn: 5425 | |||||
* | * Eliminate boolean arguments in favor of using enums | Chris Lattner | 2003-01-23 | 5 | -18/+20 | |
| | | | | | | * T-D pass now eliminates unreachable globals llvm-svn: 5419 | |||||
* | Slight efficiency improvement | Chris Lattner | 2003-01-23 | 1 | -4/+1 | |
| | | | | llvm-svn: 5418 | |||||
* | Fix analysis of the Burg program | Chris Lattner | 2003-01-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 5401 | |||||
* | 'graph' is spelled without a 'c'. | Misha Brukman | 2002-12-12 | 1 | -3/+12 | |
| | | | | | | Also added Statistic counters for NoAlias and MayAlias. llvm-svn: 4972 | |||||
* | Two bug fixes: | Vikram S. Adve | 2002-12-06 | 1 | -13/+22 | |
| | | | | | | | | (1) Make entries for Constant values in the ScalarMap. (2) Set MOD bit for the node pointed to by the argument of a free instruction. llvm-svn: 4948 | |||||
* | Fix several related bugs in DSNode::mergeWith() caused by the | Vikram S. Adve | 2002-12-06 | 1 | -90/+102 | |
| | | | | | | | | | fact that the incoming nodes may be merged away at intermediate steps. Use an extra level of indirection via DSNodeHandles to track the nodes being merged. All this now happens in a static helper function MergeNodes(). llvm-svn: 4947 | |||||
* | Cute bug fix: when moving links from N to this, some links could have | Vikram S. Adve | 2002-12-05 | 1 | -14/+23 | |
| | | | | | | | been missed if node *this got merged away due to recursive merging! Also, links were not moved correctly if a node is collapsed. llvm-svn: 4933 | |||||
* | Fix logical error in TD pass: we should clear Mod/Ref bits of each caller | Vikram S. Adve | 2002-11-27 | 3 | -8/+17 | |
| | | | | | | | before inlining their graphs into a function. To support this, added flags to CloneFlags to strip/keep Mod/Ref bits. llvm-svn: 4836 | |||||
* | Keep global nodes in each DS Graph (by forcing them to be marked live). | Vikram S. Adve | 2002-11-25 | 1 | -3/+3 | |
| | | | | llvm-svn: 4831 | |||||
* | Add peak memory usage measurement stuff | Chris Lattner | 2002-11-18 | 1 | -40/+64 | |
| | | | | | | Add structure padding optimizations llvm-svn: 4749 | |||||
* | Add peak memory usage support | Chris Lattner | 2002-11-18 | 1 | -1/+4 | |
| | | | | llvm-svn: 4748 | |||||
* | Add stats | Chris Lattner | 2002-11-18 | 1 | -4/+15 | |
| | | | | llvm-svn: 4747 | |||||
* | Add hack to only consider indirect calls indirect if they do more than cast | Chris Lattner | 2002-11-17 | 1 | -6/+14 | |
| | | | | | | their source function llvm-svn: 4723 | |||||
* | Add MaxSCC statistics | Chris Lattner | 2002-11-17 | 1 | -6/+25 | |
| | | | | llvm-svn: 4722 | |||||
* | Pass to compute various statisics related to DSGraphs. | Vikram S. Adve | 2002-11-13 | 1 | -0/+86 | |
| | | | | | | | | For now, this just computes the #indirect call sites and the avg. #callees per indirect call site (actually it prints both totals and the average is their ratio). llvm-svn: 4705 | |||||
* | Inline graphs from outside the SCC into the SCC before SCC resolution starts | Chris Lattner | 2002-11-12 | 1 | -4/+104 | |
| | | | | llvm-svn: 4701 | |||||
* | Fix two bugs: | Chris Lattner | 2002-11-12 | 1 | -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. llvm-svn: 4699 | |||||
* | Handle a mismatch between # function args and call site args | Chris Lattner | 2002-11-11 | 1 | -1/+2 | |
| | | | | llvm-svn: 4696 | |||||
* | Elimiante calls to a node with nothing in it. | Chris Lattner | 2002-11-11 | 1 | -36/+45 | |
| | | | | llvm-svn: 4695 | |||||
* | Complete rewrite of BU code to use Tarjan's SCC finding algorithm to drive | Chris Lattner | 2002-11-11 | 1 | -265/+351 | |
| | | | | | | the algorithm instead of hand coded depth first iteration llvm-svn: 4694 | |||||
* | Mark stuff reachable by _AUX_ calls as incomplete in the BU graph | Chris Lattner | 2002-11-11 | 1 | -9/+15 | |
| | | | | llvm-svn: 4690 | |||||
* | Fix infinite loop in the BU algorithm. Unfortunately this dies a serious | Chris Lattner | 2002-11-11 | 1 | -30/+177 | |
| | | | | | | death when handling moderately sized SCC's, but what can you do llvm-svn: 4689 | |||||
* | Print the right call set size | Chris Lattner | 2002-11-11 | 1 | -1/+3 | |
| | | | | llvm-svn: 4688 | |||||
* | Use call site mergeWith method to simplify code | Chris Lattner | 2002-11-11 | 1 | -5/+1 | |
| | | | | llvm-svn: 4687 | |||||
* | Fix a bug that could trigger when varargs call sites had non-matching number ↵ | Chris Lattner | 2002-11-10 | 1 | -2/+9 | |
| | | | | | | of arguments llvm-svn: 4683 | |||||
* | * Dramatically rework liveness evaluation. | Chris Lattner | 2002-11-10 | 1 | -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! llvm-svn: 4681 | |||||
* | Honor the shouldPrintAuxCalls flag | Chris Lattner | 2002-11-10 | 1 | -4/+9 | |
| | | | | llvm-svn: 4678 | |||||
* | Initialize PrintAuxCalls member | Chris Lattner | 2002-11-10 | 1 | -0/+1 | |
| | | | | llvm-svn: 4677 | |||||
* | * Bottom-Up graphs print the Aux call vector | Chris Lattner | 2002-11-10 | 1 | -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. llvm-svn: 4675 | |||||
* | eliminate the ability to remove global nodes from deadNodeElminate... for now. | Chris Lattner | 2002-11-09 | 5 | -32/+8 | |
| | | | | | | | This slows stuff down a bit, but it should get much better before it gets any worse. llvm-svn: 4666 | |||||
* | Remove obsolete code | Chris Lattner | 2002-11-09 | 1 | -14/+0 | |
| | | | | llvm-svn: 4665 | |||||
* | Fix logic | Chris Lattner | 2002-11-09 | 1 | -1/+1 | |
| | | | | llvm-svn: 4664 | |||||
* | Add globals graphs to all three passes | Chris Lattner | 2002-11-09 | 4 | -34/+54 | |
| | | | | llvm-svn: 4663 | |||||
* | Move maskNodeTypes to header file | Chris Lattner | 2002-11-09 | 1 | -11/+0 | |
| | | | | llvm-svn: 4661 | |||||
* | Clean up DSGraph::removeDeadNodes interface | Chris Lattner | 2002-11-09 | 5 | -30/+18 | |
| | | | | llvm-svn: 4660 | |||||
* | Make removeTriviallyDeadNodes a private interface of DSGraph | Chris Lattner | 2002-11-09 | 5 | -8/+7 | |
| | | | | llvm-svn: 4659 |