- Mar 21, 2005
-
-
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
-
Chris Lattner authored
pointing this out! llvm-svn: 20721
-
- Mar 20, 2005
-
-
Chris Lattner authored
the DSGraph/2003-06-30-TopDownResolve.ll regression from last night. llvm-svn: 20717
-
Chris Lattner authored
llvm-svn: 20716
-
Chris Lattner authored
llvm-svn: 20715
-
Chris Lattner authored
llvm-svn: 20714
-
Chris Lattner authored
llvm-svn: 20713
-
Chris Lattner authored
llvm-svn: 20712
-
Chris Lattner authored
Globals Graph for the local pass, the second is after all of the locals graphs have been constructed. This allows for many additional global EC's to be recognized that weren't before. This speeds up analysis of programs like 177.mesa, where it changes DSA from taking 0.712s to 0.4018s. llvm-svn: 20711
-
Chris Lattner authored
llvm-svn: 20710
-
Chris Lattner authored
llvm-svn: 20709
-
Chris Lattner authored
llvm-svn: 20708
-
Chris Lattner authored
old methods. llvm-svn: 20707
-
Chris Lattner authored
llvm-svn: 20706
-
Chris Lattner authored
llvm-svn: 20705
-
Chris Lattner authored
llvm-svn: 20704
-
Chris Lattner authored
llvm-svn: 20703
-
Chris Lattner authored
llvm-svn: 20702
-
Chris Lattner authored
in a DSNode. llvm-svn: 20701
-
Chris Lattner authored
llvm-svn: 20700
-
Chris Lattner authored
llvm-svn: 20699
-
Misha Brukman authored
llvm-svn: 20698
-
- Mar 19, 2005
-
-
Jeff Cohen authored
llvm-svn: 20697
-
Chris Lattner authored
to tell apart anyway, and only track the leader for of these equivalence classes in our graphs. This dramatically reduces the number of GlobalValue*'s that appear in scalar maps, which A) reduces memory usage, by eliminating many many scalarmap entries and B) reduces time for operations that need to execute an operation for each global in the scalar map. As an example, this reduces the memory used to analyze 176.gcc from 1GB to 511MB, which (while it's still way too much) is better because it doesn't hit swap anymore. On eon, this shrinks the local graphs from 14MB to 6.8MB, shrinks the bu+td graphs of povray from 50M to 40M, shrinks the TD graphs of 130.li from 8.8M to 3.6M, etc. This change also speeds up DSA on large programs where this makes a big difference. For example, 130.li goes from 1.17s -> 0.56s, 134.perl goes from 2.14 -> 0.93s, povray goes from 15.63s->7.99s (!!!). This also apparently either fixes the problem that caused DSA to crash on perlbmk and gcc, or it hides it, because DSA now works on these. These both take entirely too much time in the TD pass (147s for perl, 538s for gcc, vs 7.67/5.9s in the bu pass for either one), but this is a known problem that I'll deal with later. llvm-svn: 20696
-
Chris Lattner authored
variables. Do not insert a global into the scalar map unless it is the leader of its equivalence class. llvm-svn: 20695
-
Chris Lattner authored
llvm-svn: 20694
-
Chris Lattner authored
llvm-svn: 20693
-
Chris Lattner authored
1. Make sure to clear() 'this' before adding elements to it 2. Make sure that the leaders of the RHS EC are the leaders of the LHS EC. llvm-svn: 20692
-
Chris Lattner authored
not be unified correctly. llvm-svn: 20691
-
Chris Lattner authored
llvm-svn: 20690
-
Chris Lattner authored
llvm-svn: 20689
-
Alkis Evlogimenos authored
llvm-svn: 20684
-