oota-llvm.git
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

21 years ago* Keep track of register alignment as well as register size
Chris Lattner [Sat, 28 Dec 2002 20:10:23 +0000 (20:10 +0000)]
* 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

21 years agoDescriptor object used to manage abstract frame references
Chris Lattner [Sat, 28 Dec 2002 20:07:47 +0000 (20:07 +0000)]
Descriptor object used to manage abstract frame references

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

21 years agoState for frame and constant pool information pulled out of MachineFunction
Chris Lattner [Sat, 28 Dec 2002 20:07:33 +0000 (20:07 +0000)]
State for frame and constant pool information pulled out of MachineFunction

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

21 years ago* Frame indices are signed
Chris Lattner [Sat, 28 Dec 2002 20:05:44 +0000 (20:05 +0000)]
* Frame indices are signed
* Cluster modification methods together

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

21 years ago* Pull a bunch of frame and constant pool state out into a new
Chris Lattner [Sat, 28 Dec 2002 20:04:31 +0000 (20:04 +0000)]
* Pull a bunch of frame and constant pool state out into a new
  MachineFunctionInfo class
* Add a new FunctionFrameInfo object

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

21 years agoInitial check in of MachineFunctionPass.h
Chris Lattner [Sat, 28 Dec 2002 20:03:01 +0000 (20:03 +0000)]
Initial check in of MachineFunctionPass.h

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

21 years agoAdd capability to turn on the -no-fp-elim option
Chris Lattner [Sat, 28 Dec 2002 20:01:23 +0000 (20:01 +0000)]
Add capability to turn on the -no-fp-elim option

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

21 years agoAdd another simple call
Chris Lattner [Sat, 28 Dec 2002 20:01:07 +0000 (20:01 +0000)]
Add another simple call

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

21 years agoTest argument passing
Chris Lattner [Sat, 28 Dec 2002 20:00:47 +0000 (20:00 +0000)]
Test argument passing

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

21 years agoAdd a variable sized alloca to test
Chris Lattner [Sat, 28 Dec 2002 20:00:33 +0000 (20:00 +0000)]
Add a variable sized alloca to test

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

21 years agoAdd diagnostic output
Chris Lattner [Sat, 28 Dec 2002 20:00:15 +0000 (20:00 +0000)]
Add diagnostic output

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

21 years agoEliminate direct access to TargetData structure
Chris Lattner [Sat, 28 Dec 2002 20:00:00 +0000 (20:00 +0000)]
Eliminate direct access to TargetData structure

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

21 years agoInitial fp test
Chris Lattner [Wed, 25 Dec 2002 05:14:29 +0000 (05:14 +0000)]
Initial fp test

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

21 years ago* Simplify Value classes
Chris Lattner [Wed, 25 Dec 2002 05:13:53 +0000 (05:13 +0000)]
* Simplify Value classes
* Add initial support for FP constants
* Add initial FP support for several instructions

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

21 years ago* Use new pseudo instr form for instructions
Chris Lattner [Wed, 25 Dec 2002 05:11:46 +0000 (05:11 +0000)]
* Use new pseudo instr form for instructions
* Mark CALLpcrel as a RawFrm instruction as required
* Eliminate invalid BSWAP16 instruction
* Add xchg instructions
* Add initial support for FP instructions

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

21 years agoAdd FP instr prefix byte support
Chris Lattner [Wed, 25 Dec 2002 05:09:59 +0000 (05:09 +0000)]
Add FP instr prefix byte support
Add Pseudo instr class

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

21 years agoAdd support for FP prefixes
Chris Lattner [Wed, 25 Dec 2002 05:09:21 +0000 (05:09 +0000)]
Add support for FP prefixes

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

21 years agoAdd printer support for Pseudo instructions
Chris Lattner [Wed, 25 Dec 2002 05:09:01 +0000 (05:09 +0000)]
Add printer support for Pseudo instructions

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

21 years agoInitial support for FP registers
Chris Lattner [Wed, 25 Dec 2002 05:08:03 +0000 (05:08 +0000)]
Initial support for FP registers

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

21 years agoNew simpler spill interface
Chris Lattner [Wed, 25 Dec 2002 05:07:09 +0000 (05:07 +0000)]
New simpler spill interface

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

21 years agoAdjustments to match new simpler spill interface
Chris Lattner [Wed, 25 Dec 2002 05:06:43 +0000 (05:06 +0000)]
Adjustments to match new simpler spill interface

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

21 years agoFree machine code
Chris Lattner [Wed, 25 Dec 2002 05:06:21 +0000 (05:06 +0000)]
Free machine code

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

21 years agoAdjust to simpler spill interface
Chris Lattner [Wed, 25 Dec 2002 05:05:46 +0000 (05:05 +0000)]
Adjust to simpler spill interface
Only spill and reload caller saved registers that are actually modified.

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

21 years agoAdjustments to work with the simpler spill interface
Chris Lattner [Wed, 25 Dec 2002 05:04:20 +0000 (05:04 +0000)]
Adjustments to work with the simpler spill interface

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

21 years agoRemove dependency on SSARegMap.h by MachineFunction.h
Chris Lattner [Wed, 25 Dec 2002 05:03:22 +0000 (05:03 +0000)]
Remove dependency on SSARegMap.h by MachineFunction.h

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

21 years agoSimplify spill interface methods
Chris Lattner [Wed, 25 Dec 2002 05:02:00 +0000 (05:02 +0000)]
Simplify spill interface methods

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

21 years agoAdd comment
Chris Lattner [Wed, 25 Dec 2002 05:01:46 +0000 (05:01 +0000)]
Add comment

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

21 years agoAdd abstract frame index capability
Chris Lattner [Wed, 25 Dec 2002 05:01:18 +0000 (05:01 +0000)]
Add abstract frame index capability

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

21 years agoRemove default ctor
Chris Lattner [Wed, 25 Dec 2002 05:01:05 +0000 (05:01 +0000)]
Remove default ctor

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

21 years ago*** empty log message ***
Chris Lattner [Wed, 25 Dec 2002 05:00:49 +0000 (05:00 +0000)]
*** empty log message ***

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

21 years agoRemove dependency on SSARegMap.h
Chris Lattner [Wed, 25 Dec 2002 05:00:16 +0000 (05:00 +0000)]
Remove dependency on SSARegMap.h

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

21 years agoFix compilation on GCC 3.2
Chris Lattner [Tue, 24 Dec 2002 00:44:34 +0000 (00:44 +0000)]
Fix compilation on GCC 3.2

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

21 years agoDon't try to buidl jello
Chris Lattner [Tue, 24 Dec 2002 00:44:26 +0000 (00:44 +0000)]
Don't try to buidl jello

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

21 years agoFixes to compile with GCC 3.2
Chris Lattner [Tue, 24 Dec 2002 00:39:16 +0000 (00:39 +0000)]
Fixes to compile with GCC 3.2

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

21 years agoJello is now part of LLI
Chris Lattner [Tue, 24 Dec 2002 00:14:25 +0000 (00:14 +0000)]
Jello is now part of LLI

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

21 years agoSubstantial fixes to live range handling, fixing several problems, getting
Chris Lattner [Tue, 24 Dec 2002 00:04:55 +0000 (00:04 +0000)]
Substantial fixes to live range handling, fixing several problems, getting
strtol to not miscompile, and fixing bug: 2002-12-23-LocalRAProblem.llx

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

21 years agoChanges to allow for a configurable target machine that allows big endian and/or...
Chris Lattner [Tue, 24 Dec 2002 00:04:01 +0000 (00:04 +0000)]
Changes to allow for a configurable target machine that allows big endian and/or long pointer operation

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

21 years agoChanges to compile with GCC 2.96
Chris Lattner [Tue, 24 Dec 2002 00:03:11 +0000 (00:03 +0000)]
Changes to compile with GCC 2.96
Changes to support configurable pointer size and endianness

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

21 years agoSparc is not little endian
Chris Lattner [Tue, 24 Dec 2002 00:02:38 +0000 (00:02 +0000)]
Sparc is not little endian

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

21 years agoAllow the target machines to specify endianness and pointer size
Chris Lattner [Tue, 24 Dec 2002 00:02:17 +0000 (00:02 +0000)]
Allow the target machines to specify endianness and pointer size

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

21 years agoInitial checkin
Chris Lattner [Tue, 24 Dec 2002 00:01:22 +0000 (00:01 +0000)]
Initial checkin

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

21 years agoInitial checkin of new LLI with JIT compiler
Chris Lattner [Tue, 24 Dec 2002 00:01:05 +0000 (00:01 +0000)]
Initial checkin of new LLI with JIT compiler

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

21 years agoSubstantial changes to refactor LLI to incorporate both the Jello JIT and
Chris Lattner [Mon, 23 Dec 2002 23:59:41 +0000 (23:59 +0000)]
Substantial changes to refactor LLI to incorporate both the Jello JIT and
the traditional LLI interpreter

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

21 years agoX86 target machine is now parameterizable
Chris Lattner [Mon, 23 Dec 2002 23:55:01 +0000 (23:55 +0000)]
X86 target machine is now parameterizable

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

21 years agoTestcases for bugfixes
Chris Lattner [Mon, 23 Dec 2002 23:51:30 +0000 (23:51 +0000)]
Testcases for bugfixes

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

21 years agoJello is now part of LLI
Chris Lattner [Mon, 23 Dec 2002 23:51:19 +0000 (23:51 +0000)]
Jello is now part of LLI

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

21 years agoNew testcase
Chris Lattner [Mon, 23 Dec 2002 23:50:35 +0000 (23:50 +0000)]
New testcase

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

21 years agoNew files for miscompilation detection
Chris Lattner [Mon, 23 Dec 2002 23:50:16 +0000 (23:50 +0000)]
New files for miscompilation detection

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

21 years agoImplement the start of the miscompilation detection stuff
Chris Lattner [Mon, 23 Dec 2002 23:49:59 +0000 (23:49 +0000)]
Implement the start of the miscompilation detection stuff

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

21 years agoRemove temp files
Chris Lattner [Mon, 23 Dec 2002 23:47:39 +0000 (23:47 +0000)]
Remove temp files

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

21 years agoJello is going away
Chris Lattner [Mon, 23 Dec 2002 23:47:20 +0000 (23:47 +0000)]
Jello is going away

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

21 years agoFix compilation on gcc 2.96
Chris Lattner [Mon, 23 Dec 2002 23:46:55 +0000 (23:46 +0000)]
Fix compilation on gcc 2.96

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

21 years agoAdd definition for the bswap instruction
Chris Lattner [Mon, 23 Dec 2002 23:46:31 +0000 (23:46 +0000)]
Add definition for the bswap instruction

*** FIX: the encoding of the SUB instruction

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

21 years agoAdd support for the bswap instruction
Chris Lattner [Mon, 23 Dec 2002 23:46:00 +0000 (23:46 +0000)]
Add support for the bswap instruction

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

21 years agoFix compilation on GCC 2.96
Chris Lattner [Mon, 23 Dec 2002 23:44:04 +0000 (23:44 +0000)]
Fix compilation on GCC 2.96

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

21 years agobrg
Brian Gaeke [Sun, 22 Dec 2002 18:53:23 +0000 (18:53 +0000)]
brg

Add statistic for number of bytes of data area initialized.
We used this statistic in collecting data for the paper, but I forgot
to commit it.

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

21 years agoAdd support for isnan
Chris Lattner [Fri, 20 Dec 2002 04:18:13 +0000 (04:18 +0000)]
Add support for isnan

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

21 years agoAdd stats output
Chris Lattner [Fri, 20 Dec 2002 04:14:19 +0000 (04:14 +0000)]
Add stats output

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

21 years agoFix warning
Chris Lattner [Fri, 20 Dec 2002 04:13:28 +0000 (04:13 +0000)]
Fix warning

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

21 years agoCBW doesn't modify AL
Chris Lattner [Fri, 20 Dec 2002 04:13:11 +0000 (04:13 +0000)]
CBW doesn't modify AL

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

21 years agofix warning
Chris Lattner [Fri, 20 Dec 2002 04:12:48 +0000 (04:12 +0000)]
fix warning

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

21 years ago* Fix several register aliasing bugs
Chris Lattner [Wed, 18 Dec 2002 08:14:26 +0000 (08:14 +0000)]
* Fix several register aliasing bugs
* Add a new option to eliminate spilling of registers that are only used
  within a basic block.

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

21 years agoPrint argc as well as argv
Chris Lattner [Wed, 18 Dec 2002 02:07:21 +0000 (02:07 +0000)]
Print argc as well as argv

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

21 years agoDon't force setCC instructions into AL
Chris Lattner [Wed, 18 Dec 2002 01:44:31 +0000 (01:44 +0000)]
Don't force setCC instructions into AL

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

21 years agoImplicit defs/uses list may be empty.
Chris Lattner [Wed, 18 Dec 2002 01:11:14 +0000 (01:11 +0000)]
Implicit defs/uses list may be empty.

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

21 years agoAdd comments, switch uses/defs to match InstrInfo.def file
Chris Lattner [Wed, 18 Dec 2002 01:05:54 +0000 (01:05 +0000)]
Add comments, switch uses/defs to match InstrInfo.def file

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

21 years agoAdd reg clobber list for direct calls
Chris Lattner [Wed, 18 Dec 2002 01:05:31 +0000 (01:05 +0000)]
Add reg clobber list for direct calls
Represent empty use/def list as a null pointer

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

21 years agoSimplify interface to remove virtual function references
Chris Lattner [Tue, 17 Dec 2002 04:20:39 +0000 (04:20 +0000)]
Simplify interface to remove virtual function references

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

21 years agoUse new reginfo interface
Chris Lattner [Tue, 17 Dec 2002 04:19:40 +0000 (04:19 +0000)]
Use new reginfo interface

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

21 years agoUpdate to use new interface for register info
Chris Lattner [Tue, 17 Dec 2002 04:19:17 +0000 (04:19 +0000)]
Update to use new interface for register info

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

21 years agoNew file
Chris Lattner [Tue, 17 Dec 2002 04:03:08 +0000 (04:03 +0000)]
New file

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

21 years agoAdd prolog/epilog spills/reloads to counters
Chris Lattner [Tue, 17 Dec 2002 03:16:10 +0000 (03:16 +0000)]
Add prolog/epilog spills/reloads to counters
Move X86 specific alignment gunk to X86 files

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

21 years agoRound number of bytes allocated on the stack up to a multiple of 4 so that the
Chris Lattner [Tue, 17 Dec 2002 03:15:26 +0000 (03:15 +0000)]
Round number of bytes allocated on the stack up to a multiple of 4 so that the
stack remains aligned

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

21 years agoLocal register allocator is now stable enough for use, it passes all tests
Chris Lattner [Tue, 17 Dec 2002 02:51:15 +0000 (02:51 +0000)]
Local register allocator is now stable enough for use, it passes all tests

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

21 years agoFix many bugs, regallocator now saves callee-save registers instead of target
Chris Lattner [Tue, 17 Dec 2002 02:50:10 +0000 (02:50 +0000)]
Fix many bugs, regallocator now saves callee-save registers instead of target

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

21 years agoRegister allocator is responsible for spilling callee saved regs
Chris Lattner [Tue, 17 Dec 2002 02:48:57 +0000 (02:48 +0000)]
Register allocator is responsible for spilling callee saved regs

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

21 years agoMake testcase return 0 on success
Chris Lattner [Tue, 17 Dec 2002 02:02:01 +0000 (02:02 +0000)]
Make testcase return 0 on success

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

21 years agoBuild add instructions of the correct form!
Chris Lattner [Mon, 16 Dec 2002 23:36:57 +0000 (23:36 +0000)]
Build add instructions of the correct form!

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

21 years agoAdd dummy implementation of __main
Chris Lattner [Mon, 16 Dec 2002 23:31:48 +0000 (23:31 +0000)]
Add dummy implementation of __main

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

21 years agoTwo fixes:
Chris Lattner [Mon, 16 Dec 2002 22:54:46 +0000 (22:54 +0000)]
Two fixes:
  * Only load incoming arguments into virtual registers once at the
    beginning of the function
  * Assign different virtual registers to each reference to constants/globals

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

21 years agoFix prolog/epilog in the presence of alloca
Chris Lattner [Mon, 16 Dec 2002 22:29:30 +0000 (22:29 +0000)]
Fix prolog/epilog in the presence of alloca

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

21 years agoMake sure stack manipulation refers to ESP the right number of times
Chris Lattner [Mon, 16 Dec 2002 22:29:06 +0000 (22:29 +0000)]
Make sure stack manipulation refers to ESP the right number of times

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

21 years agoNew testcase for printing out arguments
Chris Lattner [Mon, 16 Dec 2002 20:09:54 +0000 (20:09 +0000)]
New testcase for printing out arguments

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

21 years agoAdd some special cases to make common getelementptr cases easier to read/faster
Chris Lattner [Mon, 16 Dec 2002 19:32:50 +0000 (19:32 +0000)]
Add some special cases to make common getelementptr cases easier to read/faster

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

21 years agoFinish implementation of alias list impl
Chris Lattner [Mon, 16 Dec 2002 19:31:48 +0000 (19:31 +0000)]
Finish implementation of alias list impl

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

21 years ago* Fix a gross X86 hack that was intended to avoid allocating SP and BP
Chris Lattner [Mon, 16 Dec 2002 17:44:42 +0000 (17:44 +0000)]
* Fix a gross X86 hack that was intended to avoid allocating SP and BP
* Implement register alias set support

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

21 years agoKeep the stack frame aligned.
Chris Lattner [Mon, 16 Dec 2002 17:42:40 +0000 (17:42 +0000)]
Keep the stack frame aligned.

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

21 years agoAdd support for register alias set description
Chris Lattner [Mon, 16 Dec 2002 16:39:14 +0000 (16:39 +0000)]
Add support for register alias set description

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

21 years agoAdd mechanism to select register allocator to use
Chris Lattner [Mon, 16 Dec 2002 16:15:51 +0000 (16:15 +0000)]
Add mechanism to select register allocator to use

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

21 years agoInitial checkin of "local" register allocator. Bugs are still present.
Chris Lattner [Mon, 16 Dec 2002 16:15:28 +0000 (16:15 +0000)]
Initial checkin of "local" register allocator.  Bugs are still present.

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

21 years agoTry #2 to get alias set stuff to work
Chris Lattner [Mon, 16 Dec 2002 16:14:51 +0000 (16:14 +0000)]
Try #2 to get alias set stuff to work

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

21 years agoAdd comments
Chris Lattner [Mon, 16 Dec 2002 15:57:44 +0000 (15:57 +0000)]
Add comments

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

21 years agoAdd info about register aliases, add prototype for createLocalRegisterAllocator
Chris Lattner [Mon, 16 Dec 2002 15:55:51 +0000 (15:55 +0000)]
Add info about register aliases, add prototype for createLocalRegisterAllocator

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

21 years agoAdd info about register file aliasing
Chris Lattner [Mon, 16 Dec 2002 15:55:25 +0000 (15:55 +0000)]
Add info about register file aliasing

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

21 years agoAdd information about register file aliasing
Chris Lattner [Mon, 16 Dec 2002 15:54:59 +0000 (15:54 +0000)]
Add information about register file aliasing

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