s390: Fix a type mixup spotted by IBM's BEAM checker.


git-svn-id: svn://svn.valgrind.org/vex/trunk@2644 8f6e269a-dfd6-0310-a8e1-e2731360e62c
Improve the tree builder in IR optimisation. Allow load expressions to be
moved past Put/I statements and dirty helpers, when it is safe to do so.
It is safe, when the statement does not require exact memory exceptions.
New functions stmt_modifies_guest_state and dirty_helper_puts have been
added to determine the side effect on the guest state.
This optimisation enables the use of  memory-to-memory insns on
architectures that have those.


git-svn-id: svn://svn.valgrind.org/vex/trunk@2645 8f6e269a-dfd6-0310-a8e1-e2731360e62c
Remove a bit of dead code, spotted by Florian using Coverity.


git-svn-id: svn://svn.valgrind.org/vex/trunk@2646 8f6e269a-dfd6-0310-a8e1-e2731360e62c
Fold out an expression which is always False.  Spotted by Florian using Coverity.


git-svn-id: svn://svn.valgrind.org/vex/trunk@2647 8f6e269a-dfd6-0310-a8e1-e2731360e62c
mips: fix for mips-disassembler when branch is at block_size-2 position

Check if the last instruction in the block is a branch or jump instruction
should happen only if the disassembler was not already stopped.
Incorrect conditional led to a boundary case in which jumps/branches were not
executed when placed on "max_insns - 2" position in the block.
none/tests/mips32/block_size test will be added to Valgrind to describe the case
and check for regressions in future.


git-svn-id: svn://svn.valgrind.org/vex/trunk@2648 8f6e269a-dfd6-0310-a8e1-e2731360e62c