- Mar 22, 2005
-
-
Chris Lattner authored
cloning a graph. llvm-svn: 20770
-
Andrew Lenharth authored
llvm-svn: 20769
-
Chris Lattner authored
llvm-svn: 20766
-
Chris Lattner authored
llvm-svn: 20765
-
Chris Lattner authored
by not allowing integer constants to get into the scalar map in the first place. llvm-svn: 20764
-
Chris Lattner authored
this clone is supposed to be used for *ALL* of the functions in the SCC. This fixes the memory explosion problem the TD pass was having, reducing the memory growth from 24MB -> 3.5MB on povray and 270MB ->8.3MB on perlbmk! This obviously also speeds up the TD pass *a lot*. llvm-svn: 20763
-
Chris Lattner authored
up the TD pass about 30% for povray and perlbmk. It's still not clear why copying a 5MB set of graphs turns into a 25MB set of graphs though :( llvm-svn: 20762
-
Chris Lattner authored
llvm-svn: 20761
-
Chris Lattner authored
cloneInto: make it an internally used mapping. llvm-svn: 20760
-
Chris Lattner authored
llvm-svn: 20759
-
Chris Lattner authored
llvm-svn: 20758
-
Chris Lattner authored
for the return node map. llvm-svn: 20757
-
Andrew Lenharth authored
two things: 1)evilness reduction patch, reduces the number of instructions hiding in the small jump CC moving code. 2)implement div of small data types by FP DIV (also reduces evilness and should speed things up) llvm-svn: 20756
-
Chris Lattner authored
this identity merge. llvm-svn: 20755
-
Chris Lattner authored
llvm-svn: 20754
-
Chris Lattner authored
llvm-svn: 20753
-
Chris Lattner authored
llvm-svn: 20752
-
Chris Lattner authored
llvm-svn: 20751
-
Chris Lattner authored
llvm-svn: 20750
-
Chris Lattner authored
llvm-svn: 20749
-
- Mar 21, 2005
-
-
Chris Lattner authored
llvm-svn: 20748
-
Chris Lattner authored
llvm-svn: 20747
-
Chris Lattner authored
sites that target multiple callees. If we have a function table, for example, with N callees, and M callers call through it, we used to have to perform O(M*N) graph inlinings. Now we perform O(M+N) inlinings. This speeds up the td pass on perlbmk from 36.26s to 25.75s. llvm-svn: 20743
-
Chris Lattner authored
llvm-svn: 20742
-
Chris Lattner authored
llvm-svn: 20741
-
Chris Lattner authored
more than 1 callee. This fixes Analysis/DSGraph/FunctionPointerTable-const.ll llvm-svn: 20740
-
Chris Lattner authored
llvm-svn: 20739
-
Misha Brukman authored
conservatively, it's modified llvm-svn: 20735
-
Chris Lattner authored
llvm-svn: 20734
-
Chris Lattner authored
llvm-svn: 20732
-
Chris Lattner authored
the merge has more operands than the LHS. llvm-svn: 20731
-
Chris Lattner authored
llvm-svn: 20730
-
Chris Lattner authored
llvm-svn: 20729
-
Chris Lattner authored
arguments, not one. llvm-svn: 20728
-
Chris Lattner authored
llvm-svn: 20727
-
Chris Lattner authored
defined in function constant pools. The assembler grammar has long disallowed functions from having constant pools, so all of this stuff is dead. This makes it an immediate error for functions to refer to nonexisting types, fixing Regression/Verifier/2005-03-21-UndefinedTypeReference.ll. Before, references to non-existing types in functions would only be detected when the subsequent function was parsed, due to the call to "ResolveTypes". "ResolveTypes" has not resolved any types for a long time, instead it emitted an error message if no resolved types are left. Since the only caller of this method is in the module code, just inline it. llvm-svn: 20726
-
Chris Lattner authored
llvm-svn: 20725
-
Tanya Lattner authored
Make this method non-const. Making it const causes the const version of getIGroup to be called instead of the non-const one. These two methods have (??) different behavior, so this change fixes bugs. llvm-svn: 20724
-
Chris Lattner authored
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. llvm-svn: 20723
-
Chris Lattner authored
llvm-svn: 20722
-