OSDN Git Service

target/arm: Remove unnecessary gen_io_end() calls
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 19 Jun 2020 17:03:24 +0000 (18:03 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 23 Jun 2020 10:39:47 +0000 (11:39 +0100)
commit55c812b74289863c348449135812027d188f040a
treee3a794c5be5a4807c419a01a270d267583ba9a88
parent6fb5787898aab6aa04887fed9cf3220dd4c3f36a
target/arm: Remove unnecessary gen_io_end() calls

Since commit ba3e7926691ed3 it has been unnecessary for target code
to call gen_io_end() after an IO instruction in icount mode; it is
sufficient to call gen_io_start() before it and to force the end of
the TB.

Many now-unnecessary calls to gen_io_end() were removed in commit
9e9b10c6491153b, but some were missed or accidentally added later.
Remove unneeded calls from the arm target:

 * the call in the handling of exception-return-via-LDM is
   unnecessary, and the code is already forcing end-of-TB
 * the call in the VFP access check code is more complicated:
   we weren't ending the TB, so we need to add the code to
   force that by setting DISAS_UPDATE
 * the doc comment for ARM_CP_IO doesn't need to mention
   gen_io_end() any more

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Message-id: 20200619170324.12093-1-peter.maydell@linaro.org
target/arm/cpu.h
target/arm/translate-vfp.inc.c
target/arm/translate.c