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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Misha Brukman [Fri, 22 Nov 2002 22:32:15 +0000 (22:32 +0000)]
Set SSARegMap to NULL after deleting it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4822
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 22 Nov 2002 11:07:01 +0000 (11:07 +0000)]
lib/Target/X86/InstSelectSimple.cpp: Add visitCallInst, visitCastInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4821
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 23:30:08 +0000 (23:30 +0000)]
Make testcase more interesting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4820
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 23:30:00 +0000 (23:30 +0000)]
Handle cmp Reg, 0 correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4819
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 22:49:46 +0000 (22:49 +0000)]
Printing support for more stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4818
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 22:49:20 +0000 (22:49 +0000)]
Don't add implicit operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4817
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 22:48:15 +0000 (22:48 +0000)]
Fix off by one bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4816
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 22:48:01 +0000 (22:48 +0000)]
Add fixme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4815
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 21:04:50 +0000 (21:04 +0000)]
Minor code cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4814
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 21:03:39 +0000 (21:03 +0000)]
Implement printing of store instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4813
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 20:44:15 +0000 (20:44 +0000)]
The big change here is to handle printing/emission of X86II::MRMSrcMem
instructions. Right now the only users are load instructions, and Misha's
spill code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4812
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Nov 2002 18:54:29 +0000 (18:54 +0000)]
Remove implicit information from instruction selector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4811
91177308-0d34-0410-b5e6-
96231b3b80d8