4501 Commits

Author SHA1 Message Date
Dinakar Dhurjati
9da9f0534e Gives the count for various instructions.
llvm-svn: 4706
2002-11-13 18:22:13 +00:00
Vikram S. Adve
2dfc11dc3b Pass to compute various statisics related to DSGraphs.
For now, this just computes the #indirect call sites and
the avg. #callees per indirect call site (actually it prints
both totals and the average is their ratio).

llvm-svn: 4705
2002-11-13 15:41:00 +00:00
Chris Lattner
996bf14a4f Fix bug: 2002-11-13-PointerFunction.ll
This should fix codegen on vortex to work much better

llvm-svn: 4704
2002-11-13 06:54:20 +00:00
Chris Lattner
c185d38059 New testcase
llvm-svn: 4703
2002-11-13 06:54:00 +00:00
Chris Lattner
195d36a7cc Add new numbers
llvm-svn: 4702
2002-11-12 16:06:51 +00:00
Chris Lattner
b257e87db5 Inline graphs from outside the SCC into the SCC before SCC resolution starts
llvm-svn: 4701
2002-11-12 15:58:08 +00:00
Chris Lattner
57e3d39384 Remove dead method, add new method
llvm-svn: 4700
2002-11-12 15:57:28 +00:00
Chris Lattner
cd37857ad0 Fix two bugs:
* The globals vector was getting broken and unsorted, this caused vortex
   to get badly pessimized
 * Node offset handling was being handled really poorly, and in particular
   we were not merging types with offsets right.  This causes several graphs
   to be non-merged.

llvm-svn: 4699
2002-11-12 07:20:45 +00:00
Chris Lattner
29bd066d67 Add new numbers
llvm-svn: 4698
2002-11-12 06:53:43 +00:00
Chris Lattner
3b303e5ab8 Fix bug
llvm-svn: 4697
2002-11-11 22:23:56 +00:00
Chris Lattner
f56a5282d2 Handle a mismatch between # function args and call site args
llvm-svn: 4696
2002-11-11 21:36:05 +00:00
Chris Lattner
6fcb6f1472 Elimiante calls to a node with nothing in it.
llvm-svn: 4695
2002-11-11 21:35:38 +00:00
Chris Lattner
0052b69a32 Complete rewrite of BU code to use Tarjan's SCC finding algorithm to drive
the algorithm instead of hand coded depth first iteration

llvm-svn: 4694
2002-11-11 21:35:13 +00:00
Chris Lattner
2ecb91e1c1 Almost complete rewrite of BU closure code
llvm-svn: 4693
2002-11-11 21:34:34 +00:00
Chris Lattner
8a3ae7a80d More numbers
llvm-svn: 4692
2002-11-11 20:48:45 +00:00
Brian Gaeke
8cfe5d95f1 InstSelectSimple.cpp: (visitReturnInst) Add return instructions with return
values.
X86InstrInfo.def: add LEAVE instruction.

llvm-svn: 4691
2002-11-11 19:37:09 +00:00
Chris Lattner
fb44e1ff28 Mark stuff reachable by _AUX_ calls as incomplete in the BU graph
llvm-svn: 4690
2002-11-11 03:36:55 +00:00
Chris Lattner
f05d126a68 Fix infinite loop in the BU algorithm. Unfortunately this dies a serious
death when handling moderately sized SCC's, but what can you do

llvm-svn: 4689
2002-11-11 00:01:34 +00:00
Chris Lattner
a7302da4e8 Print the right call set size
llvm-svn: 4688
2002-11-11 00:01:02 +00:00
Chris Lattner
41bf6e1bc6 Use call site mergeWith method to simplify code
llvm-svn: 4687
2002-11-11 00:00:46 +00:00
Chris Lattner
47457c43f4 add method
llvm-svn: 4686
2002-11-10 23:47:02 +00:00
Chris Lattner
aaabf591d2 Add code to be able to merge two call sites
llvm-svn: 4685
2002-11-10 23:46:51 +00:00
Chris Lattner
f088bcac1c Add tarj_end() method
llvm-svn: 4684
2002-11-10 23:46:31 +00:00
Chris Lattner
0fe1af497d Fix a bug that could trigger when varargs call sites had non-matching number of arguments
llvm-svn: 4683
2002-11-10 07:46:08 +00:00
Chris Lattner
82609bbc7c Add more info
llvm-svn: 4682
2002-11-10 07:31:38 +00:00
Chris Lattner
928e9c012b * Dramatically rework liveness evaluation.
* Implement the first step of the Globals graph: Deleting nodes from function
  graphs.  In practice, these nodes need to be moved to the globals graph, but
  this will be taken care of later.  Note that the graphs computed right now are
  not strictly correct!

llvm-svn: 4681
2002-11-10 06:59:55 +00:00
Chris Lattner
9df7df3e02 Add more numbers
llvm-svn: 4680
2002-11-10 06:55:29 +00:00
Chris Lattner
a91cf7f41b Add a timer to evaluate bytecode load time and space requirements
llvm-svn: 4679
2002-11-10 06:55:02 +00:00
Chris Lattner
f5667969d1 Honor the shouldPrintAuxCalls flag
llvm-svn: 4678
2002-11-10 06:53:59 +00:00
Chris Lattner
2597c1158f Initialize PrintAuxCalls member
llvm-svn: 4677
2002-11-10 06:53:38 +00:00
Chris Lattner
db1822a429 Add hasGraph() methods to all of the passes for the printer
llvm-svn: 4676
2002-11-10 06:53:19 +00:00
Chris Lattner
a30663385f * Bottom-Up graphs print the Aux call vector
* Significantly improve DEBUG output
* Aggressively fold calls together if we inlined a graph that provides
  call nodes.
* Add a bailout if the current graph has over 200 call nodes in it, this is
  a really whacky case that should never happen.

llvm-svn: 4675
2002-11-10 06:52:47 +00:00
Chris Lattner
7cb6ecd396 Implement swapping
llvm-svn: 4674
2002-11-10 06:48:24 +00:00
Chris Lattner
fbfba19b2f Implement support for swapping. Callsites now sort by callee
llvm-svn: 4673
2002-11-10 06:48:11 +00:00
Chris Lattner
667b09146f Add capability to set a preference of what call vector is printed to dot files
llvm-svn: 4672
2002-11-10 06:47:35 +00:00
Chris Lattner
58a8339c03 Fix a problem where bad graphs could be generated
llvm-svn: 4671
2002-11-10 06:47:03 +00:00
Chris Lattner
8175700c70 Run local, bu, & td analyses
llvm-svn: 4670
2002-11-10 06:41:19 +00:00
Chris Lattner
b5493b772c Add new test that causes infinite recursion in bu pass
llvm-svn: 4669
2002-11-10 06:41:07 +00:00
Chris Lattner
96d1bfd014 Fix testcase: FunctionResolve/2002-11-09-ExternFn.ll
llvm-svn: 4668
2002-11-10 03:36:55 +00:00
Chris Lattner
d700f5db93 New testcase
llvm-svn: 4667
2002-11-10 03:35:43 +00:00
Chris Lattner
1fe76d2385 eliminate the ability to remove global nodes from deadNodeElminate... for now.
This slows stuff down a bit, but it should get much better before it gets any
worse.

llvm-svn: 4666
2002-11-09 22:07:02 +00:00
Chris Lattner
d9c732c581 Remove obsolete code
llvm-svn: 4665
2002-11-09 21:41:44 +00:00
Chris Lattner
20d264e16b Fix logic
llvm-svn: 4664
2002-11-09 21:40:58 +00:00
Chris Lattner
0752756a6a Add globals graphs to all three passes
llvm-svn: 4663
2002-11-09 21:12:07 +00:00
Chris Lattner
c2eca7c7bc Move maskNodeTypes from cpp file
llvm-svn: 4662
2002-11-09 21:02:30 +00:00
Chris Lattner
f6ea37ce99 Move maskNodeTypes to header file
llvm-svn: 4661
2002-11-09 21:02:26 +00:00
Chris Lattner
e726eb5ea7 Clean up DSGraph::removeDeadNodes interface
llvm-svn: 4660
2002-11-09 21:00:49 +00:00
Chris Lattner
3e54e8f3ca Make removeTriviallyDeadNodes a private interface of DSGraph
llvm-svn: 4659
2002-11-09 20:55:24 +00:00
Chris Lattner
f17ffc0cc5 Make removeTriviallyDeadNodes a private interface
llvm-svn: 4658
2002-11-09 20:55:04 +00:00
Chris Lattner
082bbe3069 Don't put constants into the scalar map!
llvm-svn: 4657
2002-11-09 20:14:03 +00:00