Chris Lattner
c12e5ccdb5
Don't apply type information to load instructions if it will cause collapsing
...
llvm-svn: 5684
2003-03-03 17:13:31 +00:00
Chris Lattner
e79b8319a6
Adjust to implement new AA interface
...
llvm-svn: 5638
2003-02-26 19:29:36 +00:00
Chris Lattner
b39d6355e1
Fix resolution of indirect function calls... whoops
...
llvm-svn: 5576
2003-02-14 23:27:18 +00:00
Chris Lattner
b5cbfa0f15
Mark function edges
...
llvm-svn: 5571
2003-02-14 20:25:47 +00:00
Chris Lattner
8acdca64fd
- Eliminate provably non-pointer nodes from graphs.
...
This helps a lot of testcases, for example:
New Time New #Nodes Old Time Old #Nodes
254.gap: 91.1024 21605 91.1397 22657
povray31: 2.7807 8613 3.0152 10338
255.vortex: 1.2034 8153 1.2172 8822
moria: .6756 3150 .7054 3877
300.twolf: .1652 2010 .1851 3270
Typically, testcases which use long and ulong integers a lot get better, f.e. povray above.
llvm-svn: 5566
2003-02-14 06:28:00 +00:00
Chris Lattner
ddd3b7fa54
Don't put integer pointers (longs) into the scalar map.
...
This speeds stuff up by 10% on some tests, woot!
llvm-svn: 5564
2003-02-14 04:55:58 +00:00
Chris Lattner
3699ef409c
Hax0r around a deficiency in the Pass infrastructure
...
llvm-svn: 5555
2003-02-13 21:44:18 +00:00
Chris Lattner
60ede774af
Use the new tailclip property new added to graphviz CVS to make call nodes
...
actually intelligable
llvm-svn: 5554
2003-02-13 20:14:40 +00:00
Chris Lattner
a17866894a
Move node forwarding code from being inlined to being out-of-line.
...
This brings a 11.6% speedup to steens, and a 3.6 overall speedup to ds-aa
llvm-svn: 5552
2003-02-13 19:09:00 +00:00
Chris Lattner
7127d7db7a
Implement a "union-findy" version of DS-Analysis, which eliminates the
...
Referrers list on DSNodes.
llvm-svn: 5536
2003-02-11 23:11:51 +00:00
Chris Lattner
763502671d
Minor tweaks to printing. Close the file before viewing it in viewGraph
...
llvm-svn: 5535
2003-02-11 19:27:27 +00:00
Chris Lattner
e715357909
Modest speedup which seems to help steens quite a bit on large graphs
...
llvm-svn: 5532
2003-02-10 18:47:23 +00:00
Chris Lattner
f8292feb04
Fix problem breaking GAP, use hasNoReferrers more
...
llvm-svn: 5530
2003-02-10 18:18:18 +00:00
Chris Lattner
75007f16de
Implement a new "viewGraph" method which can be used to instantly view a graph from gdb
...
llvm-svn: 5528
2003-02-10 18:17:07 +00:00
Chris Lattner
b96f2123ab
Rearrange code
...
llvm-svn: 5527
2003-02-10 18:16:36 +00:00
Chris Lattner
5153d44a91
Fix problem breaking Fhourstones
...
llvm-svn: 5526
2003-02-10 18:16:19 +00:00
Chris Lattner
df2a78e833
Make steensgaards performance not shameful
...
llvm-svn: 5524
2003-02-10 00:14:57 +00:00
Chris Lattner
43df2886c5
Don't insert null entries into the scalar map for constexpr (cast null to Ty)
...
llvm-svn: 5523
2003-02-09 23:04:12 +00:00
Chris Lattner
4e0457a027
Switch to using the right call vector
...
llvm-svn: 5517
2003-02-09 19:26:47 +00:00
Chris Lattner
93fdaf9cb9
Fix major bugs in incompleteness marking that were pessimizing results
...
llvm-svn: 5515
2003-02-09 18:42:43 +00:00
Chris Lattner
e4059b4ed6
Print out the steens graph if -debug is specified
...
llvm-svn: 5514
2003-02-09 18:42:16 +00:00
Chris Lattner
0eee7eb390
* Fix a bug where global incompleteness marking would not mark the global
...
itself incomplete!
* Allow incompleteness callers to specify they don't want globals to be
considered sources of incompleteness.
llvm-svn: 5513
2003-02-09 18:41:49 +00:00
Chris Lattner
26bd24cd81
Add a special case for main because we know it's incoming arguments don't alias
...
llvm-svn: 5511
2003-02-08 23:08:02 +00:00
Chris Lattner
d73f9f55f2
Fix a bug where we would mark the callees arguments incomplete if the caller was external.
...
llvm-svn: 5510
2003-02-08 23:07:39 +00:00
Chris Lattner
63ea85f089
Remove explicit result counters
...
llvm-svn: 5508
2003-02-08 23:03:17 +00:00
Chris Lattner
cb7d6429fc
Add a flag which effectively disables field sensitivity
...
llvm-svn: 5506
2003-02-08 20:18:39 +00:00
Chris Lattner
fdc902e6f2
Don't bother counting alias results, allow the AliasAnalysisCounter to do that.
...
llvm-svn: 5505
2003-02-07 20:39:48 +00:00
Chris Lattner
f7979c2f2b
Fix an assertion failure
...
llvm-svn: 5496
2003-02-06 00:15:08 +00:00
Chris Lattner
80614ee5ef
Implement optimization for direct function call case. This dramatically
...
reduces the number of function nodes created and speeds up analysis by
about 10% overall.
llvm-svn: 5495
2003-02-05 21:59:58 +00:00
Chris Lattner
d7357ab5d1
Remove bogus assertion
...
llvm-svn: 5492
2003-02-04 16:33:23 +00:00
Chris Lattner
04fb4b5808
Fix a huge bug with handling non-pointer instructions
...
llvm-svn: 5491
2003-02-04 00:59:50 +00:00
Chris Lattner
36fd3eccbd
Make the TD pass not include all of the call nodes from the local pass,
...
eliminating incomplete markers from them
llvm-svn: 5490
2003-02-04 00:59:32 +00:00
Chris Lattner
a0e9e6ec8c
Add sanity check
...
llvm-svn: 5489
2003-02-04 00:03:57 +00:00
Chris Lattner
7e41fedd3a
Fix steensgaard to work on a lot more cases...
...
llvm-svn: 5488
2003-02-04 00:03:37 +00:00
Chris Lattner
4113571cd1
Fix printing of nonfunction graphs
...
llvm-svn: 5487
2003-02-04 00:03:18 +00:00
Chris Lattner
eededa396e
Rename variable
...
llvm-svn: 5486
2003-02-03 22:51:53 +00:00
Chris Lattner
390cec0c77
Hack to work around deficiency in pass infrastructure
...
llvm-svn: 5485
2003-02-03 22:51:28 +00:00
Chris Lattner
8fd2b77547
Initial implementation of ds-aa
...
llvm-svn: 5484
2003-02-03 22:50:46 +00:00
Chris Lattner
1d3922ac0b
* Fix a bug introduced in the last checkin wrt Stack markers
...
* Make cloning more efficient in the process...
llvm-svn: 5479
2003-02-03 20:08:51 +00:00
Chris Lattner
8bb9513bd8
Implement the globals graph!
...
llvm-svn: 5477
2003-02-03 19:12:15 +00:00
Chris Lattner
e396e9bbae
Add better debug output
...
llvm-svn: 5476
2003-02-03 19:11:38 +00:00
Chris Lattner
07ba9d9010
Be a bit more specific in caption
...
llvm-svn: 5469
2003-02-02 16:42:01 +00:00
Chris Lattner
9e75f38bb9
Fix a bug where we would delete neccesary calls in bu pass
...
llvm-svn: 5465
2003-02-01 06:54:31 +00:00
Chris Lattner
5965bbb02f
Fix a bug where we would incorrectly delete globals which had edges to alive 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
2003-02-01 06:51:17 +00:00
Chris Lattner
c154bdcd4c
Delete nodes more efficiently
...
llvm-svn: 5463
2003-02-01 06:41:15 +00:00
Chris Lattner
71449ba556
Remove dead nodes more efficiently
...
llvm-svn: 5462
2003-02-01 06:23:33 +00:00
Chris Lattner
4f276cc4dd
Improve efficiency of aliveness traversal code
...
llvm-svn: 5461
2003-02-01 06:17:02 +00:00
Chris Lattner
c44c04af44
Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)
...
This change provides a small (3%) but consistent speedup
llvm-svn: 5460
2003-02-01 04:52:08 +00:00
Chris Lattner
ee97c8b08a
Remove using declarations
...
llvm-svn: 5456
2003-02-01 04:01:21 +00:00
Chris Lattner
87d76c7f01
Remove globals on the bottom up pass which do not contain any information
...
llvm-svn: 5451
2003-01-31 23:57:36 +00:00