oota-llvm.git
21 years agoFix bug Regression/Verifier/2002-11-05-GetelementptrPointers.ll
Chris Lattner [Tue, 14 Jan 2003 22:19:44 +0000 (22:19 +0000)]
Fix bug Regression/Verifier/2002-11-05-GetelementptrPointers.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5273 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRename MachineInstrInfo -> TargetInstrInfo
Chris Lattner [Tue, 14 Jan 2003 22:00:31 +0000 (22:00 +0000)]
Rename MachineInstrInfo -> TargetInstrInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5272 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMove llvm/Annotation.h to Support/Annotation.h
Chris Lattner [Tue, 14 Jan 2003 21:39:04 +0000 (21:39 +0000)]
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

21 years agoMove annotations to support library
Chris Lattner [Tue, 14 Jan 2003 21:31:39 +0000 (21:31 +0000)]
Move annotations to support library

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5270 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoLink in lots o libraries
Chris Lattner [Tue, 14 Jan 2003 21:30:30 +0000 (21:30 +0000)]
Link in lots o libraries

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5269 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMove annotation to support library
Chris Lattner [Tue, 14 Jan 2003 21:29:58 +0000 (21:29 +0000)]
Move annotation to support library

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMust #include assert.h
Chris Lattner [Tue, 14 Jan 2003 21:29:52 +0000 (21:29 +0000)]
Must #include assert.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5267 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMinor cleanups
Chris Lattner [Tue, 14 Jan 2003 20:32:10 +0000 (20:32 +0000)]
Minor cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5266 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMake type resolution a bit more efficient
Chris Lattner [Tue, 14 Jan 2003 19:42:39 +0000 (19:42 +0000)]
Make type resolution a bit more efficient

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5265 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFix bug
Chris Lattner [Tue, 14 Jan 2003 19:04:43 +0000 (19:04 +0000)]
Fix bug

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5264 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoNew testcase
Chris Lattner [Mon, 13 Jan 2003 20:02:16 +0000 (20:02 +0000)]
New testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5263 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoNew files
Chris Lattner [Mon, 13 Jan 2003 20:01:16 +0000 (20:01 +0000)]
New files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5262 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoNew testcases
Chris Lattner [Mon, 13 Jan 2003 01:03:16 +0000 (01:03 +0000)]
New testcases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5261 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoNew files
Chris Lattner [Mon, 13 Jan 2003 01:01:59 +0000 (01:01 +0000)]
New files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5260 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd new files
Chris Lattner [Mon, 13 Jan 2003 01:01:31 +0000 (01:01 +0000)]
Add new files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5259 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd support for named functions
Chris Lattner [Mon, 13 Jan 2003 01:00:48 +0000 (01:00 +0000)]
Add support for named functions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5258 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoDead file
Chris Lattner [Mon, 13 Jan 2003 01:00:28 +0000 (01:00 +0000)]
Dead file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5257 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd support for new types of values
Chris Lattner [Mon, 13 Jan 2003 01:00:12 +0000 (01:00 +0000)]
Add support for new types of values

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5256 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoBad segvs actually cause a segv now
Chris Lattner [Mon, 13 Jan 2003 01:00:02 +0000 (01:00 +0000)]
Bad segvs actually cause a segv now

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5255 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Wrap at 80 columns
Chris Lattner [Mon, 13 Jan 2003 00:59:47 +0000 (00:59 +0000)]
* Wrap at 80 columns
* Fix a ton of warnings
* Implement puts

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5254 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoHandle value promotion properly to work with tracing better
Chris Lattner [Mon, 13 Jan 2003 00:58:52 +0000 (00:58 +0000)]
Handle value promotion properly to work with tracing better

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5253 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoNo longer need scalaropts lib
Chris Lattner [Mon, 13 Jan 2003 00:58:18 +0000 (00:58 +0000)]
No longer need scalaropts lib

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5252 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd fixme
Chris Lattner [Mon, 13 Jan 2003 00:58:06 +0000 (00:58 +0000)]
Add fixme

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5251 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agotest the shift cases for long that are implemented
Chris Lattner [Mon, 13 Jan 2003 00:57:49 +0000 (00:57 +0000)]
test the shift cases for long that are implemented

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5250 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agotest longs
Chris Lattner [Mon, 13 Jan 2003 00:57:37 +0000 (00:57 +0000)]
test longs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5249 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoTest longs and fp
Chris Lattner [Mon, 13 Jan 2003 00:57:19 +0000 (00:57 +0000)]
Test longs and fp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5248 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoTEst longs
Chris Lattner [Mon, 13 Jan 2003 00:57:11 +0000 (00:57 +0000)]
TEst longs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5247 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd test for longs
Chris Lattner [Mon, 13 Jan 2003 00:57:04 +0000 (00:57 +0000)]
Add test for longs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5246 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoadd div test as well
Chris Lattner [Mon, 13 Jan 2003 00:56:54 +0000 (00:56 +0000)]
add div test as well

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5245 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agotest a bunch of stuff
Chris Lattner [Mon, 13 Jan 2003 00:56:37 +0000 (00:56 +0000)]
test a bunch of stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5244 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoTest long support
Chris Lattner [Mon, 13 Jan 2003 00:56:27 +0000 (00:56 +0000)]
Test long support

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5243 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFix static initializer ordering dependency
Chris Lattner [Mon, 13 Jan 2003 00:52:43 +0000 (00:52 +0000)]
Fix static initializer ordering dependency

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5236 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd debugging helper
Chris Lattner [Mon, 13 Jan 2003 00:52:25 +0000 (00:52 +0000)]
Add debugging helper

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5235 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMake sure to handle %'s in strings correctly so that the names of BB's and functions...
Chris Lattner [Mon, 13 Jan 2003 00:52:14 +0000 (00:52 +0000)]
Make sure to handle %'s in strings correctly so that the names of BB's and functions are actually printed!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5234 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* No longer need lowerallocation pass
Chris Lattner [Mon, 13 Jan 2003 00:51:23 +0000 (00:51 +0000)]
* No longer need lowerallocation pass
* Add X86 Stackifier pass
* Add peephole optimizer pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5233 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agorename FP -> fp*
Chris Lattner [Mon, 13 Jan 2003 00:50:46 +0000 (00:50 +0000)]
rename FP -> fp*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5232 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Move frame and constant pool indexes to first argument of memory reference
Chris Lattner [Mon, 13 Jan 2003 00:50:33 +0000 (00:50 +0000)]
* Move frame and constant pool indexes to first argument of memory reference
  so we can put an offset in there as well...
* Fix long/ulong stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5231 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Some instructions take 64 bit integers, add an Arg type for it
Chris Lattner [Mon, 13 Jan 2003 00:49:24 +0000 (00:49 +0000)]
* Some instructions take 64 bit integers, add an Arg type for it
* Add flags for different types of FP pseudo instrs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5230 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Function calls clobber fp registers
Chris Lattner [Mon, 13 Jan 2003 00:48:46 +0000 (00:48 +0000)]
* Function calls clobber fp registers
* Use new M_TERMINATOR_FLAG flag
* Add ::Void flag on several instructions so def-use info is correct!
* Implement MANY FP instructions
* Finalize pseudo FP instructions
* Add set of Pseudo FP instruction description flags
* Add support for MOVim instrs
* Add support for 64 bit support instrs, like adc sbb, etc
* Add conditional move

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5229 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd support for frame and constant pool references
Chris Lattner [Mon, 13 Jan 2003 00:45:53 +0000 (00:45 +0000)]
Add support for frame and constant pool references

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5228 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMove passes out to Passes.h
Chris Lattner [Mon, 13 Jan 2003 00:45:29 +0000 (00:45 +0000)]
Move passes out to Passes.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5227 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd speculation
Chris Lattner [Mon, 13 Jan 2003 00:35:08 +0000 (00:35 +0000)]
Add speculation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5226 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Implement rudimentary output of the constant pool
Chris Lattner [Mon, 13 Jan 2003 00:35:03 +0000 (00:35 +0000)]
* Implement rudimentary output of the constant pool
* Implement support for MRMS?m instructions
* Add Arg64 support
* Add support for frame indexes and constant pool indexes
*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5225 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Add support for FP registers ST*
Chris Lattner [Mon, 13 Jan 2003 00:33:59 +0000 (00:33 +0000)]
* Add support for FP registers ST*
* Add support for the constant pool & constant pool indices
* Add support for MRMS?m instructions
* Fix FP Prefix emission
* Add support for global addresses and external symbols

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5224 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Adjust to use new interfaces, eliminating CurReg stuff
Chris Lattner [Mon, 13 Jan 2003 00:32:26 +0000 (00:32 +0000)]
* Adjust to use new interfaces, eliminating CurReg stuff
* Support arbitrary FP constants
* Fix bugs in frame layout for function calls and incoming arguments
* Insert copies for constant arguments to PHI nodes into the BOTTOM of
  predecessor blocks, not the top.
* Implement _floating point_ support: setcc, return, load, store, cast
* Fix several bugs in the cast instruction
* Abstract out call emission and load/store for FP
* Implement malloc/free without previous lowering pass.
* Make use of new forms of MachineOperand
* Implement _long_ support!
* Fix many bugs in FP support
* Change branch from je/jne to je/jmp
* Simplify code generated for GEP instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5223 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFix references to functions
Chris Lattner [Mon, 13 Jan 2003 00:27:23 +0000 (00:27 +0000)]
Fix references to functions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5222 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoStart renaming MachineInstrInfo -> TargetInstrInfo
Chris Lattner [Mon, 13 Jan 2003 00:26:36 +0000 (00:26 +0000)]
Start renaming MachineInstrInfo -> TargetInstrInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5221 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Use the PHI Elimination pass
Chris Lattner [Mon, 13 Jan 2003 00:26:08 +0000 (00:26 +0000)]
* Use the PHI Elimination pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5220 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Convert to use LiveVariable analysis
Chris Lattner [Mon, 13 Jan 2003 00:25:40 +0000 (00:25 +0000)]
* Convert to use LiveVariable analysis
* Convert to use PHIElimination pass
* Don't spill values which have just been reloaded (big win reducing spills)
* Add experimental support for eliminating spills before TwoAddress
  instructions.  It currently is broken so it is #ifdef'd out.
* Use new "is terminator" flag on instructions instead of looking for
  branches and returns explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5219 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoConvert to MachineFunctionPass
Chris Lattner [Mon, 13 Jan 2003 00:23:41 +0000 (00:23 +0000)]
Convert to MachineFunctionPass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5218 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd support for 3 new forms of MachineOperand
Chris Lattner [Mon, 13 Jan 2003 00:23:24 +0000 (00:23 +0000)]
Add support for 3 new forms of MachineOperand

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5217 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd support for constant pool
Chris Lattner [Mon, 13 Jan 2003 00:23:03 +0000 (00:23 +0000)]
Add support for constant pool
Add helper methods for MachineFrameInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5216 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoAdd support for global address by string and constant pool values
Chris Lattner [Mon, 13 Jan 2003 00:22:37 +0000 (00:22 +0000)]
Add support for global address by string and constant pool values

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5215 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRename MachineInstrInfo -> TargetInstrInfo
Chris Lattner [Mon, 13 Jan 2003 00:21:32 +0000 (00:21 +0000)]
Rename MachineInstrInfo -> TargetInstrInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5214 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Start renaming MachineInstrInfo -> TargetInstrInfo
Chris Lattner [Mon, 13 Jan 2003 00:21:19 +0000 (00:21 +0000)]
* 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

21 years agoAdd new getName method
Chris Lattner [Mon, 13 Jan 2003 00:19:44 +0000 (00:19 +0000)]
Add new getName method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5212 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoSimplify interface to creating a register
Chris Lattner [Mon, 13 Jan 2003 00:19:18 +0000 (00:19 +0000)]
Simplify interface to creating a register

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5211 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Add support for new types of operands
Chris Lattner [Mon, 13 Jan 2003 00:18:44 +0000 (00:18 +0000)]
* Add support for new types of operands

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5210 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Add 3 new types of MachineOperand: ConstantPoolIndex ExternalSymbol and GlobalAddress's
Chris Lattner [Mon, 13 Jan 2003 00:18:17 +0000 (00:18 +0000)]
* 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

21 years ago* Add a constant pool to hold per-function constants which must be spilled to memory
Chris Lattner [Mon, 13 Jan 2003 00:16:10 +0000 (00:16 +0000)]
* 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

21 years ago* Add utility methods which make common cases easier
Chris Lattner [Mon, 13 Jan 2003 00:15:24 +0000 (00:15 +0000)]
* 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

21 years ago* Add support for values in the constant pool
Chris Lattner [Mon, 13 Jan 2003 00:14:55 +0000 (00:14 +0000)]
* 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

21 years agoAdd an option (which will go away in the future) signfifying that there is a JIT...
Chris Lattner [Mon, 13 Jan 2003 00:13:19 +0000 (00:13 +0000)]
Add an option (which will go away in the future) signfifying that there is a JIT under Linux

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5205 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoMore renamings of Target/Machine*Info to Target/Target*Info
Chris Lattner [Sun, 29 Dec 2002 03:13:05 +0000 (03:13 +0000)]
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

21 years agoRename MachineOptInfo to TargetoptInfo
Chris Lattner [Sun, 29 Dec 2002 02:50:35 +0000 (02:50 +0000)]
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

21 years agoRename MachineOptInfo to TargetoptInfo
Chris Lattner [Sun, 29 Dec 2002 02:50:33 +0000 (02:50 +0000)]
Rename MachineOptInfo to TargetoptInfo
Rename MachineCacheInfo to TargetCacheInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5202 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRename FunctionFrameInfo to MachineFrameInfo
Chris Lattner [Sat, 28 Dec 2002 21:08:28 +0000 (21:08 +0000)]
Rename FunctionFrameInfo to MachineFrameInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5201 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago Rename FunctionFrameInfo to MachineFrameInfo
Chris Lattner [Sat, 28 Dec 2002 21:08:26 +0000 (21:08 +0000)]
 Rename FunctionFrameInfo to MachineFrameInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5200 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoRename MachineFrameInfo to TargetFrameInfo.h
Chris Lattner [Sat, 28 Dec 2002 21:00:25 +0000 (21:00 +0000)]
Rename MachineFrameInfo to TargetFrameInfo.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5199 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoInitial checkin of Prolog/Epilog code inserter, which is an important part
Chris Lattner [Sat, 28 Dec 2002 20:43:30 +0000 (20:43 +0000)]
Initial checkin of Prolog/Epilog code inserter, which is an important part
of the abstract frame representation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5198 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoPut class in anonymous namespace
Chris Lattner [Sat, 28 Dec 2002 20:42:56 +0000 (20:42 +0000)]
Put class in anonymous namespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5197 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Convert to be a MachineFunctionPass instance
Chris Lattner [Sat, 28 Dec 2002 20:42:14 +0000 (20:42 +0000)]
* Convert to be a MachineFunctionPass instance
* Use new FunctionFrameInfo object to manage stack slots instead of doing
  it directly
* Adjust to new MRegisterInfo API
* Don't take a TM as a ctor argument
* Don't keep track of which callee saved registers are modified
* Don't emit prolog/epilog code or spill/restore code for callee saved regs
* Use new allocation_order_begin/end iterators to simplify dramatically the
  logic for picking registers to allocate
* Machine PHI nodes can no longer contain constant arguments

* Use a bitvector to keep track of registers used instead of a set
* Fix problem where explicitly referenced registers would be added to
  regsused set and never removed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5196 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Convert to be a MachineFunctionPass instance
Chris Lattner [Sat, 28 Dec 2002 20:40:43 +0000 (20:40 +0000)]
* Convert to be a MachineFunctionPass instance
* Use new FunctionFrameInfo object to manage stack slots instead of doing
  it directly
* Adjust to new MRegisterInfo API
* Don't take a TM as a ctor argument
* Don't keep track of which callee saved registers are modified
* Don't emit prolog/epilog code or spill/restore code for callee saved regs
* Use new allocation_order_begin/end iterators to simplify dramatically the
  logic for picking registers to allocate
* Machine PHI nodes can no longer contain constant arguments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5195 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Add printing support for FrameIndex operands
Chris Lattner [Sat, 28 Dec 2002 20:37:37 +0000 (20:37 +0000)]
* Add printing support for FrameIndex operands

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5194 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* A bunch of functionality and data was removed from MachineFunction and put
Chris Lattner [Sat, 28 Dec 2002 20:37:16 +0000 (20:37 +0000)]
* A bunch of functionality and data was removed from MachineFunction and put
  into a new MachineFunctionInfo class
* Implement new FunctionFrameInfo class

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5193 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoFrame info moved out of MachineFunction into a seperate object
Chris Lattner [Sat, 28 Dec 2002 20:35:34 +0000 (20:35 +0000)]
Frame info moved out of MachineFunction into a seperate object

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5192 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoEliminate unneccesary file
Chris Lattner [Sat, 28 Dec 2002 20:34:47 +0000 (20:34 +0000)]
Eliminate unneccesary file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5191 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoCapture more information in ctor
Chris Lattner [Sat, 28 Dec 2002 20:34:18 +0000 (20:34 +0000)]
Capture more information in ctor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5190 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoImplement the TargetFrameInfo interface
Chris Lattner [Sat, 28 Dec 2002 20:33:52 +0000 (20:33 +0000)]
Implement the TargetFrameInfo interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5189 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Initialize new FrameInfo member
Chris Lattner [Sat, 28 Dec 2002 20:33:32 +0000 (20:33 +0000)]
* Initialize new FrameInfo member
* most pass ctors no longer take TM arguments
* New prolog/epilog insertion pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5188 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoChanges to match new MRegisterInfo api
Chris Lattner [Sat, 28 Dec 2002 20:32:54 +0000 (20:32 +0000)]
Changes to match new MRegisterInfo api

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5187 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago*** Implement frame pointer elimination on X86!
Chris Lattner [Sat, 28 Dec 2002 20:32:28 +0000 (20:32 +0000)]
*** Implement frame pointer elimination on X86!
* Include contents of X86RegisterClasses.cpp into here
* Adjustments to register api to work with new frame manager
* Eliminate moveImm2Reg, getFramePointer, and getStackPointer
* Cleanup and simplify prolog/epilog code generation
* Prolog/epilog are MUCH more efficient now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5186 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoContents merged with X86RegisterInfo.cpp
Chris Lattner [Sat, 28 Dec 2002 20:30:15 +0000 (20:30 +0000)]
Contents merged with X86RegisterInfo.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5185 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Remove implementations of previously pure virtual functions that are not any longer.
Chris Lattner [Sat, 28 Dec 2002 20:29:41 +0000 (20:29 +0000)]
* Remove implementations of previously pure virtual functions that are not any longer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5184 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Minor reformatting
Chris Lattner [Sat, 28 Dec 2002 20:29:14 +0000 (20:29 +0000)]
* Minor reformatting
* Remove some size suffixes [bwl]
* Add new ADJCALLSTACKDOWN & ADJCALLSTACKUP pseudo instrs
* Call instructions are M_CALL not M_BRANCH!
* Disable push and pop instructions
* Add new ANDri32 instr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5183 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoNew addFrameReference function
Chris Lattner [Sat, 28 Dec 2002 20:26:58 +0000 (20:26 +0000)]
New addFrameReference function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5182 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Most pass ctor functions don't take TM arguments anymore
Chris Lattner [Sat, 28 Dec 2002 20:26:16 +0000 (20:26 +0000)]
* Most pass ctor functions don't take TM arguments anymore
* New createPrologEpilogCodeInserter() function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5181 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Convert to a MachineFunctionPass
Chris Lattner [Sat, 28 Dec 2002 20:25:38 +0000 (20:25 +0000)]
* Convert to a MachineFunctionPass
* Don't take a TM as a ctor parameter
* Print [X - Y] instead of [X + -Y] when possible

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5180 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Convert to a MachineFunctionPass
Chris Lattner [Sat, 28 Dec 2002 20:24:48 +0000 (20:24 +0000)]
* Convert to a MachineFunctionPass
* ctor doesn't take TM argument
* handle direct ESP references correctly!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5179 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Use the new Abstract Frame Manager to handle incoming arguments and
Chris Lattner [Sat, 28 Dec 2002 20:24:02 +0000 (20:24 +0000)]
* Use the new Abstract Frame Manager to handle incoming arguments and
  fixed size allocas
* Revamp call emission to work with new frame manager

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5178 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Rename machineFrameInfo to targetFrameInfo
Chris Lattner [Sat, 28 Dec 2002 20:21:29 +0000 (20:21 +0000)]
* Rename machineFrameInfo to targetFrameInfo
* Constant pool and frame info is no longer directly in MachineFunction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5177 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Rename MachineFrameInfo to TargetFrameInfo
Chris Lattner [Sat, 28 Dec 2002 20:20:24 +0000 (20:20 +0000)]
* Rename MachineFrameInfo to TargetFrameInfo
* Move some sparc specific code here from Target files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5176 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* TargetData is no longer directly accessable from TM
Chris Lattner [Sat, 28 Dec 2002 20:19:44 +0000 (20:19 +0000)]
* TargetData is no longer directly accessable from TM
* s/unsigned int/unsigned/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5175 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* TargetData is no longer directly accessable from TargetMachine
Chris Lattner [Sat, 28 Dec 2002 20:18:21 +0000 (20:18 +0000)]
* TargetData is no longer directly accessable from TargetMachine
* Constpool & frame info is no longer directly in MachineFunction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5174 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Frame & const pool info is no longer directly in MachineFunction
Chris Lattner [Sat, 28 Dec 2002 20:17:43 +0000 (20:17 +0000)]
* Frame & const pool info is no longer directly in MachineFunction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5173 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Changes to be a MachineFunctionPass
Chris Lattner [Sat, 28 Dec 2002 20:16:08 +0000 (20:16 +0000)]
* Changes to be a MachineFunctionPass
* Frame information is now stuck in MachineFunctionInfo instead of directly
  in MachineFunction.
* Don't require a TM as an argument to the ctor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5172 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* Don't access TargetData directly
Chris Lattner [Sat, 28 Dec 2002 20:15:01 +0000 (20:15 +0000)]
* Don't access TargetData directly
* Changes because frame info is not in MachineFunction directly anymore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5171 91177308-0d34-0410-b5e6-96231b3b80d8

21 years ago* doxygenize comment
Chris Lattner [Sat, 28 Dec 2002 20:13:29 +0000 (20:13 +0000)]
* doxygenize comment
* rename MachineFrameInfo to TargetFrameInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5170 91177308-0d34-0410-b5e6-96231b3b80d8

21 years agoSparc specific methods default to abort rather than being pure virtual
Chris Lattner [Sat, 28 Dec 2002 20:12:54 +0000 (20:12 +0000)]
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

21 years agoExpose some very simple information about the frame, rather than in-depth
Chris Lattner [Sat, 28 Dec 2002 20:12:10 +0000 (20:12 +0000)]
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