Julian Seward
aeddaca2ff
Try and print a bit faster.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@129
2004-07-26 02:05:49 +00:00
Julian Seward
04fc72110e
Startup delay and debug printing wibbles.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@128
2004-07-26 02:05:26 +00:00
Julian Seward
52702e3b6f
Fix bug in assembly of shifts.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@127
2004-07-26 02:04:54 +00:00
Julian Seward
642e9fce89
Fill in a few more thunks cases.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@126
2004-07-25 23:39:13 +00:00
Julian Seward
50647cc68d
Fix startup stuff a bit.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@125
2004-07-25 23:37:53 +00:00
Julian Seward
f74088b1b6
More eflags thunks.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@124
2004-07-25 18:18:03 +00:00
Julian Seward
be98732297
More helpers.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@123
2004-07-25 18:00:18 +00:00
Julian Seward
b5adf8b182
Make --stop-after= work.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@122
2004-07-25 17:26:40 +00:00
Julian Seward
3f74d15a10
Add a few more flag evaluation routines.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@121
2004-07-25 17:25:55 +00:00
Julian Seward
ea8badf1bd
Observe caller-supplied limit on # of insns allowed in a bb.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@120
2004-07-25 17:25:06 +00:00
Julian Seward
13e1690aee
Fix some bug or other to do with moving values out of the way
...
of rreg live ranges too early. All this stuff needs revisiting.
git-svn-id: svn://svn.valgrind.org/vex/trunk@119
2004-07-25 17:24:02 +00:00
Julian Seward
89272ed666
More hacked104 hookups, including the first eflags thunk calculation
...
routine.
git-svn-id: svn://svn.valgrind.org/vex/trunk@118
2004-07-25 01:24:28 +00:00
Julian Seward
a328a95326
Integration stuff to make the 104 testbed work.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@117
2004-07-25 00:07:35 +00:00
Julian Seward
f146445017
Add a hacked version of 1.0.4 as a test bed for Vex.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@116
2004-07-24 14:21:10 +00:00
Julian Seward
95bc08e053
Delete this directory.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@115
2004-07-24 14:16:51 +00:00
Julian Seward
df7a87671c
Delete this stuff. Not part of vex.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@114
2004-07-24 14:16:04 +00:00
Julian Seward
041565a8b7
Clean up unused stuff.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@113
2004-07-24 14:14:24 +00:00
Julian Seward
40573eab36
Add mechanisms for calling helper functions from generated code.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@112
2004-07-24 13:12:23 +00:00
Julian Seward
33c7cd3876
Compilation fixes for gcc-2.96.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@111
2004-07-24 01:24:38 +00:00
Julian Seward
f98f07ea81
Fix bug causing real registers to be bought back into circulation
...
(moved from Unavail to Free) too early, following the end of fixed
live ranges. This was causing nonsense like "shl %cl,%ecx".
At the same time, greatly improve debug printing.
git-svn-id: svn://svn.valgrind.org/vex/trunk@110
2004-07-23 16:59:48 +00:00
Julian Seward
6496978370
Fix indentation in emit_X86Instr. Whitespace change only.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@109
2004-07-23 12:57:47 +00:00
Julian Seward
77b2e00184
Finish first pass through x86 assembler.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@108
2004-07-23 11:43:43 +00:00
Julian Seward
66d77829bf
Fill in many (most) x86 emission cases.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@107
2004-07-23 01:34:11 +00:00
Julian Seward
20c6f3b5bc
Get rid of these too.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@106
2004-07-22 17:41:22 +00:00
Julian Seward
09d809cbd9
Get rid of this.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@105
2004-07-22 17:40:10 +00:00
Julian Seward
91ee6a4fe0
Start pushing some instructions through the x86 assembler.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@104
2004-07-22 17:26:12 +00:00
Julian Seward
54cbdeb896
Makefile for use with icc.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@103
2004-07-22 17:25:03 +00:00
Julian Seward
dc314d8ee2
More x86 insn emitter hacking.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@102
2004-07-22 16:47:21 +00:00
Julian Seward
e2d3aacfb4
Make a start on x86 instruction emission.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@101
2004-07-22 01:14:11 +00:00
Julian Seward
9d3db569b5
Rename x86h_defs.[ch] to x86host_defs.[ch].
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@100
2004-07-21 18:53:20 +00:00
Julian Seward
f114050fba
Assembler infrastructure.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@99
2004-07-21 18:49:27 +00:00
Julian Seward
e0e0f44bd3
- Fix up verbosity control.
...
- A quick bit of profiling and inlining of HReg functions as
a result.
git-svn-id: svn://svn.valgrind.org/vex/trunk@98
2004-07-21 12:28:07 +00:00
Julian Seward
439b0146d4
Complete first pass thru x86 instruction selector.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@97
2004-07-19 12:48:11 +00:00
Julian Seward
3eaf4813e3
Teach x86 insn selector how to generate code for 64-bit expressions.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@96
2004-07-19 02:51:12 +00:00
Julian Seward
f840732660
Refine x86 instruction representation a bit.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@95
2004-07-19 01:56:50 +00:00
Julian Seward
bc52328f51
Loads more x86 insn selector hacking.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@94
2004-07-18 23:06:45 +00:00
Julian Seward
1fe3c31455
Mucho instruction selector hacking.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@93
2004-07-18 01:28:30 +00:00
Julian Seward
3ebed3108e
Get rid of add with carry and subtract with borrow from the IR.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@92
2004-07-16 21:19:05 +00:00
Julian Seward
a2b2ccdf12
temporarily print storage stats
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@91
2004-07-16 21:18:25 +00:00
Julian Seward
d64a131f0f
Mucho x86 instruction selector hacking.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@90
2004-07-16 21:03:45 +00:00
Julian Seward
5bca5080f6
setFlags_DSTus_DST1: generate well-typed IR for Mux10 arms
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@89
2004-07-15 18:18:47 +00:00
Julian Seward
ba6f80475c
Get rid of guards on IR Puts, and instead have an IR Mux expression.
...
Adjust everything else accordingly.
git-svn-id: svn://svn.valgrind.org/vex/trunk@88
2004-07-15 12:39:03 +00:00
Julian Seward
bfb442688a
Further improvements to the IR sanity checker.
...
Use these to fix various bugs found in x86->IR.
git-svn-id: svn://svn.valgrind.org/vex/trunk@87
2004-07-15 09:38:27 +00:00
Julian Seward
8d1868fedb
Complete the IR sanity checker -- at least up to the point where
...
it can typecheck the IR.
git-svn-id: svn://svn.valgrind.org/vex/trunk@86
2004-07-15 03:54:23 +00:00
Julian Seward
7559c79ca8
First part of IR sanity checking: def/use checks.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@85
2004-07-14 22:36:10 +00:00
Julian Seward
0b8b72a88a
Rationalise IR a bit:
...
* remove IR next, it was not needed.
* change the IRTemp -> IRType env so it can be directly indexed
for speed.
git-svn-id: svn://svn.valgrind.org/vex/trunk@84
2004-07-14 18:24:17 +00:00
Julian Seward
a9337368cd
x86toIR: SHLD/SHRD
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@83
2004-07-14 13:18:05 +00:00
Julian Seward
7a93b37641
x86toIR: add support for add with carry
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@82
2004-07-14 02:46:52 +00:00
Julian Seward
84582762e5
x86toIR: reorganise multiply stuff, and make a start on division stuff
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@81
2004-07-14 01:39:17 +00:00
Julian Seward
a2b254f597
Compilation fixes for older compilers.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@80
2004-07-13 18:47:18 +00:00