Commit Graph

1318 Commits

Author SHA1 Message Date
Chris Lattner
8bac08bf04 Allow modifying a global variables constness property
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5468 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-02 16:40:40 +00:00
Chris Lattner
41c04f730b Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)
This change provides a small (3%) but consistent speedup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5460 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 04:52:08 +00:00
Chris Lattner
7f306c8dcf Add hash_multimap support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5457 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 04:14:28 +00:00
Chris Lattner
cb98327142 Add new composition mask
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5454 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 03:28:26 +00:00
Joel Stanley
0eea1d5b7e Added protos for two alternate, convenient CallInst constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5453 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 00:41:27 +00:00
Chris Lattner
fe9664ce7c Add new function to allow removal of typed named elements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5442 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-30 20:54:03 +00:00
Chris Lattner
9e4b15b1a1 New API for traversing graph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29 21:09:59 +00:00
Chris Lattner
fd373cb944 Initial checking: defult the make_vector function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-28 20:01:16 +00:00
Chris Lattner
a892a3a08e New helper header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5423 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-27 22:08:52 +00:00
Chris Lattner
381977d191 * Eliminate boolean arguments in favor of using enums
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5420 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23 22:06:33 +00:00
Chris Lattner
9085d8a9a9 Print machine frame objects with the frame offset intrinsic to the machine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5329 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-16 18:35:57 +00:00
Chris Lattner
795ba6cabd Move sparc specific code into the Sparc backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5317 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 21:36:50 +00:00
Chris Lattner
0a166155e7 Simplify the interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5313 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 21:13:32 +00:00
Chris Lattner
a9dcd3cceb Move private headers into private regalloc directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5308 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 20:26:32 +00:00
Chris Lattner
d77fa74a0c Move private header to private dir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:50:32 +00:00
Chris Lattner
b66fdc2934 Remove obsolete ctor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5301 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:47:02 +00:00
Chris Lattner
1be114be3a Remove internal helper fn
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:46:39 +00:00
Chris Lattner
83435fbaf9 ADd support for CC registers for Sparc BE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5297 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:22:23 +00:00
Chris Lattner
4d69c8e369 Add support for the CC registers for Sparc BE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5296 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:22:06 +00:00
Chris Lattner
4091233dfd Remove more unused methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5295 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:21:50 +00:00
Chris Lattner
73df3bfb68 Remove a ton of functions that are no longer used, instead using BuildMI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5290 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 17:35:44 +00:00
Chris Lattner
e387de3084 Add new helper method addRegDef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5289 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 17:18:22 +00:00
Chris Lattner
ed4fb8f3ec * Eliminate a bunch of inline functions.
* Convert callers to use BuildMI instead


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5286 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 00:02:41 +00:00
Chris Lattner
9f2b7ffe05 Move to include/llvm/CodeGen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5285 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 23:05:31 +00:00
Chris Lattner
8143d8f91a Move llvm/Analysis/LiveVar/ValueSet.h to CodeGen/ValueSet.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5282 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:56:37 +00:00
Chris Lattner
b9eca537d0 New header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5280 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:37:41 +00:00
Chris Lattner
a1767182de Move to Instrumentation.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5279 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:36:15 +00:00
Chris Lattner
77f088b114 REmove unused header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5275 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:29:57 +00:00
Chris Lattner
d15a1da5eb Remove unused header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5274 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:28:22 +00:00
Chris Lattner
3501feab81 Rename MachineInstrInfo -> TargetInstrInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5272 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:00:31 +00:00
Chris Lattner
d640a6b4cf Move llvm/Annotation.h to Support/Annotation.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5271 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:39:04 +00:00
Chris Lattner
cb09cc268b Move annotation to support library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:58 +00:00
Chris Lattner
97ca95d1e7 Must #include assert.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5267 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:52 +00:00
Chris Lattner
db00065fc8 Add new files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5259 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 01:01:31 +00:00
Chris Lattner
2584ba5867 Rename MachineInstrInfo -> TargetInstrInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5214 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:21:32 +00:00
Chris Lattner
075b4a066d * Start renaming MachineInstrInfo -> TargetInstrInfo
* Add new M_TERMINATOR_FLAG


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5213 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:21:19 +00:00
Chris Lattner
09d4fd57de Add new getName method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5212 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:19:44 +00:00
Chris Lattner
e836bae30c Simplify interface to creating a register
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5211 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:19:18 +00:00
Chris Lattner
9d4f9b9902 * Add support for new types of operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5210 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:18:44 +00:00
Chris Lattner
3c8cbe6567 * Add 3 new types of MachineOperand: ConstantPoolIndex ExternalSymbol and GlobalAddress's
* Add new isPCRelative modifier flag which should be used in place of MO_PCRelativeDisp type.
* Fix a bug in isPhysicalRegister
* Add new setOpcode and RemoveOperand methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5209 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:18:17 +00:00
Chris Lattner
40a75577ea * Add a constant pool to hold per-function constants which must be spilled to memory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5208 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:16:10 +00:00
Chris Lattner
09a5b0b6a3 * Add utility methods which make common cases easier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5207 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:15:24 +00:00
Chris Lattner
29dd209228 * Add support for values in the constant pool
* Add support for functions referenced by name


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5206 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:14:55 +00:00
Chris Lattner
d0f166a486 More renamings of Target/Machine*Info to Target/Target*Info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5204 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-29 03:13:05 +00:00
Chris Lattner
f27eeea54f Rename MachineOptInfo to TargetoptInfo
Rename MachineCacheInfo to TargetCacheInfo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5203 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-29 02:50:35 +00:00
Chris Lattner
aa09b75d22 Rename FunctionFrameInfo to MachineFrameInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5201 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28 21:08:28 +00:00
Chris Lattner
5b927c790e * doxygenize comment
* rename MachineFrameInfo to TargetFrameInfo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5170 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28 20:13:29 +00:00
Chris Lattner
5fa01b9c7a Sparc specific methods default to abort rather than being pure virtual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5169 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28 20:12:54 +00:00
Chris Lattner
fd529d2e4a Expose some very simple information about the frame, rather than in-depth
target specific information.  Rename MachineFrameInfo to TargetFrameInfo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5168 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28 20:12:10 +00:00
Chris Lattner
f9b332b59d * Keep track of register alignment as well as register size
* Add comments
* Add a new allocation_order iterator for register classes which targets may
  use to control the register order and available registers based on properties
  of the function being compiled.
* Remove access to FP and SP registers
* Add new callframe setup opcode support
* Eliminate moveImm2Reg method
* Revamp frame offset handling and prolog/epilog code generation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5167 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28 20:10:23 +00:00