oota-llvm.git
21 years agoAdjust the stack pointer after a function call, proportional to the number of
Misha Brukman [Wed, 4 Dec 2002 19:22:53 +0000 (19:22 +0000)]
Adjust the stack pointer after a function call, proportional to the number of
arguments pushed onto the stack.

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

21 years agoAdded instructions to add/subtract imm32 to/from a reg32.
Misha Brukman [Wed, 4 Dec 2002 19:15:22 +0000 (19:15 +0000)]
Added instructions to add/subtract imm32 to/from a reg32.

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

21 years agoNew testcase
Chris Lattner [Wed, 4 Dec 2002 17:35:11 +0000 (17:35 +0000)]
New testcase

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

21 years agoFix bogus assertion failures
Chris Lattner [Wed, 4 Dec 2002 17:32:52 +0000 (17:32 +0000)]
Fix bogus assertion failures

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

21 years agoAvoid bad assertion
Chris Lattner [Wed, 4 Dec 2002 17:28:40 +0000 (17:28 +0000)]
Avoid bad assertion

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

21 years agoRemove think-o assertion
Chris Lattner [Wed, 4 Dec 2002 17:18:30 +0000 (17:18 +0000)]
Remove think-o assertion

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

21 years agoAvoid crashing on Arguments, just silently miscompile
Chris Lattner [Wed, 4 Dec 2002 17:15:34 +0000 (17:15 +0000)]
Avoid crashing on Arguments, just silently miscompile

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

21 years agoAdd main functions to benchmarks
Chris Lattner [Wed, 4 Dec 2002 17:15:07 +0000 (17:15 +0000)]
Add main functions to benchmarks

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

21 years agostoreReg2RegOffset() and loadRegOffset2Reg() now take the iterator by value
Misha Brukman [Wed, 4 Dec 2002 17:14:13 +0000 (17:14 +0000)]
storeReg2RegOffset() and loadRegOffset2Reg() now take the iterator by value
instead of by reference, since they return the modified iterator.

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

21 years agoOn `make clean', kill the core files produced, which are of the form:
Misha Brukman [Wed, 4 Dec 2002 17:08:15 +0000 (17:08 +0000)]
On `make clean', kill the core files produced, which are of the form:
core.### where ### is the process ID. We use core.[0-9][0-9]* to avoid killing
core.c, core.cpp, and core.h files which may be part of benchmarks.

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

21 years agoNew testcase
Chris Lattner [Wed, 4 Dec 2002 17:00:25 +0000 (17:00 +0000)]
New testcase

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

21 years agoMoved buildReg2RegClassMap() into from X86RegisterInfo to MRegisterInfo, since
Misha Brukman [Wed, 4 Dec 2002 16:47:04 +0000 (16:47 +0000)]
Moved buildReg2RegClassMap() into from X86RegisterInfo to MRegisterInfo, since
it is target-independent.

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

21 years agoAdd a "Lazy Function Resolution in Jello" section
Chris Lattner [Wed, 4 Dec 2002 16:12:54 +0000 (16:12 +0000)]
Add a "Lazy Function Resolution in Jello" section
Remove some todo's

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

21 years agoFix a bug I introduced in a previous change
Chris Lattner [Wed, 4 Dec 2002 06:56:56 +0000 (06:56 +0000)]
Fix a bug I introduced in a previous change

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

21 years agoAdd support for global value references
Chris Lattner [Wed, 4 Dec 2002 06:45:40 +0000 (06:45 +0000)]
Add support for global value references

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

21 years agoAdd support for referencing global variables/functions
Chris Lattner [Wed, 4 Dec 2002 06:45:19 +0000 (06:45 +0000)]
Add support for referencing global variables/functions

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

21 years agoPrint out direct global references
Chris Lattner [Wed, 4 Dec 2002 06:44:41 +0000 (06:44 +0000)]
Print out direct global references

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

21 years agoAdd support for direct global references
Chris Lattner [Wed, 4 Dec 2002 06:44:27 +0000 (06:44 +0000)]
Add support for direct global references

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

21 years agoInitial checkin of global var support code
Chris Lattner [Wed, 4 Dec 2002 06:09:04 +0000 (06:09 +0000)]
Initial checkin of global var support code

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

21 years agoImplement simple global variable support
Chris Lattner [Wed, 4 Dec 2002 06:04:17 +0000 (06:04 +0000)]
Implement simple global variable support

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

21 years agoImplement external function support
Chris Lattner [Wed, 4 Dec 2002 06:04:07 +0000 (06:04 +0000)]
Implement external function support

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

21 years agoExpose target data through a method for uniformity
Chris Lattner [Wed, 4 Dec 2002 05:20:12 +0000 (05:20 +0000)]
Expose target data through a method for uniformity

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

21 years agoInitial checkin of Unresolved function fault handler
Chris Lattner [Wed, 4 Dec 2002 05:05:26 +0000 (05:05 +0000)]
Initial checkin of Unresolved function fault handler

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

21 years agoImplement lazy resolution of function calls
Chris Lattner [Wed, 4 Dec 2002 04:47:34 +0000 (04:47 +0000)]
Implement lazy resolution of function calls

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

21 years agoThis should fix the bug seen with some registers not being allocated
Misha Brukman [Tue, 3 Dec 2002 23:15:19 +0000 (23:15 +0000)]
This should fix the bug seen with some registers not being allocated
correctly: skipping instructions by incorrectly incrementing the pointer.

Also adds support for building a reg-to-regclass map, and splits the function
for saving register to stack into two, one suitable for virtual registers
(which also assigns it a physical register) and one for simply storing back
physical registers.

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

21 years agoAdded support for callee- and caller-save registers.
Misha Brukman [Tue, 3 Dec 2002 23:11:21 +0000 (23:11 +0000)]
Added support for callee- and caller-save registers.

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

21 years agoRegisterInfo now supports handing out caller- and callee-save registers, as
Misha Brukman [Tue, 3 Dec 2002 23:09:53 +0000 (23:09 +0000)]
RegisterInfo now supports handing out caller- and callee-save registers, as
well as building a map from a physical register to its register class.

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

21 years agoFix broken ret opcode, grr...
Chris Lattner [Tue, 3 Dec 2002 22:50:02 +0000 (22:50 +0000)]
Fix broken ret opcode, grr...

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

21 years agoInitial checkin of virtual machine implementation.
Chris Lattner [Tue, 3 Dec 2002 22:48:59 +0000 (22:48 +0000)]
Initial checkin of virtual machine implementation.
We can now run very trivial test cases

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

21 years agoCheckin debug implementation of MCE
Chris Lattner [Tue, 3 Dec 2002 20:56:42 +0000 (20:56 +0000)]
Checkin debug implementation of MCE

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

21 years agoAdd virtual dtor, expose a debug impl
Chris Lattner [Tue, 3 Dec 2002 20:56:20 +0000 (20:56 +0000)]
Add virtual dtor, expose a debug impl

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

21 years agoFix instsel for calls
Chris Lattner [Tue, 3 Dec 2002 20:30:12 +0000 (20:30 +0000)]
Fix instsel for calls

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

21 years agoTestcase for call instruction
Chris Lattner [Tue, 3 Dec 2002 20:30:03 +0000 (20:30 +0000)]
Testcase for call instruction

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

21 years agoStandard hello-world test
Chris Lattner [Tue, 3 Dec 2002 20:25:43 +0000 (20:25 +0000)]
Standard hello-world test

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

21 years agoAdd code that can be used for debugging
Chris Lattner [Tue, 3 Dec 2002 20:01:04 +0000 (20:01 +0000)]
Add code that can be used for debugging

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

21 years agoDisable timing of bytecode loader
Chris Lattner [Tue, 3 Dec 2002 19:42:26 +0000 (19:42 +0000)]
Disable timing of bytecode loader

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

21 years agoSimplify code
Chris Lattner [Tue, 3 Dec 2002 19:40:16 +0000 (19:40 +0000)]
Simplify code

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

21 years agoFix big bug introduced with symbol table changes
Chris Lattner [Tue, 3 Dec 2002 18:32:30 +0000 (18:32 +0000)]
Fix big bug introduced with symbol table changes

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

21 years agoFix the build
Chris Lattner [Tue, 3 Dec 2002 18:15:59 +0000 (18:15 +0000)]
Fix the build

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

21 years agobrg
Brian Gaeke [Tue, 3 Dec 2002 07:36:03 +0000 (07:36 +0000)]
brg

Add support for cast ... to bool in visitCastInst (it's a start, anyways...)

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

21 years agoSplit the machine code emitter completely out of the printer
Chris Lattner [Tue, 3 Dec 2002 06:34:06 +0000 (06:34 +0000)]
Split the machine code emitter completely out of the printer

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

21 years agoFinal tweak to printer
Chris Lattner [Tue, 3 Dec 2002 06:33:30 +0000 (06:33 +0000)]
Final tweak to printer

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

21 years agoImplement trivially simple debugger for MachineCodeEmitter interface
Chris Lattner [Tue, 3 Dec 2002 06:09:26 +0000 (06:09 +0000)]
Implement trivially simple debugger for MachineCodeEmitter interface

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

21 years agoContinue implementing field initializers
Chris Lattner [Tue, 3 Dec 2002 06:00:33 +0000 (06:00 +0000)]
Continue implementing field initializers

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

21 years agoDon't delete temporary files
Chris Lattner [Tue, 3 Dec 2002 06:00:11 +0000 (06:00 +0000)]
Don't delete temporary files

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

21 years ago* Move information about Implicit Defs/Uses into X86InstrInfo.def.
Chris Lattner [Tue, 3 Dec 2002 05:42:53 +0000 (05:42 +0000)]
* Move information about Implicit Defs/Uses into X86InstrInfo.def.
* Expose information about implicit defs/uses of register through the
  MachineInstrInfo.h file.

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

21 years agoInitialize implicit uses/defs fields for sparc backend to empty list
Chris Lattner [Tue, 3 Dec 2002 05:41:54 +0000 (05:41 +0000)]
Initialize implicit uses/defs fields for sparc backend to empty list

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

21 years agoAdd entries to track information about implicit uses and definitions of
Chris Lattner [Tue, 3 Dec 2002 05:41:32 +0000 (05:41 +0000)]
Add entries to track information about implicit uses and definitions of
the instructions

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

21 years agobrg
Brian Gaeke [Tue, 3 Dec 2002 00:51:09 +0000 (00:51 +0000)]
brg

X86Implicit.cpp, X86Implicit.h: New files.
InstSelectSimple.cpp: Add some clarifications in visitCallInst comments.

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

21 years agoMore support
Chris Lattner [Mon, 2 Dec 2002 21:56:28 +0000 (21:56 +0000)]
More support

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

21 years agoMore support for machine code emission: raw instructions
Chris Lattner [Mon, 2 Dec 2002 21:56:18 +0000 (21:56 +0000)]
More support for machine code emission: raw instructions

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

21 years agoExpose explicit type
Chris Lattner [Mon, 2 Dec 2002 21:50:41 +0000 (21:50 +0000)]
Expose explicit type

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

21 years agoStart implementing MachineCodeEmitter
Chris Lattner [Mon, 2 Dec 2002 21:44:34 +0000 (21:44 +0000)]
Start implementing MachineCodeEmitter

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

21 years agoStart adding to the meat of MachineCodeEmitter
Chris Lattner [Mon, 2 Dec 2002 21:44:13 +0000 (21:44 +0000)]
Start adding to the meat of MachineCodeEmitter

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

21 years agoEliminate OtherFrm
Chris Lattner [Mon, 2 Dec 2002 21:40:58 +0000 (21:40 +0000)]
Eliminate OtherFrm

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

21 years agoRemove comment
Chris Lattner [Mon, 2 Dec 2002 21:40:46 +0000 (21:40 +0000)]
Remove comment
Remove handling of OtherFrm

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

21 years agoInitial support for machine code emission
Chris Lattner [Mon, 2 Dec 2002 21:24:12 +0000 (21:24 +0000)]
Initial support for machine code emission

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

21 years agoAdd initial support for machine code emission
Chris Lattner [Mon, 2 Dec 2002 21:22:04 +0000 (21:22 +0000)]
Add initial support for machine code emission

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

21 years agoInitial version of MachineCodeEmitter interface: empty
Chris Lattner [Mon, 2 Dec 2002 21:21:36 +0000 (21:21 +0000)]
Initial version of MachineCodeEmitter interface: empty

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

21 years agoThe hopefully final version of addPassesToEmitMachineCode which does not
Chris Lattner [Mon, 2 Dec 2002 21:15:42 +0000 (21:15 +0000)]
The hopefully final version of addPassesToEmitMachineCode which does not
have any question about ownership

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

21 years agoIgnore generated files gram.tab.c and gram.tab.h
Misha Brukman [Mon, 2 Dec 2002 21:15:37 +0000 (21:15 +0000)]
Ignore generated files gram.tab.c and gram.tab.h

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

21 years agoIgnore generated files Lexer.cpp and llvmAsmParser.*
Misha Brukman [Mon, 2 Dec 2002 21:14:54 +0000 (21:14 +0000)]
Ignore generated files Lexer.cpp and llvmAsmParser.*

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

21 years agoIgnore generated files FileLexer.* and FileParser.*
Misha Brukman [Mon, 2 Dec 2002 21:13:59 +0000 (21:13 +0000)]
Ignore generated files FileLexer.* and FileParser.*

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

21 years agoAdd comment about ownership semantics
Chris Lattner [Mon, 2 Dec 2002 21:13:45 +0000 (21:13 +0000)]
Add comment about ownership semantics

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

21 years ago* Abstracted out stack space allocation into its own function
Misha Brukman [Mon, 2 Dec 2002 21:11:58 +0000 (21:11 +0000)]
* Abstracted out stack space allocation into its own function
* Added saving of register values to the stack

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

21 years agoFix order of operands on a store from reg to [reg+offset].
Misha Brukman [Mon, 2 Dec 2002 21:10:35 +0000 (21:10 +0000)]
Fix order of operands on a store from reg to [reg+offset].

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

21 years agoAdd stub to emit machine code for JIT
Chris Lattner [Mon, 2 Dec 2002 21:00:50 +0000 (21:00 +0000)]
Add stub to emit machine code for JIT

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

21 years agoContinued support for field intitializers
Chris Lattner [Mon, 2 Dec 2002 17:53:54 +0000 (17:53 +0000)]
Continued support for field intitializers

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

21 years agoContinued support for field initializer
Chris Lattner [Mon, 2 Dec 2002 17:44:35 +0000 (17:44 +0000)]
Continued support for field initializer

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

21 years agoContinued support for Field Initializer
Chris Lattner [Mon, 2 Dec 2002 17:43:58 +0000 (17:43 +0000)]
Continued support for Field Initializer

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

21 years agoAdjustments due to new FieldInit stuff
Chris Lattner [Mon, 2 Dec 2002 17:43:43 +0000 (17:43 +0000)]
Adjustments due to new FieldInit stuff

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

21 years agoAdd comments, factor out common code
Chris Lattner [Mon, 2 Dec 2002 16:57:01 +0000 (16:57 +0000)]
Add comments, factor out common code

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

21 years agoAdd support for field exprs
Chris Lattner [Mon, 2 Dec 2002 16:43:43 +0000 (16:43 +0000)]
Add support for field exprs

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

21 years ago* Move BitsInit::resolveReferences up with the rest of BitsInit code
Chris Lattner [Mon, 2 Dec 2002 16:43:30 +0000 (16:43 +0000)]
* Move BitsInit::resolveReferences up with the rest of BitsInit code
* Initial support for field expressions

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

21 years agoInitial support for Field Expressions
Chris Lattner [Mon, 2 Dec 2002 16:42:52 +0000 (16:42 +0000)]
Initial support for Field Expressions

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

21 years agoAdd correct dependency
Chris Lattner [Mon, 2 Dec 2002 16:31:46 +0000 (16:31 +0000)]
Add correct dependency

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

21 years agoSplit up targets
Chris Lattner [Mon, 2 Dec 2002 16:13:42 +0000 (16:13 +0000)]
Split up targets

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

21 years agoAdd comments
Chris Lattner [Mon, 2 Dec 2002 16:13:23 +0000 (16:13 +0000)]
Add comments

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

21 years agoMake sure to build lib/Support before the utilities, then use the new
Chris Lattner [Mon, 2 Dec 2002 01:23:26 +0000 (01:23 +0000)]
Make sure to build lib/Support before the utilities, then use the new
makefile in utils to build the utilities

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

21 years agoInitial checkin of TableGen utility
Chris Lattner [Mon, 2 Dec 2002 01:23:04 +0000 (01:23 +0000)]
Initial checkin of TableGen utility

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

21 years agoAdd makefile to build subdirs
Chris Lattner [Mon, 2 Dec 2002 01:21:34 +0000 (01:21 +0000)]
Add makefile to build subdirs

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

21 years agoAdd rawfrm flags
Chris Lattner [Sun, 1 Dec 2002 23:25:59 +0000 (23:25 +0000)]
Add rawfrm flags

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

21 years agoDon't add implicit regs
Chris Lattner [Sun, 1 Dec 2002 23:24:58 +0000 (23:24 +0000)]
Don't add implicit regs

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

21 years agobrg
Brian Gaeke [Sat, 30 Nov 2002 11:57:28 +0000 (11:57 +0000)]
brg

InstSelectSimple.cpp: Refactor out conversion of byte, short -> int
  from visitReturnInst() to new method, promote32().
 Use it in both visitReturnInst() and visitCallInst().

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

21 years agobrg
Brian Gaeke [Fri, 29 Nov 2002 12:01:58 +0000 (12:01 +0000)]
brg

InstSelectSimple.cpp: First draft of visitCallInst method, handling
 int/float args.
X86InstrInfo.def: Add entries for CALL with 32-bit pc relative arg, and
 PUSH with 32-bit reg arg.

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

21 years agoSeveral fixes:
Vikram S. Adve [Wed, 27 Nov 2002 17:46:38 +0000 (17:46 +0000)]
Several fixes:
(1) Applied patch from Casey to implement iterator::operator= correctly:
    it should use a pointer, not a reference.
(2) Added operators == and !=, and method all().
(3) Important bug fix: excess bits need to be ignored in operations
    like ==, count(), and all().  We do this by ensuring excess bits
    in the last bitset are always 0.

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

21 years agoFix logical error in TD pass: we should clear Mod/Ref bits of each caller
Vikram S. Adve [Wed, 27 Nov 2002 17:41:13 +0000 (17:41 +0000)]
Fix logical error in TD pass: we should clear Mod/Ref bits of each caller
before inlining their graphs into a function.  To support this,
added flags to CloneFlags to strip/keep Mod/Ref bits.

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

21 years agoAdded flags to CloneFlags to strip/keep Mod/Ref bits when cloning a graph.
Vikram S. Adve [Wed, 27 Nov 2002 17:39:37 +0000 (17:39 +0000)]
Added flags to CloneFlags to strip/keep Mod/Ref bits when cloning a graph.

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

21 years agoNo longer need local graph to find call sites.
Vikram S. Adve [Wed, 27 Nov 2002 17:38:56 +0000 (17:38 +0000)]
No longer need local graph to find call sites.
Also some major fixes within IPModRef.cpp.

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

21 years ago(1) Bug fix that was causing nodes with dangling references to be freed.
Vikram S. Adve [Wed, 27 Nov 2002 17:37:46 +0000 (17:37 +0000)]
(1) Bug fix that was causing nodes with dangling references to be freed.
    We run removeDeadNodes() on the TD graph up front before using it.
(2) Major enhancement to printing of results: now we list the actual objects
    that are mod/ref instead of just printing the bit vectors.
Also an important bug fix in TDDataStructures pass (no change here):
clear Mod/Ref bits of callers before inlining into a function.

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

21 years agobrg
Brian Gaeke [Tue, 26 Nov 2002 10:43:30 +0000 (10:43 +0000)]
brg

InstSelectSimple.cpp: Add some comments that say what I'm going to do for
 calls and casts.

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

21 years agoKeep global nodes in each DS Graph (by forcing them to be marked live).
Vikram S. Adve [Mon, 25 Nov 2002 18:21:25 +0000 (18:21 +0000)]
Keep global nodes in each DS Graph (by forcing them to be marked live).

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

21 years agoOops. Got the MOVrm and MOVmr mixed up. Fixed. We can now print out
Misha Brukman [Fri, 22 Nov 2002 23:15:27 +0000 (23:15 +0000)]
Oops. Got the MOVrm and MOVmr mixed up. Fixed. We can now print out
instructions correctly.

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

21 years agoEnable the register allocator pass.
Misha Brukman [Fri, 22 Nov 2002 22:45:07 +0000 (22:45 +0000)]
Enable the register allocator pass.

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

21 years agoA simple (spilling) register allocator.
Misha Brukman [Fri, 22 Nov 2002 22:44:32 +0000 (22:44 +0000)]
A simple (spilling) register allocator.

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

21 years agoAdded methods to read/write values to stack in .h, fixed implementation in
Misha Brukman [Fri, 22 Nov 2002 22:43:47 +0000 (22:43 +0000)]
Added methods to read/write values to stack in .h, fixed implementation in
.cpp to return the iterator correctly.

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

21 years agoAdded -*- C++ -*- mode to the comments.
Misha Brukman [Fri, 22 Nov 2002 22:42:50 +0000 (22:42 +0000)]
Added -*- C++ -*- mode to the comments.

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

21 years agoAdd a simple way to add memory locations of format [reg+offset]
Misha Brukman [Fri, 22 Nov 2002 22:42:12 +0000 (22:42 +0000)]
Add a simple way to add memory locations of format [reg+offset]

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

21 years agoAdded virtual functions for storing and retrieving values from the stack.
Misha Brukman [Fri, 22 Nov 2002 22:41:23 +0000 (22:41 +0000)]
Added virtual functions for storing and retrieving values from the stack.

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

21 years agoInstead of checking op.getType() against MO_VirtualRegister and
Misha Brukman [Fri, 22 Nov 2002 22:40:52 +0000 (22:40 +0000)]
Instead of checking op.getType() against MO_VirtualRegister and
MO_MachineRegister, we no longer distinguish Virtual vs. Machine registers
externally, they're ALL registers, all equal.

Registers are only differentiated whether they are >=
MRegisterInfo::FirstVirtual or not.

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