Julian Seward
|
1065db090a
|
* Take into account register classes when assigning spill slots.
* When doing V-V move coalescing, handle case when src is spilt.
git-svn-id: svn://svn.valgrind.org/vex/trunk@45
|
2004-07-03 19:44:54 +00:00 |
|
Julian Seward
|
87180d0510
|
* Move the x86 genSpill/genRestore functions to the right place.
* Allow HInstrArray to record the number of vregs in the instrs
in the array.
git-svn-id: svn://svn.valgrind.org/vex/trunk@44
|
2004-07-03 19:08:18 +00:00 |
|
Julian Seward
|
ab0fd50714
|
Test for x86 code generation of shifts, and for vreg coalescing
in reg-alloc.
git-svn-id: svn://svn.valgrind.org/vex/trunk@43
|
2004-07-03 14:52:19 +00:00 |
|
Julian Seward
|
5bf98b642c
|
Add prototype for isMove_X86Instr.
git-svn-id: svn://svn.valgrind.org/vex/trunk@42
|
2004-07-03 14:51:44 +00:00 |
|
Julian Seward
|
25bd4ccb0a
|
Implement vreg-vreg move coalescing.
git-svn-id: svn://svn.valgrind.org/vex/trunk@41
|
2004-07-03 14:50:33 +00:00 |
|
Julian Seward
|
399c7c3b8b
|
Add an isMove function for X86 (integer only).
Fix regUsage claim for "ret".
git-svn-id: svn://svn.valgrind.org/vex/trunk@40
|
2004-07-03 14:49:41 +00:00 |
|
Julian Seward
|
3139baf6dd
|
Do Shl32.
git-svn-id: svn://svn.valgrind.org/vex/trunk@39
|
2004-07-03 14:48:24 +00:00 |
|
Julian Seward
|
f11b3e0c6c
|
Make reg allocator work, to a first approximation at least.
git-svn-id: svn://svn.valgrind.org/vex/trunk@38
|
2004-07-03 13:30:00 +00:00 |
|
Julian Seward
|
748f90ca82
|
Fix computation of live ranges, and add lots of debug printing. Still
doesn't work, though.
git-svn-id: svn://svn.valgrind.org/vex/trunk@37
|
2004-07-02 17:30:07 +00:00 |
|
Julian Seward
|
6bf777008d
|
Handle case of assignment to IRTemp.
git-svn-id: svn://svn.valgrind.org/vex/trunk@36
|
2004-07-02 17:29:14 +00:00 |
|
Julian Seward
|
853453b46a
|
Tie everything together enough so the reg-allocator can be test-run.
git-svn-id: svn://svn.valgrind.org/vex/trunk@35
|
2004-07-02 15:20:40 +00:00 |
|
Julian Seward
|
54fd67ade9
|
Add getRegUsage and mapRegs functions for X86 instructions. Tedious.
git-svn-id: svn://svn.valgrind.org/vex/trunk@34
|
2004-07-02 13:45:17 +00:00 |
|
Julian Seward
|
169a39ad1f
|
Allow different gcc's to be used.
git-svn-id: svn://svn.valgrind.org/vex/trunk@33
|
2004-07-02 13:44:36 +00:00 |
|
Julian Seward
|
1a166d65f3
|
Complete reg-alloc output storage, and misc other stuff to make it
compile and link.
git-svn-id: svn://svn.valgrind.org/vex/trunk@32
|
2004-07-02 07:09:23 +00:00 |
|
Julian Seward
|
a5cbbe556f
|
Get the register allocator a lot closer to compiling.
git-svn-id: svn://svn.valgrind.org/vex/trunk@31
|
2004-07-01 23:14:42 +00:00 |
|
Julian Seward
|
baae05cea5
|
Mostly finish the register allocator.
git-svn-id: svn://svn.valgrind.org/vex/trunk@30
|
2004-07-01 21:00:22 +00:00 |
|
Julian Seward
|
87bb2a9a35
|
A register allocator (unfinished).
git-svn-id: svn://svn.valgrind.org/vex/trunk@29
|
2004-07-01 18:30:56 +00:00 |
|
Julian Seward
|
29a240becb
|
Support stuff for register allocation.
git-svn-id: svn://svn.valgrind.org/vex/trunk@28
|
2004-07-01 18:30:32 +00:00 |
|
Julian Seward
|
ce9eeea10a
|
Try to get x86 instruction representation to something sane, and fix
up the selector accordingly.
git-svn-id: svn://svn.valgrind.org/vex/trunk@27
|
2004-06-30 16:37:16 +00:00 |
|
Julian Seward
|
a8fcb7fa02
|
First draft of tree-based instruction selector.
git-svn-id: svn://svn.valgrind.org/vex/trunk@26
|
2004-06-30 09:28:04 +00:00 |
|
Julian Seward
|
8b1698d21e
|
Redo IR data structures using tagged unions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@25
|
2004-06-27 10:42:44 +00:00 |
|
Julian Seward
|
39281e4a0c
|
Move some stuff from linker.c to dispatch.c.
git-svn-id: svn://svn.valgrind.org/vex/trunk@24
|
2004-06-27 10:41:58 +00:00 |
|
Julian Seward
|
037810b0d2
|
Re-home.
git-svn-id: svn://svn.valgrind.org/vex/trunk@23
|
2004-06-27 01:06:55 +00:00 |
|
Julian Seward
|
d9692d86e5
|
Move to a new home.
git-svn-id: svn://svn.valgrind.org/vex/trunk@22
|
2004-06-27 01:04:30 +00:00 |
|
Julian Seward
|
9a5dffab77
|
Convert to tagged unions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@21
|
2004-06-27 01:03:57 +00:00 |
|
Julian Seward
|
65e80c8a06
|
Add basic storage management.
git-svn-id: svn://svn.valgrind.org/vex/trunk@20
|
2004-06-26 20:10:35 +00:00 |
|
Julian Seward
|
8f74db416e
|
Get rid of Haskell stuff
git-svn-id: svn://svn.valgrind.org/vex/trunk@19
|
2004-06-26 18:46:47 +00:00 |
|
Julian Seward
|
5b1c45424d
|
Reinstate top-level C control.
git-svn-id: svn://svn.valgrind.org/vex/trunk@18
|
2004-06-26 18:44:08 +00:00 |
|
Julian Seward
|
f3da3fef16
|
Deleted.
git-svn-id: svn://svn.valgrind.org/vex/trunk@17
|
2004-06-26 18:43:34 +00:00 |
|
Julian Seward
|
f03d8c538e
|
Deleted.
This line, and those below, will be ignored--
D Linker.hs
git-svn-id: svn://svn.valgrind.org/vex/trunk@16
|
2004-06-26 14:27:22 +00:00 |
|
Julian Seward
|
df54a81a9e
|
Add copyright.
git-svn-id: svn://svn.valgrind.org/vex/trunk@15
|
2004-06-20 12:27:19 +00:00 |
|
Julian Seward
|
94e2cf1497
|
Add new files, for defining the IR.
git-svn-id: svn://svn.valgrind.org/vex/trunk@14
|
2004-06-20 12:26:53 +00:00 |
|
Julian Seward
|
91e37de43d
|
New file.
-wThis line, and those below, will be ignored--
A backend
A backend/basictypes.h
git-svn-id: svn://svn.valgrind.org/vex/trunk@13
|
2004-06-20 11:25:49 +00:00 |
|
Julian Seward
|
d7b9c63d5a
|
Merged into linker.c
git-svn-id: svn://svn.valgrind.org/vex/trunk@12
|
2004-04-04 23:47:43 +00:00 |
|
Julian Seward
|
5c5a198399
|
Add JIT stuff from runner.c.
git-svn-id: svn://svn.valgrind.org/vex/trunk@11
|
2004-04-04 23:46:44 +00:00 |
|
Julian Seward
|
3b29fd50ce
|
Rudimentary support for translation table, run-time despatcher, etc.
git-svn-id: svn://svn.valgrind.org/vex/trunk@10
|
2004-04-04 21:02:11 +00:00 |
|
Julian Seward
|
433b25688e
|
Another test commit.
git-svn-id: svn://svn.valgrind.org/vex/trunk@9
|
2004-04-01 21:46:34 +00:00 |
|
Julian Seward
|
b65bfa791f
|
Test commit.
git-svn-id: svn://svn.valgrind.org/vex/trunk@8
|
2004-04-01 21:14:52 +00:00 |
|
Julian Seward
|
0fd53aa5ad
|
Make FFI stuff work well enough to get the C linker to load and
link some object modules.
git-svn-id: svn://svn.valgrind.org/vex/trunk@7
|
2004-03-31 23:25:47 +00:00 |
|
Julian Seward
|
7813c480f1
|
Add Makefile, in which to record hugs FFI magic incantations
git-svn-id: svn://svn.valgrind.org/vex/trunk@6
|
2004-03-31 22:08:37 +00:00 |
|
Julian Seward
|
b64b3097d2
|
Hooks for the stuff in linker.c
git-svn-id: svn://svn.valgrind.org/vex/trunk@5
|
2004-03-31 21:52:09 +00:00 |
|
Julian Seward
|
a6fe332d91
|
Make most functions static.
git-svn-id: svn://svn.valgrind.org/vex/trunk@4
|
2004-03-31 21:42:30 +00:00 |
|
Julian Seward
|
e47bd540a9
|
Import some very small tests.
git-svn-id: svn://svn.valgrind.org/vex/trunk@3
|
2004-03-31 20:31:07 +00:00 |
|
Julian Seward
|
90e26bd095
|
Initial import of ELF .o linker.
git-svn-id: svn://svn.valgrind.org/vex/trunk@2
|
2004-03-31 20:26:15 +00:00 |
|
Julian Seward
|
52b6082f84
|
Initial repository layout
git-svn-id: svn://svn.valgrind.org/vex/trunk@1
|
2004-03-30 21:10:56 +00:00 |
|