llvm-6502/lib/Analysis/DataStructure
Chris Lattner d57e55ec0d Change the way that the TD pass inlines graphs. Instead of inlining each
graph into all of the functions it calls when we visit a graph, change it so
that the graph visitor inlines all of the callers of a graph into the current
graph when it visits it.

While we're at it, inline global information from the GG instead of from each
of the callers.  The GG contains a superset of the info that the callers do
anyway, and this way we only need to do it one time (not one for each caller).

This speeds up the TD pass substantially on several programs, and there is
still room for improvement.  For example, the TD pass used to take 147s
on perlbmk, it now takes 36s.  On povray, we went from about 5s to 1.97s.
134.perl is down from ~1s for Loc+BU+TD to .6s.

The TD pass needs a lot of improvement though, which will occur with later
patches.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20723 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-21 04:55:35 +00:00
..
BottomUpClosure.cpp remove some pointless asserts 2005-03-20 04:29:39 +00:00
CompleteBottomUp.cpp remove some pointless asserts 2005-03-20 04:29:39 +00:00
DataStructure.cpp Remove the ability to keep track of inlined globals, which is always dead. 2005-03-20 04:30:30 +00:00
DataStructureAA.cpp #ifdef out a function only used by #ifdef'd code. 2005-03-20 02:14:15 +00:00
DataStructureOpt.cpp Fix the missing symbols problem Bill was hitting. Patch contributed by 2005-03-17 15:38:16 +00:00
DataStructureStats.cpp method was renamed. 2005-03-20 02:40:27 +00:00
EquivClassGraphs.cpp remove some pointless asserts 2005-03-20 04:29:39 +00:00
GraphChecker.cpp remove use of compat_iterator. 2005-03-16 22:42:19 +00:00
Local.cpp Build EC's for globals twice. The first is after constructing the initial 2005-03-20 03:32:35 +00:00
Makefile Fix library name. 2004-10-28 05:36:48 +00:00
Printer.cpp print out equiv class info. 2005-03-20 02:40:11 +00:00
Steensgaard.cpp -steens doesn't use the inlined globals facility. 2005-03-20 04:23:57 +00:00
TopDownClosure.cpp Change the way that the TD pass inlines graphs. Instead of inlining each 2005-03-21 04:55:35 +00:00