Commit Graph

54 Commits

Author SHA1 Message Date
Julian Seward
5c88820bf5 Revert to doing x86->x86 (utterly trivial change)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1045
2005-03-16 18:10:45 +00:00
Julian Seward
53c35e60c2 Consistently rename all existing IROps which operate on 128-bit values
to make it clear they operate on 128-bit *vector* values.  This is so
as to facilitate introduction of a 128-bit *scalar* type into IR
without causing confusion.



git-svn-id: svn://svn.valgrind.org/vex/trunk@867
2005-02-07 23:47:38 +00:00
Julian Seward
2955c11bc3 More typechecker police. Hopefully this doesn't break anything.
git-svn-id: svn://svn.valgrind.org/vex/trunk@861
2005-02-07 03:11:17 +00:00
Julian Seward
8c2cdf9d3a Allow easy switching of guest-host arch pairs using ifdefs.
git-svn-id: svn://svn.valgrind.org/vex/trunk@845
2005-02-04 21:18:55 +00:00
Julian Seward
ab71110bd4 Proper support for translation cache management: when a translation is
made, record precisely the areas of guest address space from which the
translation was made.  This is needed to be sure we can later discard
translations accurately.  The new info is record in a structure called
VexGuestExtents.



git-svn-id: svn://svn.valgrind.org/vex/trunk@720
2005-01-19 11:49:45 +00:00
Julian Seward
1073520b66 Rename some functions and types in the top level interface to be more
consistent.  Also make private some functions that Valgrind never
used.



git-svn-id: svn://svn.valgrind.org/vex/trunk@718
2005-01-17 18:34:34 +00:00
Julian Seward
798ee7f8ea Update the memcheck instrumenter embedded herein.
git-svn-id: svn://svn.valgrind.org/vex/trunk@686
2004-12-30 02:05:34 +00:00
Julian Seward
6a66d4e659 Oops. Track arch/subarch changes.
git-svn-id: svn://svn.valgrind.org/vex/trunk@681
2004-12-29 17:48:22 +00:00
Julian Seward
d95d9f6278 Test driver stuff for arm.
git-svn-id: svn://svn.valgrind.org/vex/trunk@587
2004-11-25 13:08:26 +00:00
Julian Seward
f109e70857 gcc-2.95 build fixes.
git-svn-id: svn://svn.valgrind.org/vex/trunk@577
2004-11-22 11:29:33 +00:00
Julian Seward
c06717bc05 Restore ability to run with no instrumentation.
git-svn-id: svn://svn.valgrind.org/vex/trunk@565
2004-11-18 13:44:15 +00:00
Julian Seward
dd054f05b5 Rename the boolean field in IRStmt_Exit from 'cond' to 'guard' to be
consistent with other places where boolean guards are stored.



git-svn-id: svn://svn.valgrind.org/vex/trunk@557
2004-11-15 15:30:21 +00:00
Julian Seward
fd77102469 Rename all the _Bit types to I1 so as to be consistent with all the
other notation used.



git-svn-id: svn://svn.valgrind.org/vex/trunk@556
2004-11-15 15:21:17 +00:00
Julian Seward
a54ff960d3 Rename INVALID_IRTEMP to IRTemp_INVALID to be consistent with
other *_INVALID symbols.


git-svn-id: svn://svn.valgrind.org/vex/trunk@555
2004-11-15 14:22:12 +00:00
Julian Seward
c900461266 Update included copy of the mc_instrument.c.
git-svn-id: svn://svn.valgrind.org/vex/trunk@543
2004-11-11 02:13:30 +00:00
Julian Seward
8601c98827 Allow tools to tell Vex when it can/can't chase across basic block
boundaries, so as to make the intercept mechanism work properly again.

Unfortunately also contains a huge number of tab-to-space whitespace
changes in guest-x86/toIR.c.



git-svn-id: svn://svn.valgrind.org/vex/trunk@537
2004-11-10 13:02:48 +00:00
Julian Seward
dda7880b15 Add a complete standalone copy of the memcheck instrumenter so it can
be valgrinded.



git-svn-id: svn://svn.valgrind.org/vex/trunk@511
2004-11-06 14:20:54 +00:00
Julian Seward
5048dbe3ad Various plumbing to allow the optimiser (really, just a subset) to be
run post-instrumentation.



git-svn-id: svn://svn.valgrind.org/vex/trunk@492
2004-11-04 19:44:48 +00:00
Julian Seward
62af4cea3b Rename some types and data fields in a more logical way. No change of
functionality.



git-svn-id: svn://svn.valgrind.org/vex/trunk@474
2004-11-02 00:26:55 +00:00
Julian Seward
6dfd8fd068 Use new functions for helper-call-construction.
git-svn-id: svn://svn.valgrind.org/vex/trunk@470
2004-10-31 20:04:05 +00:00
Julian Seward
e61a70199e Add a mini-version of the addrcheck instrumenter so as to help refine
the reg-allocator in the presence of lots of helper calls.



git-svn-id: svn://svn.valgrind.org/vex/trunk@466
2004-10-30 22:25:40 +00:00
Julian Seward
9fd6f5f131 Much-improved method for configuring test-driver program: copy
test_main.h.base to test_main.h, and edit.


git-svn-id: svn://svn.valgrind.org/vex/trunk@457
2004-10-29 23:42:36 +00:00
Julian Seward
a26a89459d Clear out old junk.
git-svn-id: svn://svn.valgrind.org/vex/trunk@454
2004-10-29 00:42:07 +00:00
Julian Seward
cff58bf861 Track API changes.
git-svn-id: svn://svn.valgrind.org/vex/trunk@452
2004-10-28 22:19:18 +00:00
Julian Seward
65da378b04 Track LibVEX API changes.
git-svn-id: svn://svn.valgrind.org/vex/trunk@442
2004-10-27 23:04:12 +00:00
Julian Seward
b3d19a8a19 Hacks du jour
git-svn-id: svn://svn.valgrind.org/vex/trunk@432
2004-10-26 13:24:50 +00:00
Julian Seward
e79d9c70d0 Track vex controllability changes, and other hacks-de-jour.
git-svn-id: svn://svn.valgrind.org/vex/trunk@422
2004-10-25 13:06:17 +00:00
Julian Seward
754e3a94e6 Minor improvements.
git-svn-id: svn://svn.valgrind.org/vex/trunk@339
2004-10-14 01:08:12 +00:00
Julian Seward
f8b04fc3da Update to match new max limit of 50 insns per bb.
git-svn-id: svn://svn.valgrind.org/vex/trunk@314
2004-10-09 09:33:54 +00:00
Julian Seward
568ea3570f Minor updates.
git-svn-id: svn://svn.valgrind.org/vex/trunk@252
2004-09-10 20:00:46 +00:00
Julian Seward
f84cd77fef wibble
git-svn-id: svn://svn.valgrind.org/vex/trunk@199
2004-08-24 00:43:54 +00:00
Julian Seward
b7e7be78db Allow iropt to pass helper function calls back to the front end
in the hope of getting specialised versions thereof.

Use this mechanism to greatly improve handling of condition
codes.  Various ensuing small changes.



git-svn-id: svn://svn.valgrind.org/vex/trunk@194
2004-08-23 16:16:08 +00:00
Julian Seward
d9e2c9f867 Improve verbosity control, so that verbosity can be set individually
for each bb translated.  Exploit this in vg_translate.c.


git-svn-id: svn://svn.valgrind.org/vex/trunk@145
2004-07-28 01:51:10 +00:00
Julian Seward
282c0efa61 Fix enough bits and pieces so "int main (void) { return 0; }" works.
git-svn-id: svn://svn.valgrind.org/vex/trunk@130
2004-07-26 22:39:11 +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
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
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
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
bc2080784c - Mucho x86 to IR hacking.
- Build with Intel icc as it can warn about int-enum mismatches


git-svn-id: svn://svn.valgrind.org/vex/trunk@65
2004-07-08 14:23:22 +00:00
Julian Seward
decd9d2442 More stuff.
git-svn-id: svn://svn.valgrind.org/vex/trunk@64
2004-07-08 01:46:01 +00:00
Julian Seward
2e4ad46371 Enable valgrind checking of vex (ugly hack).
git-svn-id: svn://svn.valgrind.org/vex/trunk@59
2004-07-07 12:00:42 +00:00
Julian Seward
d92548c382 Test driver, and test input for "int main ( void ) { return 42; }"
git-svn-id: svn://svn.valgrind.org/vex/trunk@55
2004-07-07 11:55:36 +00:00
Julian Seward
7f9edc962f - Pass host-specific insn and register printing functions to
the register allocator, so it can print debug info specific
  to the host.

- Properly propagate some no-return attributes.



git-svn-id: svn://svn.valgrind.org/vex/trunk@54
2004-07-05 20:50:45 +00:00
Julian Seward
eec5e5e1de Rename everything to use the "vex" name.
git-svn-id: svn://svn.valgrind.org/vex/trunk@52
2004-07-05 17:26:47 +00:00
Julian Seward
418f8e71e6 - Make stuff link.
- Simple test program to establish how fast memory can be pulled
  out of the allocation pool.



git-svn-id: svn://svn.valgrind.org/vex/trunk@50
2004-07-05 14:39:15 +00:00
Julian Seward
1ffd102b8c Mash around top-level library structure some more.
git-svn-id: svn://svn.valgrind.org/vex/trunk@48
2004-07-05 01:15:34 +00:00
Julian Seward
02fc8e76c4 Track recent reg-alloc changes.
git-svn-id: svn://svn.valgrind.org/vex/trunk@46
2004-07-03 19:52:16 +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