31724 Commits

Author SHA1 Message Date
Chris Lattner
e79ce7d359 Honor the shouldPrintAuxCalls flag
llvm-svn: 4678
2002-11-10 06:53:59 +00:00
Chris Lattner
17da287408 Initialize PrintAuxCalls member
llvm-svn: 4677
2002-11-10 06:53:38 +00:00
Chris Lattner
6fa433344d Add hasGraph() methods to all of the passes for the printer
llvm-svn: 4676
2002-11-10 06:53:19 +00:00
Chris Lattner
3b83d797d6 * 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
f4850d6484 Implement swapping
llvm-svn: 4674
2002-11-10 06:48:24 +00:00
Chris Lattner
69494867d8 Implement support for swapping. Callsites now sort by callee
llvm-svn: 4673
2002-11-10 06:48:11 +00:00
Chris Lattner
4525e7899d 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
628b23ab1d Fix a problem where bad graphs could be generated
llvm-svn: 4671
2002-11-10 06:47:03 +00:00
Chris Lattner
113d03b3f9 Run local, bu, & td analyses
llvm-svn: 4670
2002-11-10 06:41:19 +00:00
Chris Lattner
669e4e19df Add new test that causes infinite recursion in bu pass
llvm-svn: 4669
2002-11-10 06:41:07 +00:00
Chris Lattner
52b8fc0c35 Fix testcase: FunctionResolve/2002-11-09-ExternFn.ll
llvm-svn: 4668
2002-11-10 03:36:55 +00:00
Chris Lattner
24e12a5bde New testcase
llvm-svn: 4667
2002-11-10 03:35:43 +00:00
Chris Lattner
715a3a3b5c 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
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
ac64873403 Move maskNodeTypes from cpp file
llvm-svn: 4662
2002-11-09 21:02:30 +00:00
Chris Lattner
0de21ea32d Move maskNodeTypes to header file
llvm-svn: 4661
2002-11-09 21:02:26 +00:00
Chris Lattner
380d1ad4ab Clean up DSGraph::removeDeadNodes interface
llvm-svn: 4660
2002-11-09 21:00:49 +00:00
Chris Lattner
e703c52b20 Make removeTriviallyDeadNodes a private interface of DSGraph
llvm-svn: 4659
2002-11-09 20:55:24 +00:00
Chris Lattner
71381c4f34 Make removeTriviallyDeadNodes a private interface
llvm-svn: 4658
2002-11-09 20:55:04 +00:00
Chris Lattner
2dd1adafa6 Don't put constants into the scalar map!
llvm-svn: 4657
2002-11-09 20:14:03 +00:00
Chris Lattner
e742f31e0c Add initial support for a globals graph
llvm-svn: 4656
2002-11-09 20:01:01 +00:00
Chris Lattner
5737a600d7 Tighten up array handling
llvm-svn: 4655
2002-11-09 19:25:27 +00:00
Chris Lattner
bcc12023ce #include Datastructure.h first
llvm-svn: 4654
2002-11-09 19:25:10 +00:00
Chris Lattner
ba421d7fa4 Remove unneccesary #include
llvm-svn: 4653
2002-11-09 19:24:41 +00:00
Chris Lattner
352879d022 Remove GlobalDSGraph delcaration
llvm-svn: 4652
2002-11-09 19:21:56 +00:00
Chris Lattner
74c28a7f1e Add highlighting of changes fields
llvm-svn: 4651
2002-11-09 19:15:58 +00:00
Chris Lattner
f8890ec4c7 Allow tests to be run with release tools when ENABLE_OPTIMIZED=1
llvm-svn: 4650
2002-11-09 00:50:02 +00:00
Chris Lattner
a2620ac156 Fix warning
llvm-svn: 4649
2002-11-09 00:49:43 +00:00
Chris Lattner
63aeefeafb Fix warning & release build
llvm-svn: 4648
2002-11-09 00:49:05 +00:00
Chris Lattner
99cffdf379 Fix release build
llvm-svn: 4647
2002-11-09 00:48:52 +00:00
Chris Lattner
944dd0b1db Add new methods
llvm-svn: 4646
2002-11-08 23:22:48 +00:00
Chris Lattner
0da31d6648 Fix spelling error
llvm-svn: 4645
2002-11-08 23:18:37 +00:00
Chris Lattner
89352b53c4 Add numbers for array folding
llvm-svn: 4644
2002-11-08 22:51:10 +00:00
Chris Lattner
be46569ba1 Fold arrays down to a single element. This causes huge wins on some benchmarks
for example: 197.parser (64M->14M), 164.gzip (14M->2.7M).  The actual graphs
represented should not change at all.

llvm-svn: 4643
2002-11-08 22:49:57 +00:00
Chris Lattner
e26ec23cbb Add a bunch more numbers
llvm-svn: 4642
2002-11-08 22:29:30 +00:00
Chris Lattner
27ad48cdc8 Add another option to cloneGraph
llvm-svn: 4641
2002-11-08 22:28:55 +00:00
Chris Lattner
09a21dc2f5 ONLY merge in the aux call sites, this causes a HUGE speedup
llvm-svn: 4640
2002-11-08 22:27:25 +00:00
Chris Lattner
56363a05e6 Allow specification of whether the call sites should be copied, AND whether
the aux call sites should be copied

llvm-svn: 4639
2002-11-08 22:27:09 +00:00
Chris Lattner
ef305cec98 Reenable 'quick exit' case
llvm-svn: 4638
2002-11-08 22:26:43 +00:00
Chris Lattner
2ea00e994e Reduce amount of work needed to compute ip/modref
llvm-svn: 4637
2002-11-08 22:17:01 +00:00
Chris Lattner
ecbc827e1d fix path
llvm-svn: 4636
2002-11-08 21:29:22 +00:00
Chris Lattner
0c2f4bab3a Reimplement TD pass completely it now works
llvm-svn: 4635
2002-11-08 21:28:37 +00:00
Chris Lattner
a06ac62a5e Cannot modify original call sites vector
llvm-svn: 4634
2002-11-08 21:27:37 +00:00
Chris Lattner
c20122732e - Add a bunch of checking to make sure that dead nodes are not used after they
are marked DEAD.  This helped track down some bugs
- Fix a bunch of bugs where we were doing work on nodes after they became dead
- Add support for aux function call sites
- Add support for not cloning call sites

llvm-svn: 4633
2002-11-08 21:27:12 +00:00
Chris Lattner
639898c9bb Remove gunk used by broken TD pass
llvm-svn: 4632
2002-11-08 21:25:24 +00:00
Chris Lattner
79a6ab809d - Add support for an "auxillary" call site list
- Original call sites are now never modified after construction by the local
  pass.
- DSGraph::cloneInto can now optionally not clone the call sites
- BUDataStructures no longer has a ton of book-keeping info for a broken
  implementation of the TD data structures

llvm-svn: 4631
2002-11-08 21:24:51 +00:00
Chris Lattner
17069b342a Use the new getMainFunction() method to efficiently locate main
llvm-svn: 4630
2002-11-08 20:34:21 +00:00
Chris Lattner
1f985e0d3c Add a method "getMainFunction()" that efficiently locates 'main' in a module
llvm-svn: 4629
2002-11-08 20:34:02 +00:00