Commit Graph

129 Commits

Author SHA1 Message Date
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