"...Transforms/git@repo.hca.bsc.es:rferrer/llvm-epi-0.8.git" did not exist on "e45ac76ee4cb552dcff208332ae349514b7bf184"
- Feb 08, 2004
-
-
Chris Lattner authored
llvm-svn: 11171
-
Chris Lattner authored
Rename stats from dsnode -> dsa Add a new stat llvm-svn: 11167
-
- Feb 07, 2004
-
-
Chris Lattner authored
llvm-svn: 11157
-
- Jan 29, 2004
-
-
Chris Lattner authored
llvm-svn: 11006
-
Chris Lattner authored
llvm-svn: 11005
-
- Jan 28, 2004
-
-
Chris Lattner authored
llvm-svn: 11001
-
Chris Lattner authored
llvm-svn: 11000
-
Chris Lattner authored
moving it to the start of removeDeadNodes. This speeds up DSA by 2s on perlbmk from 41s llvm-svn: 10999
-
Chris Lattner authored
function to find the globals, iterate over all of the globals directly. This speeds the function up from 14s to 6.3s on perlbmk, reducing DSA time from 53->46s. llvm-svn: 10996
-
Chris Lattner authored
timers by default llvm-svn: 10993
-
Chris Lattner authored
This reduces the number of nodes allocated, then immediately merged and DNE'd from 2193852 to 1298049. unfortunately this only speeds DSA up by ~1.5s (of 53s), because it's spending most of its time waddling through the scalar map :( llvm-svn: 10992
-
Chris Lattner authored
Also, use RC::merge when possible, reducing the number of nodes allocated, then immediately merged away from 2985444 to 2193852 on perlbmk. llvm-svn: 10991
-
Chris Lattner authored
You gotta love spurious llvm-svn: 10990
-
- Jan 27, 2004
-
-
Chris Lattner authored
llvm-svn: 10989
-
Chris Lattner authored
it to be off. If it looks like it's completely unnecessary after testing, I will remove it completely (which is the hope). * Callers of the DSNode "copy ctor" can not choose to not copy links. * Make node collapsing not create a garbage node in some cases, avoiding a memory allocation, and a subsequent DNE. * When merging types, allow two functions of different types to be merged without collapsing. * Use DSNodeHandle::isNull more often instead of DSNodeHandle::getNode() == 0, as it is much more efficient. *** Implement the new, more efficient reachability cloner class In addition to only cloning nodes that are reachable from interesting roots, this also fixes the huge inefficiency we had where we cloned lots of nodes, only to merge them away immediately after they were cloned. Now we only actually allocate a node if there isn't one to merge it into. * Eliminate the now-obsolete cloneReachable* and clonePartiallyInto methods * Rewrite updateFromGlobalsGraph to use the reachability cloner * Rewrite mergeInGraph to use the reachability cloner * Disable the scalar map scanning code in removeTriviallyDeadNodes. In large SCC's, this is extremely expensive. We need a better data structure for the scalar map, because we really want to scan the unique node handles, not ALL of the scalars. * Remove the incorrect SANER_CODE_FOR_CHECKING_IF_ALL_REFERRERS_ARE_FROM_SCALARMAP code. * Move the code for eliminating integer nodes from the trivially dead eliminator to the dead node eliminator. * removeDeadNodes no longer uses removeTriviallyDeadNodes, as it contains a superset of the node removal power. * Only futz around with the globals graph in removeDeadNodes if it is modified llvm-svn: 10987
-
- Jan 23, 2004
-
-
Chris Lattner authored
Initial support for implementing clonePartiallyInto in terms of cloneReachableSubgraph, though this support is currently disabled. llvm-svn: 10970
-
- Jan 22, 2004
-
-
Chris Lattner authored
map was only used to implement a marginal GlobalsGraph optimization, and it actually slows the analysis down (due to the overhead of keeping it), so just eliminate it entirely. llvm-svn: 10955
-
Chris Lattner authored
llvm-svn: 10954
-
Chris Lattner authored
llvm-svn: 10953
-
Chris Lattner authored
in terms of it. Though clonePartiallyInto is not cloning partial graphs yet, this change dramatically speeds up inlining of graphs with many scalars. For example, this change speeds up the BU pass on 253.perlbmk from 69s to 36s, because it avoids iteration over the scalar map, which can get pretty large. llvm-svn: 10951
-
- Nov 13, 2003
-
-
Chris Lattner authored
llvm-svn: 9948
-
- Nov 12, 2003
-
-
Chris Lattner authored
llvm-svn: 9922
-
Chris Lattner authored
llvm-svn: 9913
-
- Nov 11, 2003
-
-
Brian Gaeke authored
llvm-svn: 9903
-
Chris Lattner authored
llvm-svn: 9895
-
Chris Lattner authored
llvm-svn: 9880
-
- Nov 02, 2003
-
-
Chris Lattner authored
used to eliminate the hard coded, hacked in, sparc specific, global TargetData. Changing the TargetData used to actually match the code fixes problems, and eliminates a crash. llvm-svn: 9659
-
Chris Lattner authored
llvm-svn: 9658
-
- Oct 20, 2003
-
-
John Criswell authored
Header files will be on the way. llvm-svn: 9298
-
- Sep 20, 2003
-
-
Chris Lattner authored
llvm-svn: 8634
-
Chris Lattner authored
CallSite class. Now we can represent function calls by invoke instructions too! llvm-svn: 8629
-
- Sep 11, 2003
-
-
Misha Brukman authored
llvm-svn: 8478
-
- Aug 05, 2003
-
-
Chris Lattner authored
llvm-svn: 7610
-
Sumant Kowshik authored
Added function mergeInGlobalsGraph which merges in the entire globals graph with the graph of a function llvm-svn: 7606
-
- Aug 02, 2003
-
-
Chris Lattner authored
llvm-svn: 7492
-
- Jul 22, 2003
-
-
Vikram S. Adve authored
llvm-svn: 7227
-
- Jul 16, 2003
-
-
Vikram S. Adve authored
and (2) faster inlining by cloning only reachable nodes. In particular: (1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes to clone the subgraph reachable from a set of root nodes, into the current graph, merging the global nodes into thos in the current graph. The TD pass now uses this for faster inlining, and so does the next function. (2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the globals graph into the current graph in both BU and TD passes. (3) `I' flags are removed from all nodes in the globals graph, because they are difficult to maintain correctly and are not needed anyway. (4) Aux. function calls are only removed to the globals graph if they will never be resovled. (This is what fixed gap.) The immediate reason is that if we took these out of a function (and moved them to the globals graph) we would need to rematerialize these nodes into the function graph for every function in the BU pass. The longer term problem is that we would need to find a way to remove them from the globals graph iff they have been resolved on all paths through the call graph. llvm-svn: 7187
-
- Jul 03, 2003
-
-
Chris Lattner authored
Fix a bug where we removed nodes that were marked U. llvm-svn: 7090
-
Chris Lattner authored
llvm-svn: 7088
-
- Jul 02, 2003
-
-
Chris Lattner authored
Minor cleanups, reenable folding of call nodes to external functions llvm-svn: 7061
-