Julian Seward
32e0d3779a
Build fixes for gcc-2.96 (be more ANSI C compliant wrt placement
...
of local variable declarations).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1032
2005-03-14 18:19:08 +00:00
Julian Seward
b4bb5d005d
As part of the build process, generate pub/libvex_guest_offsets.h holding
...
guest state offsets.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1008
2005-03-08 16:43:27 +00:00
Cerion Armour-Brown
b963063473
I admit it, I'm lazy.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@910
2005-02-16 09:08:23 +00:00
Cerion Armour-Brown
b9345ff768
Get the PPC32 back-end show on the road.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@837
2005-02-04 16:17:07 +00:00
Julian Seward
02a84c2bd2
Add files in priv/host-amd64 to build system
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@805
2005-02-01 16:06:14 +00:00
Cerion Armour-Brown
9b53aca59f
changed all occurences of ppc to ppc32 (filenames and text)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@747
2005-01-25 17:21:23 +00:00
Cerion Armour-Brown
4af9a299b8
Initial file setup for guest-ppc
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@742
2005-01-25 12:24:25 +00:00
Julian Seward
a7bb1a8bce
Add more gcc paranoia flags in Makefile, and fix a resulting warning.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@736
2005-01-21 21:23:07 +00:00
Julian Seward
d20600ce98
Add a dummy AMD64 front end, as a completely commented-out version of
...
the x86 equivalents.
git-svn-id: svn://svn.valgrind.org/vex/trunk@730
2005-01-20 20:04:07 +00:00
Julian Seward
5f05f2a682
On x86 host and guest, re-implement the way MMX instructions are done,
...
to bring them into line with how SSE works. Previously, MMX was done
using helper functions calls inserted by the front end. This meant
proper MMX instrumentation was impossible (unlike SSE). Now it works
the way all other code does: the front end does not insert calls to
helper functions, but rather builds expression trees using 64-bit
vector primops. These are instrumented as the 128-bit vector primops
already are, and passed to the back ends.
Because emitting combined x87 and MMX code together is too complex,
the x86 back end generates calls to the same helpers as before --
except they are invisible to the front end. And, of course, some of
those calls may now be running instrumentation operations rather than
real-value operations.
git-svn-id: svn://svn.valgrind.org/vex/trunk@712
2005-01-13 15:06:51 +00:00
Julian Seward
59f3c4bc62
Add crude 'minidist' target (not yet entirely satisfactory).
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@691
2005-01-05 19:11:09 +00:00
Julian Seward
094785a778
No longer try to build the attached Valgrind snapshots.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@687
2004-12-31 17:21:28 +00:00
Julian Seward
e5e6288d83
Fix autoversioning a bit more.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@675
2004-12-20 04:42:49 +00:00
Julian Seward
0d26e5ca99
New function LibVEX_Version, returning version string automagically
...
generated by 'svnversion -n .'. Only updated when you do 'make
version'.
git-svn-id: svn://svn.valgrind.org/vex/trunk@674
2004-12-20 04:37:50 +00:00
Julian Seward
b9a7b8a138
Move the IR tree matcher into its own module to get rid of
...
duplication.
git-svn-id: svn://svn.valgrind.org/vex/trunk@673
2004-12-20 04:12:14 +00:00
Cerion Armour-Brown
f022a59a1d
Skeleton work on host-arm/isel, plus some cleaning up of hdefs
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@672
2004-12-17 20:30:21 +00:00
Cerion Armour-Brown
8408b3c81d
Cleaned up hdefs.h, fleshed out hdefs.c
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@670
2004-12-16 14:06:34 +00:00
Nicholas Nethercote
45357238cd
Added AMD64 skeleton, just defining LibVEX_GuestAMD64_initialise().
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@601
2004-11-30 15:56:47 +00:00
Julian Seward
f5a2a1606e
Add -Wmissing-prototypes as a flag.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@599
2004-11-30 13:37:21 +00:00
Julian Seward
26338fd250
Create a new mechanism: "emulation warnings", which is a way for Vex
...
to report to whatever is using it that it cannot emulate precisely.
Net result is that a bb can exit with the guest state pointer set to
VEX_TRC_EMWARN. In this case, the (mandatory) guest state psuedo-reg
called "guest_EMWARN" holds a value of type VexEmWarn, indicating the
kind of problem encounted.
Use this to warn about approximations in the x87 FPU simulation:
unmasked exceptions not supported, round to +inf/-inf not supported,
precisions other than 80-bit not supported.
git-svn-id: svn://svn.valgrind.org/vex/trunk@595
2004-11-29 19:57:54 +00:00
Julian Seward
a962f1bd3c
Make VEX define the special thread-return-code values it uses.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@590
2004-11-26 13:18:19 +00:00
Julian Seward
c398540562
Build stuff for arm.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@586
2004-11-25 13:07:51 +00:00
Julian Seward
186d92f18f
Add a dummy ARM guest state include that Valgrind can be compiled
...
against.
git-svn-id: svn://svn.valgrind.org/vex/trunk@579
2004-11-22 16:02:34 +00:00
Julian Seward
d46357cb3b
rec_alloc.c is defunct; reg_alloc2.c replaced it a while back.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@576
2004-11-22 11:26:51 +00:00
Julian Seward
53c1d54ed2
Fix 'make clean'.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@513
2004-11-06 16:10:08 +00:00
Julian Seward
33042596cf
Try to make builds quieter.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@508
2004-11-06 13:50:54 +00:00
Julian Seward
b2d6867a8e
Fix 'all' target to build nulgrind, lackey, addrcheck, memcheck.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@507
2004-11-06 12:31:16 +00:00
Julian Seward
c5fd5457e1
Add and use a new version of the register allocator, which is simpler
...
and produces much less spill code around real-reg live ranges
(a.k.a. calls to helper functions)
git-svn-id: svn://svn.valgrind.org/vex/trunk@460
2004-10-30 13:00:55 +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
b10cd53857
Use gcc, not 'gcc341'.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@435
2004-10-27 09:15:47 +00:00
Julian Seward
3a277951a0
Add -Winline.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@280
2004-09-21 23:38:04 +00:00
Julian Seward
030b65e57a
Compile with -O by default now.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@236
2004-09-08 18:18:59 +00:00
Julian Seward
d13b2e5351
copy_baseBlock_to_m_state_static and back:
...
- Use new functions x87_to_vex and vex_to_x87.
- Handle the D flag more correctly.
git-svn-id: svn://svn.valgrind.org/vex/trunk@233
2004-09-06 23:22:55 +00:00
Julian Seward
9774338c45
New header priv/ir/iropt.h
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@175
2004-08-18 13:58:59 +00:00
Julian Seward
ddd4dcdcde
Make a start on the intermediate-representation optimiser.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@171
2004-08-17 13:31:55 +00:00
Julian Seward
bc9861ae93
More build fixes.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@138
2004-07-27 10:43:34 +00:00
Julian Seward
30c9d9a878
Make compilation work again after renaming files.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@137
2004-07-27 10:29:41 +00:00
Julian Seward
07c6141395
More file renaming (still borked)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@136
2004-07-27 09:50:39 +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
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
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
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
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
6f51e3bd77
A whole bunch more x86 -> IR hacking.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@66
2004-07-08 20:25:10 +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
b119a5254a
First pass at x86 to IR conversion. Compiles, but nothing works.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@60
2004-07-07 16:32:57 +00:00
Julian Seward
7804d908fb
Dump -O.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@58
2004-07-07 12:00:04 +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
8bb110c3d4
Major hashing around to restructure the world.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@49
2004-07-05 13:12:34 +00:00