aboutsummaryrefslogtreecommitdiff
path: root/tcg/s390
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2018-11-30 19:28:51 +0000
committerRichard Henderson <richard.henderson@linaro.org>2018-12-17 06:04:43 +0300
commit3661612fc3e4b65be03482bf6bafd116101881e1 (patch)
treec73cb00849fa111850228582487a966ac905fa29 /tcg/s390
parentf9c7246faa279237200a2a53beacaa8100ea1900 (diff)
downloadqemu-3661612fc3e4b65be03482bf6bafd116101881e1.zip
qemu-3661612fc3e4b65be03482bf6bafd116101881e1.tar.gz
qemu-3661612fc3e4b65be03482bf6bafd116101881e1.tar.bz2
tcg/s390: Remove retranslation code
There is no longer a need for preserving branch offset operands, as we no longer re-translate. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/s390')
-rw-r--r--tcg/s390/tcg-target.inc.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/tcg/s390/tcg-target.inc.c b/tcg/s390/tcg-target.inc.c
index 17c435a..96c3441 100644
--- a/tcg/s390/tcg-target.inc.c
+++ b/tcg/s390/tcg-target.inc.c
@@ -1329,13 +1329,11 @@ static void tgen_branch(TCGContext *s, int cc, TCGLabel *l)
static void tgen_compare_branch(TCGContext *s, S390Opcode opc, int cc,
TCGReg r1, TCGReg r2, TCGLabel *l)
{
- intptr_t off;
+ intptr_t off = 0;
if (l->has_value) {
off = l->u.value_ptr - s->code_ptr;
} else {
- /* We need to keep the offset unchanged for retranslation. */
- off = s->code_ptr[1];
tcg_out_reloc(s, s->code_ptr + 1, R_390_PC16DBL, l, 2);
}
@@ -1347,13 +1345,11 @@ static void tgen_compare_branch(TCGContext *s, S390Opcode opc, int cc,
static void tgen_compare_imm_branch(TCGContext *s, S390Opcode opc, int cc,
TCGReg r1, int i2, TCGLabel *l)
{
- tcg_target_long off;
+ tcg_target_long off = 0;
if (l->has_value) {
off = l->u.value_ptr - s->code_ptr;
} else {
- /* We need to keep the offset unchanged for retranslation. */
- off = s->code_ptr[1];
tcg_out_reloc(s, s->code_ptr + 1, R_390_PC16DBL, l, 2);
}
@@ -1696,7 +1692,6 @@ static void tcg_out_qemu_ld(TCGContext* s, TCGReg data_reg, TCGReg addr_reg,
base_reg = tcg_out_tlb_read(s, addr_reg, opc, mem_index, 1);
- /* We need to keep the offset unchanged for retranslation. */
tcg_out16(s, RI_BRC | (S390_CC_NE << 4));
label_ptr = s->code_ptr;
s->code_ptr += 1;
@@ -1724,7 +1719,6 @@ static void tcg_out_qemu_st(TCGContext* s, TCGReg data_reg, TCGReg addr_reg,
base_reg = tcg_out_tlb_read(s, addr_reg, opc, mem_index, 0);
- /* We need to keep the offset unchanged for retranslation. */
tcg_out16(s, RI_BRC | (S390_CC_NE << 4));
label_ptr = s->code_ptr;
s->code_ptr += 1;