unsuccessful):
* in clean helper calls, take notice of exclusion-mask (mcx_mask)
specifying which args to ignore. Seems to have no effect.
* Add Paul-Mackerras-style expensive-add. Seems to have no effect.
* When doing a shadow PUT, do not complain if uninitialised data
is written to guest state areas which are marked in the layout info
as 'always defined'. This seems to help reduce the false positive
rate, because (in guest x86) the CC_AUX field of the flags thunk
is sometimes given an undefined value (old C flag) when setting
the thunk after inc/dec. Since we assume that no compiler would
examine the C flag after inc/dec unless it knew the C flag before it
was defined (inc/dec do not change C), this is assumed to be safe.
git-svn-id: svn://svn.valgrind.org/vex/trunk@506
hints to Memcheck about which arguments in a helper call should be
ignored when it comes to computing lazy approximations of definedness
through that function. Not sure if this mechanism needs to remain,
but for the time being ...
git-svn-id: svn://svn.valgrind.org/vex/trunk@504
tons of now-irrelevant baseblock fields and offsets. The layout
defined in coregrind/x86/state.c is now more or less (completely?)
target-independent: vex-defined guest state, vex-defined shadow guest
state, and vex-specified spill area.
git-svn-id: svn://svn.valgrind.org/vex/trunk@503
specific word of the thunk (CC_RES) have all data dependencies on
result of the flag setting operation. The delayed-flag mechanism is
thusly modified so as to prevent Memcheck from giving false positives.
git-svn-id: svn://svn.valgrind.org/vex/trunk@496
NOTE, the argument marshalling for regparm'd calls is observed to
be wrong. Arguments are computed directly into the real registers,
thus trashing themselves if a regparm-call should be contained in
an argument to another regparm-call.
git-svn-id: svn://svn.valgrind.org/vex/trunk@482
* Pass host word type to instrumentation functions
* irdefs.c: add beginnings of proper sanity checking for flatness
* refine guest-state-layout stuff
* new primop Iop_1Sto32
git-svn-id: svn://svn.valgrind.org/vex/trunk@478
gates whether or not the call really happens. Push this through
iropt. Has no effect at the instruction selectors yet.
git-svn-id: svn://svn.valgrind.org/vex/trunk@475
well as before, because IR's SSA-property makes it more difficult to
decide on a 'chosen one' virtual register to follow around, and so
sometimes misses out some pretty obvious cases. ToDo: improve.
git-svn-id: svn://svn.valgrind.org/vex/trunk@467
IRCallee to carry the name (for printing), the actual address, and the
"regparm" number if relevant. This gets rid of the need to pass
around helper-lookup callbacks all over the place, and also lays the
groundwork for a generic "regparm" mechanism for the back end.
git-svn-id: svn://svn.valgrind.org/vex/trunk@461