John Criswell
482202a601
Added LLVM project notice to the top of every C++ source file.
...
Header files will be on the way.
llvm-svn: 9298
2003-10-20 19:43:21 +00:00
Chris Lattner
049d558988
Print collapsed to match the paper
...
llvm-svn: 7063
2003-07-02 04:39:27 +00:00
Chris Lattner
8a30ad6d89
Dont' print scalar nodes for ConstantPointerRefs
...
llvm-svn: 7029
2003-07-01 16:27:32 +00:00
Chris Lattner
70923c688d
Use the getFunctionNames method
...
llvm-svn: 7008
2003-06-30 05:57:39 +00:00
Chris Lattner
63aeacfe3d
Revamp DSGraphs so that they can support multiple functions in the same
...
DSGraph at one time
llvm-svn: 6994
2003-06-30 03:15:25 +00:00
Chris Lattner
d791d8e427
Remove support for the MultiObject flag, which was fundamentally broken
...
llvm-svn: 6840
2003-06-22 03:03:52 +00:00
Chris Lattner
4853d162af
* Changes to make NodeType be private to DSNode.
...
* Add new MultiObject flag to DSNode which keeps track of whether or not
multiple objects have been merged into the node, allowing must-alias info
to be tracked.
llvm-svn: 6794
2003-06-19 21:15:11 +00:00
Chris Lattner
b5cbfa0f15
Mark function edges
...
llvm-svn: 5571
2003-02-14 20:25:47 +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
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
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
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
4113571cd1
Fix printing of nonfunction graphs
...
llvm-svn: 5487
2003-02-04 00:03:18 +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
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
77b80616b0
Add stats
...
llvm-svn: 4747
2002-11-18 21:42:45 +00:00
Chris Lattner
773da868a0
Print the right call set size
...
llvm-svn: 4688
2002-11-11 00:01:02 +00:00
Chris Lattner
e79ce7d359
Honor the shouldPrintAuxCalls flag
...
llvm-svn: 4678
2002-11-10 06:53:59 +00:00
Chris Lattner
3e32cd8e8b
Remove obsolete code
...
llvm-svn: 4665
2002-11-09 21:41:44 +00:00
Chris Lattner
d185d2ce9d
Fix logic
...
llvm-svn: 4664
2002-11-09 21:40:58 +00:00
Chris Lattner
4b1be35569
Add globals graphs to all three passes
...
llvm-svn: 4663
2002-11-09 21:12:07 +00:00
Chris Lattner
b0c9b37048
Add flush
...
llvm-svn: 4619
2002-11-08 01:21:07 +00:00
Chris Lattner
c03a377f6a
Compute total number of nodes and # call nodes
...
llvm-svn: 4592
2002-11-07 02:18:46 +00:00
Chris Lattner
2d0081a148
When the -only-print-main-ds option is specified, still print out graph size
...
statistics for skipped functions
llvm-svn: 4587
2002-11-07 01:54:44 +00:00
Chris Lattner
48e37d9b97
Dramatically simplify internal DSNode representation, get implementation
...
*FULLY OPERATIONAL* and safe. We are now capable of completely analyzing
at LEAST the Olden benchmarks + 181.mcf
llvm-svn: 4562
2002-11-06 06:20:27 +00:00
Chris Lattner
a20fabc7ec
Rename ValueMap to ScalarMap
...
llvm-svn: 4516
2002-11-03 21:27:48 +00:00
Chris Lattner
bd7af8e664
Rename NewNode flag to HeapNode
...
llvm-svn: 4515
2002-11-03 21:24:04 +00:00
Chris Lattner
4b6a813048
Change the letters used to represent stack and heap allocations to "S" and "H"
...
respectively. This is to make presentation easier in the paper.
llvm-svn: 4514
2002-11-03 19:46:15 +00:00
Chris Lattner
63ba1aca7c
Implement the "unknown flag" which mainly consists of aligning printing code
...
llvm-svn: 4490
2002-11-02 00:36:03 +00:00
Chris Lattner
a7b0d4eb08
Stop representing scalars as explicit nodes in the graph. Now the only
...
nodes in the graph are memory objects, which is very nice. This also greatly
reduces the size and memory footprint for DSGraphs. For example, the local
DSGraph for llu went from 65 to 13 nodes with this change. As a side bonus,
dot seems to lay out the graphs slightly better too. :)
llvm-svn: 4488
2002-11-02 00:13:20 +00:00
Chris Lattner
800b7e33df
Fix a confusing bug that caused return value and callee pointers to not
...
be printed!
llvm-svn: 4248
2002-10-21 13:47:57 +00:00
Chris Lattner
5c3ce31e1f
- Make DSCallSite not inherit from std::vector. Renamed methods slightly.
...
Make copy ctor have two versions to avoid dealing with conditional template
argument. DSCallSite ctor now takes all arguments instead of taking one
and being populated later.
llvm-svn: 4240
2002-10-21 02:08:03 +00:00
Chris Lattner
07d69052f8
Fix previous checkin :(
...
llvm-svn: 4233
2002-10-20 20:39:17 +00:00
Chris Lattner
43301680aa
Print the array flag
...
llvm-svn: 4231
2002-10-20 20:29:10 +00:00
Vikram S. Adve
dc9e142686
Added a first-class representation for each call site that can be
...
used in the DS graphs. Essentially, what was vector<DSNodeHandle>
before is now a DSCallSite with the same vector, plus pointers to the
CallInst and the caller Function. The special-purpose class
BUDataStructure::CallSite is no longer needed.
llvm-svn: 4228
2002-10-20 18:07:37 +00:00
Chris Lattner
f931f6b5c7
Convert typerec to be a structure instead of a pair
...
llvm-svn: 4226
2002-10-18 18:22:46 +00:00
Chris Lattner
ac2de97c75
Print Mod/ref info
...
llvm-svn: 4224
2002-10-17 22:13:28 +00:00
Chris Lattner
6b5acda098
Reenable printing of TD analysis
...
llvm-svn: 4214
2002-10-17 04:24:30 +00:00
Chris Lattner
ddebb4343e
Cleanup data structure graph printer, eliminate hard coded printing in
...
favor of generic printer.
llvm-svn: 4209
2002-10-17 01:02:46 +00:00
Chris Lattner
7b0ebe9983
Make sure to print out the call nodes as well
...
llvm-svn: 4203
2002-10-16 20:16:16 +00:00
Chris Lattner
fea9f0b786
* Print the "return" node in the graphs
...
llvm-svn: 4199
2002-10-16 02:04:36 +00:00
Chris Lattner
5274757b62
The second element of the iterator is really an offset, not a link
...
llvm-svn: 4196
2002-10-16 01:43:11 +00:00
Chris Lattner
b1c17ad7e8
Specify the graph name
...
llvm-svn: 4195
2002-10-16 01:34:28 +00:00
Chris Lattner
eb15c6d2b3
- DSGraph Printing Improvements:
...
* Print edge source labels again
* Override node shape to be Mrecord again, instead of just record.
llvm-svn: 4193
2002-10-16 01:18:27 +00:00
Chris Lattner
b0f38789da
Halfway conversion from custom printing to GraphWriter printing
...
llvm-svn: 4146
2002-10-13 19:31:57 +00:00
Chris Lattner
9dfb9f44cc
sgefa uses truely huge data structures nodes. Only print part of them if they
...
are so big
llvm-svn: 4035
2002-10-03 21:55:13 +00:00
Chris Lattner
c9c681e4f5
Reimplement/port the Bottom Up Closure pass
...
llvm-svn: 4031
2002-10-03 20:38:41 +00:00
Chris Lattner
3f69054dd5
DataStructure.h doesn't include DSGraph.h
...
llvm-svn: 4029
2002-10-02 22:14:38 +00:00
Chris Lattner
4e37455a69
When printing DS nodes, print the mergemap index as well to allow easier
...
debugging of merging process.
llvm-svn: 4010
2002-10-02 05:17:55 +00:00