Commit Graph

51 Commits

Author SHA1 Message Date
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
Chris Lattner 193e6924ca Checkin some major reworks of data structure analysis. This is not done,
nor does it work very well, but I need to get it checked in before I break
the tree unintentionally.

llvm-svn: 3996
2002-10-01 22:33:50 +00:00
Chris Lattner 35f0c49feb Add new -only-print-main-ds option that causes mains ds graph to be
printed, but no others.

llvm-svn: 3178
2002-07-31 17:15:40 +00:00
Vikram S. Adve 256776e91f Print globals graph after either the BU or the TD pass.
llvm-svn: 3172
2002-07-30 22:07:26 +00:00
Chris Lattner 96a0dfa33e * Standardize how analysis results/passes as printed with the print() virtual
methods
* Eliminate AnalysisID:  Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
  the analyses themselves.

llvm-svn: 3115
2002-07-27 01:12:15 +00:00
Chris Lattner 4c0d620a82 Lots of bug fixes, add BottomUpClosure, which has bugs, but is a start.
llvm-svn: 2945
2002-07-18 00:12:30 +00:00
Anand Shukla d862545ad2 added std:: to string
llvm-svn: 2915
2002-07-16 00:03:10 +00:00
Chris Lattner 83ce4f9298 * Pass the DSGraph around instead of the Function to printing fns
* Print the globals list in the node
* Print the scalars in the scalar node
* Eliminate Scalar "label" edges in the graph
* Print fake edges lighter instead of dotted

llvm-svn: 2880
2002-07-11 20:33:32 +00:00