Chris Lattner
55a4aea29b
Add new targetdata ctor to create a targetdata appropriate to the module
...
llvm-svn: 5902
2003-04-24 19:08:45 +00:00
Chris Lattner
9485cd4e9b
Remove support for "targetdata pass ctors"
...
llvm-svn: 5901
2003-04-24 18:41:30 +00:00
Chris Lattner
9c67ad476b
LevelRaise now gets TD from passmanager
...
llvm-svn: 5897
2003-04-24 18:25:42 +00:00
Chris Lattner
a568a9261a
Kill unneccesary &*
...
llvm-svn: 5870
2003-04-23 16:35:30 +00:00
Chris Lattner
0a9913935f
Add stub to create lowerSwitches pass
...
llvm-svn: 5866
2003-04-23 16:24:19 +00:00
Chris Lattner
d767c0847c
Allow autoconversion from ilist_iterator<T> to T* in a dyn_cast and friends
...
llvm-svn: 5862
2003-04-23 16:17:53 +00:00
Chris Lattner
e60fff42cc
Allow dyn_cast to operate on things that aren't OBVIOUSLY a pointer type.
...
These things can be converted to a pointer, like ilist_iterators
llvm-svn: 5861
2003-04-23 16:17:28 +00:00
Chris Lattner
85d01fed47
Add information about the module source
...
llvm-svn: 5837
2003-04-22 18:03:13 +00:00
Chris Lattner
b5fc5522fb
Add support for tracking whether a module is 64/32 bit and big/little endian
...
Also add a moduleID field which can be used for diagnostics
llvm-svn: 5834
2003-04-22 18:02:04 +00:00
Chris Lattner
a20c5c7083
Add prototype to read .a files
...
llvm-svn: 5821
2003-04-19 21:45:52 +00:00
Chris Lattner
17200af63c
Add prototype for new CloneBasicBlock function
...
llvm-svn: 5804
2003-04-18 03:49:22 +00:00
Chris Lattner
1add946814
Don't force a ConstantPointer to be returned
...
llvm-svn: 5799
2003-04-17 19:22:47 +00:00
Chris Lattner
bb00f755ed
Change the interface to constant expressions to allow automatic folding
...
llvm-svn: 5793
2003-04-16 22:40:51 +00:00
Chris Lattner
19e35f5a22
Revert modulo scheduling change that should be part of the modulo-sched pass itself,
...
not part of the Instruction class.
llvm-svn: 5787
2003-04-16 20:30:02 +00:00
Chris Lattner
fa4f750f3e
Add new linkage types to support a real frontend
...
llvm-svn: 5786
2003-04-16 20:28:45 +00:00
Misha Brukman
71aef01e7e
Must use std::pair instead of just 'pair'.
...
llvm-svn: 5767
2003-04-07 00:25:09 +00:00
Guochun Shi
59e61c4ce2
added a function and a member to the TargetSchedInfo class
...
which is used by Modulo Scheduling pass
llvm-svn: 5766
2003-04-07 00:00:36 +00:00
Guochun Shi
62370b42ad
added some memory for clone function
...
llvm-svn: 5765
2003-04-06 23:58:44 +00:00
Chris Lattner
190480ecfe
Add getAnalysisUsage method
...
llvm-svn: 5756
2003-03-31 17:29:18 +00:00
Chris Lattner
8696069d85
Add helper method
...
llvm-svn: 5753
2003-03-21 21:41:02 +00:00
Chris Lattner
f472a964a9
Update comment
...
llvm-svn: 5752
2003-03-21 21:40:39 +00:00
Chris Lattner
cf6eb5232a
Add more graph traits specializations for dominator tree nodes
...
llvm-svn: 5751
2003-03-20 21:21:05 +00:00
Chris Lattner
8c1c878dcb
Add new chunk type
...
llvm-svn: 5747
2003-03-19 20:48:27 +00:00
Chris Lattner
0381679b6e
Fix problems with BitSetVector that makes it not compile under GCC 3.0 and 2.95
...
llvm-svn: 5745
2003-03-17 18:11:27 +00:00
Chris Lattner
5e5950b7e0
Fix ConstantUInt::isAllOnesValue
...
llvm-svn: 5734
2003-03-10 22:39:02 +00:00
Chris Lattner
07a7a75331
Extend struct and array constants to support isNullValue
...
llvm-svn: 5719
2003-03-06 21:02:43 +00:00
Chris Lattner
a1d58f804e
Generalize interface a bit
...
llvm-svn: 5711
2003-03-06 16:50:21 +00:00
Chris Lattner
480507e92d
Add new getIncomingValueForBlock method
...
Relax a bit about constness
llvm-svn: 5709
2003-03-06 16:36:28 +00:00
Chris Lattner
92a316864d
Simplify some of the PHI node interfaces
...
llvm-svn: 5700
2003-03-05 21:15:12 +00:00
Chris Lattner
3e34da7458
Add a few new 'add' methods. Move the iterator around
...
llvm-svn: 5690
2003-03-03 23:27:52 +00:00
Chris Lattner
a49e96dda5
Change the mem2reg interface to accept a TargetData argument
...
llvm-svn: 5685
2003-03-03 17:25:18 +00:00
Chris Lattner
41e9bb787e
Don't apply type information to loads
...
llvm-svn: 5683
2003-03-03 17:13:22 +00:00
Chris Lattner
6046dda16e
Add dump method for loops
...
llvm-svn: 5670
2003-02-28 16:54:37 +00:00
Chris Lattner
cffe1c533c
Add graph traits specializations for loop nesting information...
...
llvm-svn: 5666
2003-02-28 03:05:15 +00:00
Chris Lattner
e6443c72fe
Add new Loop::hasExitBlock helper method
...
llvm-svn: 5663
2003-02-27 22:48:28 +00:00
Chris Lattner
c37308604f
Change behavior of changeExitBlock function to replace all instances of exit block
...
llvm-svn: 5661
2003-02-27 22:37:44 +00:00
Chris Lattner
db73d0ceab
Make the interface to update a little more efficient
...
llvm-svn: 5651
2003-02-27 20:24:17 +00:00
Chris Lattner
4efef545d2
* LoopInfo now keeps track of exit blocks from the loop
...
* New LoopInfo::isLoopHeader method
* Remove some #if 0 code
llvm-svn: 5649
2003-02-27 00:37:22 +00:00
Chris Lattner
5baf8bb966
Make the aliassettracker much more precise by actually tracking size
...
information for various accesses. What a concept.
llvm-svn: 5647
2003-02-26 22:11:00 +00:00
Chris Lattner
374168a56e
BasicAA doesn't need a public header
...
llvm-svn: 5639
2003-02-26 19:41:46 +00:00
Chris Lattner
f3a3d13d24
Tweak to work with new AA implementation
...
llvm-svn: 5632
2003-02-26 19:25:04 +00:00
Chris Lattner
8a8dc5b686
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
llvm-svn: 5631
2003-02-26 19:24:47 +00:00
Chris Lattner
7f0e8c4d31
* Un "protect" the getAnalysis<> functions
...
* Add a new initializePass() method to ImmutablePass
llvm-svn: 5629
2003-02-26 19:10:28 +00:00
Chris Lattner
38e874dd6e
Add new helper template function
...
llvm-svn: 5622
2003-02-25 00:00:50 +00:00
Chris Lattner
497c0d443c
Rename Instruction::hasSideEffects() -> mayWriteToMemory()
...
llvm-svn: 5620
2003-02-24 20:48:32 +00:00
Chris Lattner
f2009dbddb
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.
llvm-svn: 5619
2003-02-24 20:37:56 +00:00
Chris Lattner
caba6cfcf5
Initial checkin of CallSite wrapper for Call/Invoke instructions
...
llvm-svn: 5618
2003-02-24 20:35:45 +00:00
Chris Lattner
a54b810eeb
Fix #endif
...
llvm-svn: 5615
2003-02-24 04:40:35 +00:00
Chris Lattner
e037ba8cde
Add support for the slist extension
...
llvm-svn: 5614
2003-02-24 04:31:49 +00:00
Chris Lattner
74aa1f8c03
Add a new interface file for the PromoteMemToReg interface in the Utils library
...
llvm-svn: 5609
2003-02-22 23:04:52 +00:00
Chris Lattner
120d135f05
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
llvm-svn: 5552
2003-02-13 19:09:00 +00:00
Chris Lattner
522cb6d282
Implement a "union-findy" version of DS-Analysis, which eliminates the
...
Referrers list on DSNodes.
llvm-svn: 5536
2003-02-11 23:11:51 +00:00
Chris Lattner
d4faf8a5da
Fix uninitialized member problem
...
llvm-svn: 5534
2003-02-11 06:36:00 +00:00
Chris Lattner
fade2f7d18
Bugfix for calling dump() after the links vector has been cleared
...
llvm-svn: 5533
2003-02-10 22:46:47 +00:00
Chris Lattner
723795113f
Move getNode() out of line
...
llvm-svn: 5531
2003-02-10 18:19:41 +00:00
Chris Lattner
4528fd1e2a
Implement a new method "viewGraph" which can be used to instantly view a graph from GDB.
...
llvm-svn: 5529
2003-02-10 18:17:38 +00:00
Chris Lattner
b86f27cc1f
TD Pass now does not cause globals to mark nodes incomplete.
...
llvm-svn: 5512
2003-02-09 18:40:25 +00:00
Chris Lattner
5f3ef2f0e7
Implement optimization for direct function call case. This dramatically
...
reduces the number of function nodes created and speeds up analysis by
about 10% overall.
llvm-svn: 5495
2003-02-05 21:59:58 +00:00
Chris Lattner
93e9ec8bb1
Allow the addition of edge source labels
...
llvm-svn: 5493
2003-02-05 19:40:59 +00:00
Chris Lattner
e8381114ef
Add sanity check
...
llvm-svn: 5489
2003-02-04 00:03:57 +00:00
Chris Lattner
102e619864
Hack to work around deficiency in pass infrastructure
...
llvm-svn: 5485
2003-02-03 22:51:28 +00:00
Chris Lattner
b58c9c95d0
Eliminate unused resolving caller stuff
...
llvm-svn: 5475
2003-02-03 19:11:04 +00:00
Chris Lattner
1c12ad543d
* Add a bunch of stuff for checking the integrity of the graph
...
* remove the isNodeDead method
llvm-svn: 5474
2003-02-03 19:10:24 +00:00
Chris Lattner
4bb510896d
Remove pool alloc accessor
...
llvm-svn: 5473
2003-02-03 19:08:33 +00:00
Chris Lattner
cfae77498b
Expose information about pool allocation
...
llvm-svn: 5471
2003-02-03 19:07:46 +00:00
Chris Lattner
58fa654380
Allow modifying a global variables constness property
...
llvm-svn: 5468
2003-02-02 16:40:40 +00:00
Chris Lattner
7aec6c471b
Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)
...
This change provides a small (3%) but consistent speedup
llvm-svn: 5460
2003-02-01 04:52:08 +00:00
Chris Lattner
d0a6d1c807
Add hash_multimap support
...
llvm-svn: 5457
2003-02-01 04:14:28 +00:00
Chris Lattner
d6b11d83a3
Add new composition mask
...
llvm-svn: 5454
2003-02-01 03:28:26 +00:00
Joel Stanley
b867c1f059
Added protos for two alternate, convenient CallInst constructors.
...
llvm-svn: 5453
2003-02-01 00:41:27 +00:00
Chris Lattner
14cc7b4231
Add new function to allow removal of typed named elements
...
llvm-svn: 5442
2003-01-30 20:54:03 +00:00
Chris Lattner
3acf20f0da
New API for traversing graph
...
llvm-svn: 5430
2003-01-29 21:09:59 +00:00
Chris Lattner
36e25fbd8f
Initial checking: defult the make_vector function
...
llvm-svn: 5424
2003-01-28 20:01:16 +00:00
Chris Lattner
37a2301f9e
New helper header
...
llvm-svn: 5423
2003-01-27 22:08:52 +00:00
Chris Lattner
77e422543e
* Eliminate boolean arguments in favor of using enums
...
llvm-svn: 5420
2003-01-23 22:06:33 +00:00
Chris Lattner
1d35ac61ce
Print machine frame objects with the frame offset intrinsic to the machine
...
llvm-svn: 5329
2003-01-16 18:35:57 +00:00
Chris Lattner
301e1307d2
Move sparc specific code into the Sparc backend
...
llvm-svn: 5317
2003-01-15 21:36:50 +00:00
Chris Lattner
eac243c414
Simplify the interface
...
llvm-svn: 5313
2003-01-15 21:13:32 +00:00
Chris Lattner
30fbd2d1fe
Move private headers into private regalloc directory
...
llvm-svn: 5308
2003-01-15 20:26:32 +00:00
Chris Lattner
7f85810349
Move private header to private dir
...
llvm-svn: 5304
2003-01-15 19:50:32 +00:00
Chris Lattner
cfa7a8f9a2
Remove obsolete ctor
...
llvm-svn: 5301
2003-01-15 19:47:02 +00:00
Chris Lattner
7a5291a0c9
Remove internal helper fn
...
llvm-svn: 5300
2003-01-15 19:46:39 +00:00
Chris Lattner
d06cd53a81
ADd support for CC registers for Sparc BE
...
llvm-svn: 5297
2003-01-15 19:22:23 +00:00
Chris Lattner
f254db43cd
Add support for the CC registers for Sparc BE
...
llvm-svn: 5296
2003-01-15 19:22:06 +00:00
Chris Lattner
8c56dc23a5
Remove more unused methods
...
llvm-svn: 5295
2003-01-15 19:21:50 +00:00
Chris Lattner
e6fb373c01
Remove a ton of functions that are no longer used, instead using BuildMI
...
llvm-svn: 5290
2003-01-15 17:35:44 +00:00
Chris Lattner
856c3ad41c
Add new helper method addRegDef
...
llvm-svn: 5289
2003-01-15 17:18:22 +00:00
Chris Lattner
14021140c0
* Eliminate a bunch of inline functions.
...
* Convert callers to use BuildMI instead
llvm-svn: 5286
2003-01-15 00:02:41 +00:00
Chris Lattner
bfd37d4da8
Move to include/llvm/CodeGen
...
llvm-svn: 5285
2003-01-14 23:05:31 +00:00
Chris Lattner
57b5e8891e
Move llvm/Analysis/LiveVar/ValueSet.h to CodeGen/ValueSet.h
...
llvm-svn: 5282
2003-01-14 22:56:37 +00:00
Chris Lattner
e70dc51f5c
New header
...
llvm-svn: 5280
2003-01-14 22:37:41 +00:00
Chris Lattner
bdf60b4ad8
Move to Instrumentation.h
...
llvm-svn: 5279
2003-01-14 22:36:15 +00:00
Chris Lattner
1af4a99c43
REmove unused header file
...
llvm-svn: 5275
2003-01-14 22:29:57 +00:00
Chris Lattner
3fdec63d85
Remove unused header
...
llvm-svn: 5274
2003-01-14 22:28:22 +00:00
Chris Lattner
b27d60ccf1
Rename MachineInstrInfo -> TargetInstrInfo
...
llvm-svn: 5272
2003-01-14 22:00:31 +00:00
Chris Lattner
832d7f387d
Move llvm/Annotation.h to Support/Annotation.h
...
llvm-svn: 5271
2003-01-14 21:39:04 +00:00
Chris Lattner
ab69d9da2f
Move annotation to support library
...
llvm-svn: 5268
2003-01-14 21:29:58 +00:00
Chris Lattner
247a13f8d7
Must #include assert.h
...
llvm-svn: 5267
2003-01-14 21:29:52 +00:00
Chris Lattner
fb1bfc8cde
Add new files
...
llvm-svn: 5259
2003-01-13 01:01:31 +00:00
Chris Lattner
8decb3e453
Rename MachineInstrInfo -> TargetInstrInfo
...
llvm-svn: 5214
2003-01-13 00:21:32 +00:00