Chris Lattner
535d54ef22
Allow modification of callee
...
llvm-svn: 4257
2002-10-22 15:57:58 +00:00
Chris Lattner
1fb6129889
Small space optimization: Make MachineOperands take 16 bytes instead of
...
20 on intel or 24 on sparc
llvm-svn: 4256
2002-10-22 00:15:13 +00:00
Chris Lattner
b565d3ac5b
- Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to
...
setPreservesCFG to be less confusing.
llvm-svn: 4255
2002-10-21 20:00:28 +00:00
Chris Lattner
1157e5dafb
Delete unused arguments to DSGraph::cloneInto method
...
llvm-svn: 4253
2002-10-21 19:50:29 +00:00
Chris Lattner
4410178282
- Add "ResolvingCaller" to the CallSite record. This keeps track of which
...
function was finally able to resolve the function call. Adding this allows
the TD pass to actually work right!
- Temporarily disable dead node pruning. This will be reenabled soon.
llvm-svn: 4252
2002-10-21 19:47:18 +00:00
Chris Lattner
7588e35aa8
Add another copy ctor form
...
llvm-svn: 4251
2002-10-21 15:32:34 +00:00
Chris Lattner
1276c50e7b
As it turns out, we don't need a fully generic mapping copy ctor, we just need
...
something that maps through a std::map. Since this simplified the client and
implementation code, do so now.
llvm-svn: 4250
2002-10-21 15:04:18 +00:00
Chris Lattner
f8b59c1c75
Make sure to initialize isArray member
...
llvm-svn: 4247
2002-10-21 13:38:07 +00:00
Chris Lattner
eed53d4b81
Remove a 'using' directives from a header file. Using directives cause
...
global changes, so aren't good for headers.
llvm-svn: 4245
2002-10-21 13:24:50 +00:00
Chris Lattner
cd13b5e27f
Add a missing std:: qualifier
...
llvm-svn: 4244
2002-10-21 13:23:42 +00:00
Chris Lattner
ca982e6b42
Two callsites are equivalent even if they are from two completely different
...
call instructions
llvm-svn: 4241
2002-10-21 02:09:03 +00:00
Chris Lattner
2914391ab6
- 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
Vikram S. Adve
85a358583f
Remove spurious caller pointer in DSCallSite.
...
Also add functions to access pointer argument nodes cleanly.
llvm-svn: 4235
2002-10-20 21:41:02 +00:00
Chris Lattner
9c264543b5
Add isArray flag
...
llvm-svn: 4230
2002-10-20 20:28:35 +00:00
Vikram S. Adve
32689f8214
Added a first-class representation for each call site that can be
...
used in the DS graphs in DSGraph.h. With that, the special-purpose
class BUDataStructure::CallSite is no longer needed here.
llvm-svn: 4229
2002-10-20 18:08:55 +00:00
Vikram S. Adve
2a6ec82970
Added a first-class representation for each call site that can be used
...
in the DS graphs.
llvm-svn: 4227
2002-10-20 18:04:43 +00:00
Chris Lattner
efc251af3d
Convert typerec to be a structure instead of a pair
...
llvm-svn: 4226
2002-10-18 18:22:46 +00:00
Chris Lattner
3e2fb69b49
Don't emit braces around something without outgoing edges
...
llvm-svn: 4225
2002-10-18 14:55:44 +00:00
Chris Lattner
d9b76794a0
Add interface for mod/ref info to be captures by dsgraphs
...
llvm-svn: 4222
2002-10-17 21:03:49 +00:00
Chris Lattner
68ac171c62
* Add data structures to BU pass to keep track of call sites for functions
...
* Reenable the TD analysis
llvm-svn: 4212
2002-10-17 04:23:05 +00:00
Chris Lattner
bb28060fb4
* Remove a lot of obsolete #if 0'd code
...
* Add a simple getNodeForValue method to access the ValueMap.
llvm-svn: 4211
2002-10-17 04:22:16 +00:00
Chris Lattner
80332e579c
Use the forward declaration for GraphTraits instead of #including
...
the header
llvm-svn: 4210
2002-10-17 01:36:08 +00:00
Chris Lattner
df9733a0a1
Be const correct. Handle both DSGraph* and const DSGraph*'s
...
llvm-svn: 4208
2002-10-17 01:01:06 +00:00
Chris Lattner
7bada92698
Break up the GraphWriter into smaller chunks to be used in different ways
...
llvm-svn: 4207
2002-10-17 00:59:59 +00:00
Chris Lattner
e62bace6cb
As wierd as it feels to type it, const void* is more generic than void*
...
llvm-svn: 4206
2002-10-17 00:16:39 +00:00
Joel Stanley
128e78631f
Added partial specialization of GraphTraits for the DominatorTree class.
...
llvm-svn: 4205
2002-10-16 23:26:00 +00:00
Chris Lattner
2d213be550
Allow simple nodes to have outgoing edges
...
llvm-svn: 4202
2002-10-16 20:15:38 +00:00
Chris Lattner
d79ee46ac2
* Factor printing code again, add emitSimpleNode method
...
llvm-svn: 4198
2002-10-16 02:03:18 +00:00
Chris Lattner
102fb03846
* Add new DOTGraphTraits::addCustomGraphFeatures method
...
llvm-svn: 4197
2002-10-16 01:44:59 +00:00
Chris Lattner
3702063ff3
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
c83c9a41fc
* Significantly refactor GraphWriter into a class.
...
llvm-svn: 4194
2002-10-16 01:34:18 +00:00
Chris Lattner
8845b7da14
- Generic graph printing infrastructure changes:
...
* Only print outgoing edges from a cell if the destination isn't null.
This is important for DSGraphs, which have sources with no edges.
* Allow Node attributes to override shape of the node
llvm-svn: 4192
2002-10-16 01:18:14 +00:00
Chris Lattner
d135a2b550
Allow direct access to mergemap for printing
...
llvm-svn: 4191
2002-10-16 01:17:16 +00:00
Chris Lattner
7be670ef4b
- Eliminate SymbolTable::ParentSymTab, ST::localLookup, and
...
Function::ParentSymTab. These aren't needed at all.
llvm-svn: 4186
2002-10-15 21:26:29 +00:00
Chris Lattner
294eae6735
- Add an endianness field to the TargetData datastructure
...
llvm-svn: 4174
2002-10-14 22:41:13 +00:00
Vikram S. Adve
3cb2d3379d
Removed misleading const keyword.
...
llvm-svn: 4169
2002-10-14 16:32:24 +00:00
Chris Lattner
5b41b28fb6
- Dramatically simplify the Constant::mutateReferences implementation,
...
allowing it to be called on all constant types (structures/arrays)
llvm-svn: 4160
2002-10-14 03:30:23 +00:00
Chris Lattner
fdf2ca9468
- Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd to
...
reflect the fact that it's a range being defined.
llvm-svn: 4147
2002-10-13 19:39:16 +00:00
Chris Lattner
54905ed38c
First crack at reimplementing graph traits for DSGraphs
...
llvm-svn: 4145
2002-10-13 19:31:34 +00:00
Chris Lattner
48417f0143
disable the unused "pointer" member
...
llvm-svn: 4144
2002-10-13 19:30:44 +00:00
Chris Lattner
8447baa002
Add dummy entries to document what members can be added
...
llvm-svn: 4141
2002-10-13 17:12:05 +00:00
Vikram S. Adve
7387d96d6a
Use vectors instead of hash_maps for issueGaps and conflictLists.
...
These hash lookups were a major sink of time because they happen so often!
llvm-svn: 4136
2002-10-13 00:37:46 +00:00
Misha Brukman
b4940744de
Added capability to get execution count of a loop if it is a predictable
...
number of iterations.
llvm-svn: 4113
2002-10-11 05:34:32 +00:00
Misha Brukman
d55cfa6b94
Added helper functions in LoopInfo: isLoopExit and numBackEdges.
...
llvm-svn: 4112
2002-10-11 05:31:10 +00:00
Chris Lattner
0df2058775
Expose API to graph library to allow iteration over all nodes, even unreachable ones
...
llvm-svn: 4111
2002-10-10 22:31:31 +00:00
Chris Lattner
cbfb5d1eca
Change reference
...
llvm-svn: 4110
2002-10-10 22:31:02 +00:00
Chris Lattner
dbf01f86a7
* Don't only print out reachable nodes in the graph.
...
* use new api to get all nodes in the graph
* Allow custom graph traits
llvm-svn: 4109
2002-10-10 22:29:51 +00:00
Chris Lattner
6be061bacc
Add new getGraphProperties that may be specialized by graphs
...
llvm-svn: 4108
2002-10-10 22:29:10 +00:00
Chris Lattner
2fd0924282
Rename DataStructureGraph.h to DSGraphTraits.h
...
llvm-svn: 4107
2002-10-10 20:36:37 +00:00
Chris Lattner
0acdba0025
- Add new Constant::replaceUsesOfWithOnConstant which has an end result
...
similar to User::replaceUsesOfWith but actually does the right thing for
constants.
llvm-svn: 4102
2002-10-09 23:12:25 +00:00