]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
20 years agoppc64-linux fixes
Julian Seward [Fri, 23 Dec 2005 12:56:11 +0000 (12:56 +0000)] 
ppc64-linux fixes

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5422

20 years agoppc64-linux fixes.
Julian Seward [Fri, 23 Dec 2005 12:47:42 +0000 (12:47 +0000)] 
ppc64-linux fixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5421

20 years agoHandle ppc64-related primops.
Julian Seward [Fri, 23 Dec 2005 12:47:16 +0000 (12:47 +0000)] 
Handle ppc64-related primops.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5420

20 years agoHandle 64HLto128 in 64-bit mode.
Julian Seward [Fri, 23 Dec 2005 12:46:16 +0000 (12:46 +0000)] 
Handle 64HLto128 in 64-bit mode.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1508

20 years agoTracking VEX r1507
Cerion Armour-Brown [Fri, 23 Dec 2005 11:44:40 +0000 (11:44 +0000)] 
Tracking VEX r1507
adjusted references to renamed VEX dirs guest-ppc/, host-ppc/

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5419

20 years agorenamed VEX dirs guest-ppc32/ -> guest-ppc/, host-ppc32/ -> host-ppc/
Cerion Armour-Brown [Fri, 23 Dec 2005 11:43:01 +0000 (11:43 +0000)] 
renamed VEX dirs guest-ppc32/ -> guest-ppc/, host-ppc32/ -> host-ppc/
and adjusted all references to them

git-svn-id: svn://svn.valgrind.org/vex/trunk@1507

20 years agoDeal with function pointer vs function entry crazyness on ppc64-linux.
Julian Seward [Fri, 23 Dec 2005 02:29:58 +0000 (02:29 +0000)] 
Deal with function pointer vs function entry crazyness on ppc64-linux.
Memcheck is done, but any tool which generates IR helper calls will
need to be similarly adulterated.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5418

20 years agoUpdate comment.
Julian Seward [Fri, 23 Dec 2005 01:48:23 +0000 (01:48 +0000)] 
Update comment.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1506

20 years agoTidied up jm-insns.c test a little.
Cerion Armour-Brown [Fri, 23 Dec 2005 01:16:16 +0000 (01:16 +0000)] 
Tidied up jm-insns.c test a little.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5417

20 years agoDeal with backend case of 1Sto64
Cerion Armour-Brown [Fri, 23 Dec 2005 01:06:35 +0000 (01:06 +0000)] 
Deal with backend case of 1Sto64

git-svn-id: svn://svn.valgrind.org/vex/trunk@1505

20 years agoTrack changes to PPC naming convention - VEX r1504
Cerion Armour-Brown [Fri, 23 Dec 2005 00:57:03 +0000 (00:57 +0000)] 
Track changes to PPC naming convention - VEX r1504

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5416

20 years agoChanged naming convention from 'PPC32' to 'PPC' for all VEX code common to both PPC32...
Cerion Armour-Brown [Fri, 23 Dec 2005 00:55:09 +0000 (00:55 +0000)] 
Changed naming convention from 'PPC32' to 'PPC' for all VEX code common to both PPC32 and PPC64.
And tidied up a fair bit while i was at it.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1504

20 years agoHandle CmpORD64{U,S} as ppc64 requires those.
Julian Seward [Fri, 23 Dec 2005 00:16:24 +0000 (00:16 +0000)] 
Handle CmpORD64{U,S} as ppc64 requires those.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5415

20 years agoUse rt_sigprocmask, and check for errors correctly. (Not yet done: amd64-linux).
Julian Seward [Thu, 22 Dec 2005 23:13:27 +0000 (23:13 +0000)] 
Use rt_sigprocmask, and check for errors correctly.  (Not yet done: amd64-linux).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5414

20 years agoAdd enough syscalls to run bzip2 on ppc64-linux.
Julian Seward [Thu, 22 Dec 2005 20:24:12 +0000 (20:24 +0000)] 
Add enough syscalls to run bzip2 on ppc64-linux.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5412

20 years agoProperly return error codes resulting from sigprocmask failures.
Julian Seward [Thu, 22 Dec 2005 20:16:00 +0000 (20:16 +0000)] 
Properly return error codes resulting from sigprocmask failures.
Not yet done: amd64, ppc32.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5411

20 years agoComment-only changes
Julian Seward [Thu, 22 Dec 2005 20:14:57 +0000 (20:14 +0000)] 
Comment-only changes

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5410

20 years agoAdd comment about log2().
Nicholas Nethercote [Thu, 22 Dec 2005 19:50:45 +0000 (19:50 +0000)] 
Add comment about log2().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5408

20 years agoMake async-style syscalls work on ppc64, by using rt_sigprocmask
Julian Seward [Thu, 22 Dec 2005 19:28:37 +0000 (19:28 +0000)] 
Make async-style syscalls work on ppc64, by using rt_sigprocmask
instead of sigprocmask.

In the process, discover that error handling for
ML_(do_syscall_for_client_WRK) on all platforms has always been
broken, in the sense that the sigprocmasks (which are important) could
silently fail.  This commit fixes that up too (only on ppc64-linux at
the moment, so all other platforms are probably broken now).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5407

20 years agoMore ppc64-linux syscalls.
Julian Seward [Thu, 22 Dec 2005 19:25:51 +0000 (19:25 +0000)] 
More ppc64-linux syscalls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5406

20 years agofixed up ppc64 assembly with .opd sections
Cerion Armour-Brown [Thu, 22 Dec 2005 15:53:12 +0000 (15:53 +0000)] 
fixed up ppc64 assembly with .opd sections

do_syscall_for_client_WRK() needed a bigger stack to avoid the linkage area.

always use dot_prefix for label calls

not wrapping assembly with
.section ".text"
...
.previous
 - ppc64 doesn't like it... seems we can't 'stack' more than one section to pop off with .previous ?

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5405

20 years agoWhen switching threads on ppc64, clear the reservation pseudo-reg, as on ppc32.
Julian Seward [Thu, 22 Dec 2005 15:16:43 +0000 (15:16 +0000)] 
When switching threads on ppc64, clear the reservation pseudo-reg, as on ppc32.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5404

20 years agoImplemented almost all of the remaining 64bit-mode insns.
Cerion Armour-Brown [Thu, 22 Dec 2005 14:32:35 +0000 (14:32 +0000)] 
Implemented almost all of the remaining 64bit-mode insns.

Currently:
Not yet implemented: td(i)
Implemented, not tested: ldarx, stdcx.

All common-mode int & fp insns in 64bit-mode tested.
Altivec insns in 64bit-mode still to be tested.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1503

20 years agoAdd a destructor function to OSet_Destroy() which can be called for each
Nicholas Nethercote [Thu, 22 Dec 2005 06:20:59 +0000 (06:20 +0000)] 
Add a destructor function to OSet_Destroy() which can be called for each
node.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5402

20 years agoAdd the name of the input file to cg_annotate's output.
Nicholas Nethercote [Thu, 22 Dec 2005 06:14:42 +0000 (06:14 +0000)] 
Add the name of the input file to cg_annotate's output.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5401

20 years agoMake a start adding syscalls.
Julian Seward [Thu, 22 Dec 2005 03:35:12 +0000 (03:35 +0000)] 
Make a start adding syscalls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5400

20 years agoSave %CIA correctly (caused ppc64-linux to loop at the first syscall,
Julian Seward [Thu, 22 Dec 2005 03:33:16 +0000 (03:33 +0000)] 
Save %CIA correctly (caused ppc64-linux to loop at the first syscall,
entertainingly).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5399

20 years agosmall fixes for ppc64 layout stuff
Julian Seward [Thu, 22 Dec 2005 03:01:17 +0000 (03:01 +0000)] 
small fixes for ppc64 layout stuff

git-svn-id: svn://svn.valgrind.org/vex/trunk@1502

20 years agoRenamed coregrind.h to pub_core_clreq.h and introduced pub_tool_clreq.h to
Nicholas Nethercote [Wed, 21 Dec 2005 20:22:52 +0000 (20:22 +0000)] 
Renamed coregrind.h to pub_core_clreq.h and introduced pub_tool_clreq.h to
be consistent with the module naming scheme.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5398

20 years agoupdate
Nicholas Nethercote [Wed, 21 Dec 2005 19:47:06 +0000 (19:47 +0000)] 
update

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5397

20 years agoFixed cg_annotate bug -- when using the --sort option the primary threshold
Nicholas Nethercote [Wed, 21 Dec 2005 19:45:29 +0000 (19:45 +0000)] 
Fixed cg_annotate bug -- when using the --sort option the primary threshold
was set to zero and so no annotation was done.

Also put the file format into this file, and some other tiny changes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5396

20 years agoAdd a new performance benchmark: tinycc.
Nicholas Nethercote [Tue, 20 Dec 2005 23:02:43 +0000 (23:02 +0000)] 
Add a new performance benchmark: tinycc.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5394

20 years agoRewrite ppc64 dispatch loop to avoid profiling overhead, as per ppc32 rewrite (r5352).
Cerion Armour-Brown [Tue, 20 Dec 2005 20:48:50 +0000 (20:48 +0000)] 
Rewrite ppc64 dispatch loop to avoid profiling overhead, as per ppc32 rewrite (r5352).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5393

20 years agoRemove all remaining profiling gunk.
Nicholas Nethercote [Mon, 19 Dec 2005 22:48:39 +0000 (22:48 +0000)] 
Remove all remaining profiling gunk.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5388

20 years agoRemove remaining profiling gunk from Memcheck.
Nicholas Nethercote [Mon, 19 Dec 2005 22:48:06 +0000 (22:48 +0000)] 
Remove remaining profiling gunk from Memcheck.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5387

20 years agoRemove the old profiling stuff from Memcheck.
Nicholas Nethercote [Mon, 19 Dec 2005 22:23:35 +0000 (22:23 +0000)] 
Remove the old profiling stuff from Memcheck.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5385

20 years agoFix for bug #117096.
Nicholas Nethercote [Mon, 19 Dec 2005 21:27:58 +0000 (21:27 +0000)] 
Fix for bug #117096.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5384

20 years agoBugfix update
Nicholas Nethercote [Mon, 19 Dec 2005 19:40:58 +0000 (19:40 +0000)] 
Bugfix update

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5383

20 years agoFix a minor --gen-suppressions output bug.
Nicholas Nethercote [Mon, 19 Dec 2005 19:40:12 +0000 (19:40 +0000)] 
Fix a minor --gen-suppressions output bug.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5382

20 years agoupdate
Nicholas Nethercote [Mon, 19 Dec 2005 19:38:02 +0000 (19:38 +0000)] 
update

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5380

20 years agoClarify leak checker output.
Nicholas Nethercote [Mon, 19 Dec 2005 19:33:36 +0000 (19:33 +0000)] 
Clarify leak checker output.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5378

20 years agoupdate
Nicholas Nethercote [Mon, 19 Dec 2005 19:12:13 +0000 (19:12 +0000)] 
update

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5375

20 years agoAdd comment from commit log.
Nicholas Nethercote [Mon, 19 Dec 2005 17:01:14 +0000 (17:01 +0000)] 
Add comment from commit log.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5374

20 years agoCheck that noinst_PROGRAMS and noinst_LIBRARIES are not empty strings
Tom Hughes [Mon, 19 Dec 2005 12:48:03 +0000 (12:48 +0000)] 
Check that noinst_PROGRAMS and noinst_LIBRARIES are not empty strings
before trying to run a for loop over them as some versions of bash can't
cope with being asked to loop over an empty list.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5373

20 years agoFixed to check whether __builtin_expect is supported before using it.
Tom Hughes [Mon, 19 Dec 2005 12:40:13 +0000 (12:40 +0000)] 
Fixed to check whether __builtin_expect is supported before using it.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5372

20 years agoMake sure EM_X86_64 is defined as elf.h doesn't define it on some
Tom Hughes [Mon, 19 Dec 2005 12:27:42 +0000 (12:27 +0000)] 
Make sure EM_X86_64 is defined as elf.h doesn't define it on some
older systems.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5371

20 years agoDuh, remove debug printing. Duh.
Julian Seward [Sun, 18 Dec 2005 03:59:16 +0000 (03:59 +0000)] 
Duh, remove debug printing.  Duh.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5370

20 years agoUpdate.
Julian Seward [Sun, 18 Dec 2005 03:35:09 +0000 (03:35 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5369

20 years agoIncrease buffer size, so that long debugger command lines don't crash
Julian Seward [Sun, 18 Dec 2005 03:22:50 +0000 (03:22 +0000)] 
Increase buffer size, so that long debugger command lines don't crash
V.  Also add buffer overrun checks.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5368

20 years agoStrict-aliasing fix needed to make gcc-4.1.0 happy.
Julian Seward [Sun, 18 Dec 2005 03:07:11 +0000 (03:07 +0000)] 
Strict-aliasing fix needed to make gcc-4.1.0 happy.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1501

20 years agoNasty hack to stop the leak checker dying on custom-allocator example
Julian Seward [Sun, 18 Dec 2005 02:48:40 +0000 (02:48 +0000)] 
Nasty hack to stop the leak checker dying on custom-allocator example
from Ashley Pittman.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5367

20 years agoWhen using a custom allocator that allocates with no intervening
Julian Seward [Sun, 18 Dec 2005 02:37:50 +0000 (02:37 +0000)] 
When using a custom allocator that allocates with no intervening
blocks, the <= relation is the correct one.  In effect asserting <
constitutes an off-by-one error.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5366

20 years agofindSb: gradually rearrange the superblock list to bring frequently
Julian Seward [Sat, 17 Dec 2005 20:37:36 +0000 (20:37 +0000)] 
findSb: gradually rearrange the superblock list to bring frequently
accessed blocks closer to the front.  This speeds up malloc/free
intensive programs because evidently those searches cause a lot of
cache misses (so cachegrind tells us).  For perf/heap.c on P4
Northwood, this halves the run-time (!) from 85.8 to 42.9 seconds.
For "real" code (start/exit ktuberling) there is a small but
worthwhile performance gain, of about 2 seconds out of 95.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5365

20 years agoUpdate known-bugs summary.
Julian Seward [Sat, 17 Dec 2005 13:53:46 +0000 (13:53 +0000)] 
Update known-bugs summary.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5364

20 years agoFix typos.
Cerion Armour-Brown [Sat, 17 Dec 2005 11:28:53 +0000 (11:28 +0000)] 
Fix typos.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1500

20 years agoAdd a malloc/free stress test.
Nicholas Nethercote [Sat, 17 Dec 2005 00:22:39 +0000 (00:22 +0000)] 
Add a malloc/free stress test.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5362

20 years agoAdd info about overhead in heap blocks and OSet nodes.
Nicholas Nethercote [Fri, 16 Dec 2005 17:06:37 +0000 (17:06 +0000)] 
Add info about overhead in heap blocks and OSet nodes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5361

20 years agoFix switchback.c to reflect changes to call of LibVEX_Translate()
Cerion Armour-Brown [Fri, 16 Dec 2005 13:49:00 +0000 (13:49 +0000)] 
Fix switchback.c to reflect changes to call of LibVEX_Translate()
Fix test_ppc_jm1.c to reflect direct linking
 - main -> __main etc
 - vex_printf -> vexxx_printf etc

git-svn-id: svn://svn.valgrind.org/vex/trunk@1499

20 years agoFixed up front and backend for 32bit mul,div,cmp,shift in mode64
Cerion Armour-Brown [Fri, 16 Dec 2005 13:40:18 +0000 (13:40 +0000)] 
Fixed up front and backend for 32bit mul,div,cmp,shift in mode64
Backend:
 - separated shifts from other alu ops
 - gave {shift, mul, div, cmp} ops a bool to indicate 32|64bit insn
 - fixed and implemented more mode64 cases

Also improved some IR by moving imm's to right arg of binop - backend assumes this.

All integer ppc32 insns now pass switchback tests in 64bit mode.
(ppc64-only insns not yet fully tested)

git-svn-id: svn://svn.valgrind.org/vex/trunk@1498

20 years agoHold the event count in r29 rather than the count register, since the
Julian Seward [Fri, 16 Dec 2005 01:08:22 +0000 (01:08 +0000)] 
Hold the event count in r29 rather than the count register, since the
former doesn't need to be spilled and reloaded for every bb run.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5358

20 years agoAdd missing cases in debug printing.
Julian Seward [Fri, 16 Dec 2005 01:07:11 +0000 (01:07 +0000)] 
Add missing cases in debug printing.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5357

20 years agoppc32/64 backend: take r29 out of circulation so the Valgrind
Julian Seward [Fri, 16 Dec 2005 01:06:42 +0000 (01:06 +0000)] 
ppc32/64 backend: take r29 out of circulation so the Valgrind
dispatcher can use it.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1497

20 years agoRewrite ppc32 dispatch loop to avoid profiling overhead, as per
Julian Seward [Thu, 15 Dec 2005 21:40:34 +0000 (21:40 +0000)] 
Rewrite ppc32 dispatch loop to avoid profiling overhead, as per
today's x86 and amd64 rewrites.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5352

20 years agoMake suitable changes for ppc32/ppc64 following recent x86/amd64
Julian Seward [Thu, 15 Dec 2005 21:33:50 +0000 (21:33 +0000)] 
Make suitable changes for ppc32/ppc64 following recent x86/amd64
dispatch changes.  Note, this doesn't change the generated code at
all.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1496

20 years agoadd note about recent performance improvement
Nicholas Nethercote [Thu, 15 Dec 2005 19:41:14 +0000 (19:41 +0000)] 
add note about recent performance improvement

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5349

20 years agoImprovments to vg_perf:
Nicholas Nethercote [Thu, 15 Dec 2005 17:22:37 +0000 (17:22 +0000)] 
Improvments to vg_perf:
- show percentage speedup over the first Valgrind when comparing multiple
  Valgrind
- don't accept --reps < 0
- avoid div-by-zero if the runtime is measured as zero

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5348

20 years agoMake this work on platforms where r != x.
Julian Seward [Thu, 15 Dec 2005 16:11:25 +0000 (16:11 +0000)] 
Make this work on platforms where r != x.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5347

20 years agoRewrite amd64 dispatch loop to add performance enhancements as per x86
Julian Seward [Thu, 15 Dec 2005 15:46:43 +0000 (15:46 +0000)] 
Rewrite amd64 dispatch loop to add performance enhancements as per x86
reorganisation of r5345.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5346

20 years agoModify amd64 backend to use jump-jump scheme rather than call-return
Julian Seward [Thu, 15 Dec 2005 15:45:20 +0000 (15:45 +0000)] 
Modify amd64 backend to use jump-jump scheme rather than call-return
scheme.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1495

20 years ago- Track vex r1494 (x86/amd64 change of conventions for getting
Julian Seward [Thu, 15 Dec 2005 14:07:07 +0000 (14:07 +0000)] 
- Track vex r1494 (x86/amd64 change of conventions for getting
  to translations and back to dispatcher, and also different arg
  passing conventions to LibVEX_Translate).

- Rewrite x86 dispatcher to not increment the profiling counters
  unless requested by the user.  This dramatically reduces the
  D1 miss rate and gives considerable performance improvement
  on x86.  Also, restructure and add comments to dispatch-x86-linux.S
  to make it much easier to follow (imo).

amd64/ppc32/ppc64 fixes to follow.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5345

20 years ago- x86 back end: change code generation convention, so that instead of
Julian Seward [Thu, 15 Dec 2005 14:02:34 +0000 (14:02 +0000)] 
- x86 back end: change code generation convention, so that instead of
  dispatchers CALLing generated code which later RETs, dispatchers
  jump to generated code and it jumps back to the dispatcher.  This
  removes two memory references per translation run and by itself
  gives a measureable performance improvement on P4.  As a result,
  there is new plumbing so that the caller of LibVEX_Translate can
  supply the address of the dispatcher to jump back to.

  This probably breaks all other targets.  Do not update.

- Administrative cleanup: LibVEX_Translate has an excessive
  number of arguments.  Remove them all and instead add a struct
  by which the arguments are supplied.  Add further comments
  about the meaning of some fields.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1494

20 years agoStop gcc complaining.
Julian Seward [Thu, 15 Dec 2005 13:58:07 +0000 (13:58 +0000)] 
Stop gcc complaining.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1493

20 years agoAdded fp regtest
Cerion Armour-Brown [Wed, 14 Dec 2005 22:24:45 +0000 (22:24 +0000)] 
Added fp regtest
 - needed some hackery to get around VEX's loss of accuracy.

------------------------------
Added test for fsqrt (fp square root)

Enabled stfs(u)(x) (fp single-precision stores)
 - VEX implementation not great: ends up rounding twice, losing
accuracy, but is good enough for this test's small fp argument array.

Changed fp arg setup
 - no denormals (for VEX inaccuracy)

All fp tests
 - don't print CR, XER flags, as VEX doesn't set them.

3 arg fp arith tests (fp 'multiply and add' etc)
 - no 'special' fp vals (for VEX inaccuracy)
 - zap lo byte (for VEX inaccuracy)

fctiw, fctiwz (fp convert to int)
 - zap high 32bits of result (is undefined)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5344

20 years agoEnable fsqrt
Cerion Armour-Brown [Wed, 14 Dec 2005 22:00:53 +0000 (22:00 +0000)] 
Enable fsqrt
Document store fp single-precision problem

git-svn-id: svn://svn.valgrind.org/vex/trunk@1492

20 years agoChanged jm_insns.c usage to use one of flags 'i|f|a' to run int|fp|av insns respectively.
Cerion Armour-Brown [Wed, 14 Dec 2005 17:59:35 +0000 (17:59 +0000)] 
Changed jm_insns.c usage to use one of flags 'i|f|a' to run int|fp|av insns respectively.
Removed integer test insns for jm-vmx.vgtest - already tested in jm-int.vgtest

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5343

20 years agosvn:ignores
Cerion Armour-Brown [Wed, 14 Dec 2005 13:30:44 +0000 (13:30 +0000)] 
svn:ignores

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5342

20 years agoMore svn:ignores for VEX.
Cerion Armour-Brown [Wed, 14 Dec 2005 10:22:25 +0000 (10:22 +0000)] 
More svn:ignores for VEX.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1491

20 years agoAdded a stress test which measures the cost of translation.
Nicholas Nethercote [Wed, 14 Dec 2005 05:33:35 +0000 (05:33 +0000)] 
Added a stress test which measures the cost of translation.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5341

20 years agoEnsure that f() doesn't get inlined.
Nicholas Nethercote [Wed, 14 Dec 2005 05:33:17 +0000 (05:33 +0000)] 
Ensure that f() doesn't get inlined.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5340

20 years agoAdd --vg option to vg_perf, which lets you specify one or more Valgrinds
Nicholas Nethercote [Wed, 14 Dec 2005 02:58:23 +0000 (02:58 +0000)] 
Add --vg option to vg_perf, which lets you specify one or more Valgrinds
to time, and presents their timings in an easy-to-compare way.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5339

20 years agowhoops
Nicholas Nethercote [Tue, 13 Dec 2005 22:00:17 +0000 (22:00 +0000)] 
whoops

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5338

20 years agoAdded some more svn:ignores.
Cerion Armour-Brown [Tue, 13 Dec 2005 21:58:29 +0000 (21:58 +0000)] 
Added some more svn:ignores.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5337

20 years agoAdded a --reps option to control how many times each program is run.
Nicholas Nethercote [Tue, 13 Dec 2005 21:55:16 +0000 (21:55 +0000)] 
Added a --reps option to control how many times each program is run.
Also added a better help message.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5336

20 years agoremove bogus whitespace
Nicholas Nethercote [Tue, 13 Dec 2005 21:53:39 +0000 (21:53 +0000)] 
remove bogus whitespace

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5335

20 years agoDie if a performance benchmark is missing.
Nicholas Nethercote [Tue, 13 Dec 2005 21:44:48 +0000 (21:44 +0000)] 
Die if a performance benchmark is missing.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5334

20 years agoSwitchbacker updates
Cerion Armour-Brown [Tue, 13 Dec 2005 21:30:48 +0000 (21:30 +0000)] 
Switchbacker updates
 - no longer using home-grown linker - simply compiling and linking switchback.c with test_xxx.c
 - updated to handle ppc64 (along with it's weirdo function descriptors...)
 - have to be careful not to use exported functions from libvex_arch_linux.a, hence vex_printf -> vexxx_printf in test_xxx.c

git-svn-id: svn://svn.valgrind.org/vex/trunk@1490

20 years agoUse user time instead of wall-clock time.
Nicholas Nethercote [Tue, 13 Dec 2005 20:23:38 +0000 (20:23 +0000)] 
Use user time instead of wall-clock time.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5332

20 years agoFix vex_printf padding.
Cerion Armour-Brown [Tue, 13 Dec 2005 20:23:36 +0000 (20:23 +0000)] 
Fix vex_printf padding.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1489

20 years agoImplemented backend for ppc64, sharing ppc32 backend.
Cerion Armour-Brown [Tue, 13 Dec 2005 20:21:11 +0000 (20:21 +0000)] 
Implemented backend for ppc64, sharing ppc32 backend.
 - all immediates now use ULongs
 - some change in register usage conventions

Implemented most insns for mode64, plus most ppc64-only instructions
 - new Iop_DivU/S64

Fixed couple of bugs in backend:
 - iselIntExpr_RI must sign-extend immediates
 - hdefs.c::Iop_Mul16/32: set syned = False

Currently runs several test programs succesfully via the switchbacker (bzip, emfloat), but still dies with real progs.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1488

20 years agoImprove vg_SP_update_pass() to catch more constant offset cases. Improves
Nicholas Nethercote [Tue, 13 Dec 2005 20:05:00 +0000 (20:05 +0000)] 
Improve vg_SP_update_pass() to catch more constant offset cases.  Improves
performance by 1--3% on several programs on my machine.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5331

20 years agoFile recording info about each performance benchmark.
Nicholas Nethercote [Tue, 13 Dec 2005 17:20:24 +0000 (17:20 +0000)] 
File recording info about each performance benchmark.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5330

20 years agoRemove nanosleep and adjust iteration count and array size accordingly.
Julian Seward [Tue, 13 Dec 2005 17:13:39 +0000 (17:13 +0000)] 
Remove nanosleep and adjust iteration count and array size accordingly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5329

20 years agoAbort the performance timings if any of the programs fail,
Nicholas Nethercote [Tue, 13 Dec 2005 16:54:58 +0000 (16:54 +0000)] 
Abort the performance timings if any of the programs fail,
and record info in perf.{cmd,stdout,stderr} to allow diagnosis.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5328

20 years agoMake sarp return zero.
Nicholas Nethercote [Tue, 13 Dec 2005 16:38:55 +0000 (16:38 +0000)] 
Make sarp return zero.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5327

20 years agoAdded 'Bool mode64' to the various backend functions, to distinguish 32/64bit arch's.
Cerion Armour-Brown [Tue, 13 Dec 2005 12:02:26 +0000 (12:02 +0000)] 
Added 'Bool mode64' to the various backend functions, to distinguish 32/64bit arch's.
This will be needed for the ppc32/64 backend.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1487

20 years agoAdd two new programs to the performance suite.
Nicholas Nethercote [Tue, 13 Dec 2005 04:06:29 +0000 (04:06 +0000)] 
Add two new programs to the performance suite.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5326

20 years agoMake it clearer that internal errors are Valgrind's fault.
Nicholas Nethercote [Mon, 12 Dec 2005 15:54:50 +0000 (15:54 +0000)] 
Make it clearer that internal errors are Valgrind's fault.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5325

20 years agoUpdate ignores.
Robert Walsh [Sat, 10 Dec 2005 23:46:11 +0000 (23:46 +0000)] 
Update ignores.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5324

20 years agoFirst attempt at some performance tracking tools. Includes a script vg_perf
Nicholas Nethercote [Sat, 10 Dec 2005 23:11:28 +0000 (23:11 +0000)] 
First attempt at some performance tracking tools.  Includes a script vg_perf
(use "make perf" to run) that executes test programs and times their
slowdowns under various tools.  It works a lot like the vg_regtest script.
It's a bit rough around the edges -- eg. you can't currently directly
compare two different versions of Valgrind, which would be useful -- but it
is a good start.

There are currently two test programs in perf/.  More will be added as time
goes on.  This stuff will be built on so that performance changes can be
tracked over time.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5323

20 years agoRemove dead line.
Nicholas Nethercote [Fri, 9 Dec 2005 21:01:46 +0000 (21:01 +0000)] 
Remove dead line.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5322