Misha Brukman
9769ab2226
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 20:19:05 +00:00
Chris Lattner
487cd15fdb
add new spliceFrom methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20823 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-24 23:45:20 +00:00
Chris Lattner
ee76095307
Fix a serious bug where we didn't insert globals into the globalset when
...
cloning a graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20770 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-22 19:44:11 +00:00
Chris Lattner
54fdcb2480
add a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20761 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-22 01:42:10 +00:00
Chris Lattner
a2197139b5
Now that the dead ctor is gone, nothing uses the old node mapping exported by
...
cloneInto: make it an internally used mapping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20760 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-22 00:36:51 +00:00
Chris Lattner
5805c426dc
remove a dead ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20759 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-22 00:33:35 +00:00
Chris Lattner
d65145bd3d
now that the second argument is always this->ReturnNodes, don't bother passing it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20758 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-22 00:29:44 +00:00
Chris Lattner
077531385e
drop the second argument to cloneInto, which is always the local scalar map.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20753 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-22 00:20:56 +00:00
Chris Lattner
dc77036a82
move this stuff out of line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20750 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-22 00:09:36 +00:00
Chris Lattner
f21918bfaf
allow passing clone flags into the ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20747 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-21 22:49:43 +00:00
Chris Lattner
b3439374ac
make this const correct
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20741 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-21 20:28:50 +00:00
Chris Lattner
c26f6d3899
Ugh, for some reason, I can't call this unless the reference is const!?!?!?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20732 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-21 10:00:45 +00:00
Chris Lattner
38d807ea8b
Make the first operand of this method be modifiable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20730 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-21 09:39:20 +00:00
Chris Lattner
1fd7d4a670
Remove the InlinedGlobals set which is always empty.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20715 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-20 04:30:16 +00:00
Chris Lattner
6269be8aca
Make each scalar map contain a reference to an equivalence class of global
...
variables. Do not insert a global into the scalar map unless it is the
leader of its equivalence class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20695 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-19 22:13:13 +00:00
Chris Lattner
0f34412293
add 3 methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20667 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-17 23:45:35 +00:00
Chris Lattner
df6001380a
remove use of compat_iterator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20642 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-16 22:42:01 +00:00
Chris Lattner
a9fec4ed81
remove warning, make computeGGToGMapping return an invnodemap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20621 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15 17:52:07 +00:00
Chris Lattner
60cc3e1c4e
add iterators for return nodes list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20617 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15 16:46:11 +00:00
Chris Lattner
e448580492
Rename method, add counterpart.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20592 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15 00:58:09 +00:00
Chris Lattner
62b2b22573
Add a useful method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20587 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-14 19:22:33 +00:00
Chris Lattner
d672ab936f
Add a new method to make it easy to update graphs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20194 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 18:40:55 +00:00
Chris Lattner
eefc71be20
Add some new members
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20034 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-04 19:58:06 +00:00
Chris Lattner
3a826203c7
Add a new method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20017 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-03 18:40:05 +00:00
Chris Lattner
a9548d9fd9
* Make some methods more const correct.
...
* Change the FunctionCalls and AuxFunctionCalls vectors into std::lists.
This makes many operations on these lists much more natural, and avoids
*exteremely* expensive copying of DSCallSites (e.g. moving nodes around
between lists, erasing a node from not the end of the vector, etc).
With a profile build of analyze, this speeds up BU DS from 25.14s to
12.59s on 176.gcc. I expect that it would help TD even more, but I don't
have data for it.
This effectively eliminates removeIdenticalCalls and children from the
profile, going from 6.53 to 0.27s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19939 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-30 23:51:02 +00:00
Chris Lattner
d5af7c4df6
Add some methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19817 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-24 19:55:34 +00:00
Jeff Cohen
2611dd4448
Get lib/Analysis/DataStructure to compile with VC++
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19412 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-09 04:18:28 +00:00
Chris Lattner
833408d484
Move method out of line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18666 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08 21:04:10 +00:00
Chris Lattner
6c49989b3e
Move DSA headers into Analysis/DataStructure to make it more obvious
...
what is implemented by the DataStructure library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14662 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-07 06:29:26 +00:00
Misha Brukman
dd298c8c6e
Doxygenified and cleand up comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:08:20 +00:00
Chris Lattner
69a69ff5fd
new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12263 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 19:36:59 +00:00
Chris Lattner
66be3c8f72
Rename method, add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12103 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03 22:00:20 +00:00
Chris Lattner
3d549b18a3
De-inline methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12101 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03 20:55:15 +00:00
Chris Lattner
9c0b9bf2b5
Update comments and add warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11691 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21 22:27:20 +00:00
Chris Lattner
bbdfe40ba7
Add a method useful for updating DSA
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11636 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 21:27:50 +00:00
Chris Lattner
4ff0b9636d
Substantially improve the DSA code by removing 'forwarding' nodes from
...
DSGraphs while they are forwarding. When the last reference to the forwarding
node is dropped, the forwarding node is autodeleted. This should simplify
removeTriviallyDead nodes, and is only (efficiently) possible because we are
using an ilist of dsnodes now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11175 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08 01:27:18 +00:00
Chris Lattner
28897e1784
Switch the Nodes list from being an std::vector<DSNode*> to an ilist<DSNode>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11173 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08 00:53:26 +00:00
Chris Lattner
04364fb01e
Change to use iterators instead of direct access
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11170 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08 00:22:41 +00:00
Chris Lattner
e187d56520
Abstract out the Nodes collection. Instead of providing a getNodes() method,
...
provide node_begin/end iterators, which are only guaranteed to be
bidirectional, not random access.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11165 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-07 23:57:09 +00:00
Chris Lattner
14c67ccf02
Keep track of all of the globals inserted into the scalar map
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10995 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-28 03:01:22 +00:00
Chris Lattner
18348fe201
Pull the ScalarMap out into something that is more structured than what we had
...
before. This allows us to have a place to implement optimizations in a
structured way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10994 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-28 02:42:12 +00:00
Chris Lattner
5f549af582
* cloneReachable* and clonePartiallyInto are not obsolete
...
* Make AssertNodeInGraph not be HORRIBLY time consuming
* Eliminate the dead mergeInGlobalsGraph method
*** Add the definition for the new ReachabilityCloner class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10981 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-27 21:48:35 +00:00
Chris Lattner
078c513e87
Add new flag, other minor modifications
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10969 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-23 01:42:32 +00:00
Chris Lattner
2f561384fb
Eliminated the CompletedNodes argument to the cloneReachable* methods. This
...
map was only used to implement a marginal GlobalsGraph optimization, and it
actually slows the analysis down (due to the overhead of keeping it), so just
eliminate it entirely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10955 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-22 16:56:13 +00:00
Chris Lattner
9e9848d037
Remove const qualifier (all Value*'s are nonconst in DSA, so it's not clear
...
why this one was)
Add new method proto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10950 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-22 15:26:52 +00:00
Chris Lattner
f58aefcb20
Add argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9921 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-12 17:58:09 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
Chris Lattner
3b120be94f
Add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9879 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 05:08:36 +00:00
Chris Lattner
15869aa2c7
All DSGraphs keep a reference to the targetdata they are created with. This is
...
used to eliminate the hard coded, hacked in, sparc specific, global TargetData.
Changing the TargetData used to actually match the code fixes problems, and
eliminates a crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9659 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-02 22:27:28 +00:00
John Criswell
6fbcc26f14
Added LLVM copyright header (for lack of a better term).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00