Chris Lattner
5636eec5fb
s/Meth/F
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8244 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 01:38:00 +00:00
Chris Lattner
fd4d8975cf
Add new methods, update comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7962 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 22:10:57 +00:00
Misha Brukman
5560c9d49c
Spell `necessary' correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00
Chris Lattner
7dd46b09c0
Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7915 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-16 20:57:16 +00:00
Chris Lattner
8366b38ff7
Add a comment to the method decl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7609 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 18:38:16 +00:00
Sumant Kowshik
9f2ac19f8e
Added declaration of mergeInGlobalsGraph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7607 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 17:06:18 +00:00
Chris Lattner
869ff9e7be
Remove #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7339 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-26 22:56:46 +00:00
Chris Lattner
be67780f31
#include <cassert> as necessary...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7315 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:58:41 +00:00
Chris Lattner
d957518b51
Use the C++ <cassert> header, not the C <assert.h> header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7310 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:34:17 +00:00
Chris Lattner
949a362802
Remove redundant const qualifiers from cast<> expressions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7253 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:30:06 +00:00
Vikram S. Adve
a53e3da92c
(1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes
...
to clone the subgraph reachable from a set of root nodes, into the
current graph, merging the global nodes into those in the current graph.
(2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the
globals graph into the current graph in both BU and TD passes.
(3) Added hash_set<const GlobalValue*> InlinedGlobals: a set of globals to
track which globals have been inlined into the current graph from
callers or callees. In the TD pass, such globals are up-to-date and
do not need to be rematerialized from the GlobalsGraph.
(4) Added StripIncompleteBit/KeepIncompleteBit to remove incomplete bit
when cloning nodes into the globals graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16 21:45:15 +00:00
Chris Lattner
3915da3e0f
INCLUDE_PARENT_GRAPH is required
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7089 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:57:21 +00:00
Chris Lattner
a523e22a20
Remove dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7083 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:43:06 +00:00
Chris Lattner
8fd2715098
Add new methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7057 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:37:00 +00:00
Chris Lattner
73440f6a15
Disable the parent graph code when not compiled in DEBUG mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7056 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:33:55 +00:00
Chris Lattner
c019f9bba5
TD pass keeps track of which functions have complete arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7048 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 21:12:10 +00:00
Chris Lattner
b512b24442
Add new operator= impl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7047 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 21:11:59 +00:00
Chris Lattner
e2fe664e8f
Ok, I'm a moron. Fixed now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7035 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 17:15:11 +00:00
Chris Lattner
985d31215c
Fix major problem that was causing all kinds of nasty foldings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7034 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 17:10:50 +00:00
Chris Lattner
17d5d863b2
Add new methods to BUDS for keeping track of a precise call graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7028 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 16:27:15 +00:00
John Criswell
7a73b80b90
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
Chris Lattner
a9d6566e36
Add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7007 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:57:30 +00:00
Chris Lattner
332f0aa425
Be more const correct
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7004 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:27:05 +00:00
Chris Lattner
fa45c7a938
Constness changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7002 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:10:09 +00:00
Chris Lattner
17fefa3ac3
Substantial revamp: DSGraphs now may contain the graphs for multiple functions
...
in the same graph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6991 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:14:23 +00:00
Chris Lattner
0baec255a7
Remove prototype for dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6989 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:13:28 +00:00
Chris Lattner
62b5c167de
Add support for gathering sets of must aliases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6971 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 00:23:11 +00:00
Chris Lattner
35de11f3b1
Add new DSGraph::ScalarMapTy typedef to avoid pulling representation issues
...
into callers of getScalarMap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 21:57:13 +00:00
Chris Lattner
2769e6ca92
Add new 'isComplete' method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6943 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 21:56:42 +00:00
Chris Lattner
3889a2cb05
Remove a ton of extraneous #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:08:05 +00:00
Chris Lattner
18345bb93f
Whoops, accidentally lost a #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6841 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:04:58 +00:00
Chris Lattner
5bb8776ece
Remove support for the MultiObject flag, which was just fundamentally broken
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6839 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:03:24 +00:00
Chris Lattner
160cf48671
Lots of changes to make the NodeType field private to DSNode.
...
Add new MultiObject flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6793 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 21:14:22 +00:00
John Criswell
be583b914d
Included assert.h so that the code compiles under newer versions of GCC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 14:01:36 +00:00
Chris Lattner
5b595b9421
Minor cleanups:
...
* LLVM #include should use "", not <>
* Fix line wrapping
* Remove noncopyable base class to improve doxygen output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6577 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:01 +00:00
Chris Lattner
e33b796851
Add more graph traits specializations for dominator tree nodes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5751 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-20 21:21:05 +00:00
Chris Lattner
b75f9dda9e
Add a few new 'add' methods. Move the iterator around
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5690 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 23:27:52 +00:00
Chris Lattner
af68ccefeb
Don't apply type information to loads
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5683 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:13:22 +00:00
Chris Lattner
f972cbd98c
Add dump method for loops
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5670 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 16:54:37 +00:00
Chris Lattner
1db0a40037
Add graph traits specializations for loop nesting information...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5666 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 03:05:15 +00:00
Chris Lattner
6bc4281336
Add new Loop::hasExitBlock helper method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5663 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:48:28 +00:00
Chris Lattner
f2e2925f95
Change behavior of changeExitBlock function to replace all instances of exit block
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5661 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:37:44 +00:00
Chris Lattner
ef05100950
Make the interface to update a little more efficient
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5651 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 20:24:17 +00:00
Chris Lattner
fe3ae1ed66
* LoopInfo now keeps track of exit blocks from the loop
...
* New LoopInfo::isLoopHeader method
* Remove some #if 0 code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5649 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 00:37:22 +00:00
Chris Lattner
31a9d185bf
Make the aliassettracker much more precise by actually tracking size
...
information for various accesses. What a concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5647 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 22:11:00 +00:00
Chris Lattner
f8783fadb4
BasicAA doesn't need a public header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5639 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:41:46 +00:00
Chris Lattner
13b6f22f04
Tweak to work with new AA implementation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5632 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:25:04 +00:00
Chris Lattner
1c56b730a6
Checkin of new alias analysis interface:
...
* Takes into account the size of the memory reference to determine aliasing.
* Expose mod/ref information in a more consistent way
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:24:47 +00:00
Chris Lattner
9971ac4a36
This is a substantial rewrite of the AliasSetTracker class which now uses
...
a union-find based algorithm, is significantly faster, and is more general.
It will also scale to handle call instructions correctly, which is a nice
added bonus.
This includes a new pass -print-alias-sets which can be used to show how
alias sets are formed for a particular analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5619 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:37:56 +00:00
Chris Lattner
731b2d7df5
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5552 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-13 19:09:00 +00:00