Chris Lattner
c98c871617
Add #include
...
llvm-svn: 4291
2002-10-27 19:08:03 +00:00
Chris Lattner
348fcb5b17
Initial checkin of target support for X86 backend.
...
llvm-svn: 4287
2002-10-25 23:00:40 +00:00
Chris Lattner
aed689d1aa
Initial checkin of Machine Code representation for X86 backend. This will
...
eventually be merged with the sparc backend.
llvm-svn: 4286
2002-10-25 23:00:13 +00:00
Chris Lattner
75758af085
Fix typo
...
llvm-svn: 4281
2002-10-25 22:53:56 +00:00
Chris Lattner
48164f4398
* Remove unneccesary #includes
...
* Fix typeo in the (unused) MachineInstrInfo::isArith method
llvm-svn: 4275
2002-10-24 22:34:41 +00:00
Chris Lattner
45bb78fc06
Minor cleanups
...
llvm-svn: 4267
2002-10-23 01:11:51 +00:00
Chris Lattner
ce64eddb71
- Two minor improvements to the MachineInstr class to reduce footprint and
...
overhead: Merge 3 parallel vectors into 1, change regsUsed hash_set to be a
bitvector. Sped up LLC a little less than 10% in a debug build!
llvm-svn: 4261
2002-10-22 23:16:21 +00:00
Chris Lattner
96c998fb19
We need to know the call sites each function hosts
...
llvm-svn: 4258
2002-10-22 15:58:23 +00:00
Chris Lattner
ef09736481
Allow modification of callee
...
llvm-svn: 4257
2002-10-22 15:57:58 +00:00
Chris Lattner
e50beac7ea
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
820d971233
- 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
155fffd350
Delete unused arguments to DSGraph::cloneInto method
...
llvm-svn: 4253
2002-10-21 19:50:29 +00:00
Chris Lattner
f76087336f
- 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
c6191df9af
Add another copy ctor form
...
llvm-svn: 4251
2002-10-21 15:32:34 +00:00
Chris Lattner
78c1e7d83c
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
c5cb7a7dc0
Make sure to initialize isArray member
...
llvm-svn: 4247
2002-10-21 13:38:07 +00:00
Chris Lattner
295d3ed7b8
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
e4b24cc42c
Add a missing std:: qualifier
...
llvm-svn: 4244
2002-10-21 13:23:42 +00:00
Chris Lattner
a986a2ab86
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
5c3ce31e1f
- 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
e85319693e
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
2ff405c7e1
Add isArray flag
...
llvm-svn: 4230
2002-10-20 20:28:35 +00:00
Vikram S. Adve
ee5fb32466
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
2b68f2fbbc
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
f931f6b5c7
Convert typerec to be a structure instead of a pair
...
llvm-svn: 4226
2002-10-18 18:22:46 +00:00
Chris Lattner
e7c0293f1f
Don't emit braces around something without outgoing edges
...
llvm-svn: 4225
2002-10-18 14:55:44 +00:00
Chris Lattner
3d1fddea22
Add interface for mod/ref info to be captures by dsgraphs
...
llvm-svn: 4222
2002-10-17 21:03:49 +00:00
Chris Lattner
6bbd3ba458
* 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
d1b221c011
* 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
5b1f684994
Use the forward declaration for GraphTraits instead of #including
...
the header
llvm-svn: 4210
2002-10-17 01:36:08 +00:00
Chris Lattner
5c7d1d2630
Be const correct. Handle both DSGraph* and const DSGraph*'s
...
llvm-svn: 4208
2002-10-17 01:01:06 +00:00
Chris Lattner
aac0864f11
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
d2122e26ce
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
f06e4acd32
Added partial specialization of GraphTraits for the DominatorTree class.
...
llvm-svn: 4205
2002-10-16 23:26:00 +00:00
Chris Lattner
6d44463ac2
Allow simple nodes to have outgoing edges
...
llvm-svn: 4202
2002-10-16 20:15:38 +00:00
Chris Lattner
b2694db06e
* Factor printing code again, add emitSimpleNode method
...
llvm-svn: 4198
2002-10-16 02:03:18 +00:00
Chris Lattner
adfe59294d
* Add new DOTGraphTraits::addCustomGraphFeatures method
...
llvm-svn: 4197
2002-10-16 01:44:59 +00:00
Chris Lattner
5274757b62
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
e515976a11
* Significantly refactor GraphWriter into a class.
...
llvm-svn: 4194
2002-10-16 01:34:18 +00:00
Chris Lattner
cf5eb3317a
- 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
edd30e5bfa
Allow direct access to mergemap for printing
...
llvm-svn: 4191
2002-10-16 01:17:16 +00:00
Chris Lattner
33100eddd2
- 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
5156bba4c7
- Add an endianness field to the TargetData datastructure
...
llvm-svn: 4174
2002-10-14 22:41:13 +00:00
Vikram S. Adve
4049a9a5de
Removed misleading const keyword.
...
llvm-svn: 4169
2002-10-14 16:32:24 +00:00
Chris Lattner
163b890dfb
- 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
69ce8674b5
- 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
894962baaf
First crack at reimplementing graph traits for DSGraphs
...
llvm-svn: 4145
2002-10-13 19:31:34 +00:00
Chris Lattner
10bdae7c9e
disable the unused "pointer" member
...
llvm-svn: 4144
2002-10-13 19:30:44 +00:00
Chris Lattner
0e0e32dea9
Add dummy entries to document what members can be added
...
llvm-svn: 4141
2002-10-13 17:12:05 +00:00
Vikram S. Adve
d77030bd76
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