diff mbox series

[v3,09/16] tcg/sparc: Remove retranslation code

Message ID 20181130215221.20554-10-richard.henderson@linaro.org
State Superseded
Headers show
Series tcg: Assorted cleanups | expand

Commit Message

Richard Henderson Nov. 30, 2018, 9:52 p.m. UTC
There is no longer a need for preserving branch offset operands,
as we no longer re-translate.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 tcg/sparc/tcg-target.inc.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

-- 
2.17.2

Comments

Alex Bennée Dec. 3, 2018, 10:39 a.m. UTC | #1
Richard Henderson <richard.henderson@linaro.org> writes:

> There is no longer a need for preserving branch offset operands,

> as we no longer re-translate.

>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Reviewed-by: Alex Bennée <alex.bennee@linaro.org>


> ---

>  tcg/sparc/tcg-target.inc.c | 8 ++------

>  1 file changed, 2 insertions(+), 6 deletions(-)

>

> diff --git a/tcg/sparc/tcg-target.inc.c b/tcg/sparc/tcg-target.inc.c

> index 04bdc3df5e..671a04c54b 100644

> --- a/tcg/sparc/tcg-target.inc.c

> +++ b/tcg/sparc/tcg-target.inc.c

> @@ -639,13 +639,11 @@ static void tcg_out_bpcc0(TCGContext *s, int scond, int flags, int off19)

>

>  static void tcg_out_bpcc(TCGContext *s, int scond, int flags, TCGLabel *l)

>  {

> -    int off19;

> +    int off19 = 0;

>

>      if (l->has_value) {

>          off19 = INSN_OFF19(tcg_pcrel_diff(s, l->u.value_ptr));

>      } else {

> -        /* Make sure to preserve destinations during retranslation.  */

> -        off19 = *s->code_ptr & INSN_OFF19(-1);

>          tcg_out_reloc(s, s->code_ptr, R_SPARC_WDISP19, l, 0);

>      }

>      tcg_out_bpcc0(s, scond, flags, off19);

> @@ -685,13 +683,11 @@ static void tcg_out_brcond_i64(TCGContext *s, TCGCond cond, TCGReg arg1,

>  {

>      /* For 64-bit signed comparisons vs zero, we can avoid the compare.  */

>      if (arg2 == 0 && !is_unsigned_cond(cond)) {

> -        int off16;

> +        int off16 = 0;

>

>          if (l->has_value) {

>              off16 = INSN_OFF16(tcg_pcrel_diff(s, l->u.value_ptr));

>          } else {

> -            /* Make sure to preserve destinations during retranslation.  */

> -            off16 = *s->code_ptr & INSN_OFF16(-1);

>              tcg_out_reloc(s, s->code_ptr, R_SPARC_WDISP16, l, 0);

>          }

>          tcg_out32(s, INSN_OP(0) | INSN_OP2(3) | BPR_PT | INSN_RS1(arg1)



--
Alex Bennée
diff mbox series

Patch

diff --git a/tcg/sparc/tcg-target.inc.c b/tcg/sparc/tcg-target.inc.c
index 04bdc3df5e..671a04c54b 100644
--- a/tcg/sparc/tcg-target.inc.c
+++ b/tcg/sparc/tcg-target.inc.c
@@ -639,13 +639,11 @@  static void tcg_out_bpcc0(TCGContext *s, int scond, int flags, int off19)
 
 static void tcg_out_bpcc(TCGContext *s, int scond, int flags, TCGLabel *l)
 {
-    int off19;
+    int off19 = 0;
 
     if (l->has_value) {
         off19 = INSN_OFF19(tcg_pcrel_diff(s, l->u.value_ptr));
     } else {
-        /* Make sure to preserve destinations during retranslation.  */
-        off19 = *s->code_ptr & INSN_OFF19(-1);
         tcg_out_reloc(s, s->code_ptr, R_SPARC_WDISP19, l, 0);
     }
     tcg_out_bpcc0(s, scond, flags, off19);
@@ -685,13 +683,11 @@  static void tcg_out_brcond_i64(TCGContext *s, TCGCond cond, TCGReg arg1,
 {
     /* For 64-bit signed comparisons vs zero, we can avoid the compare.  */
     if (arg2 == 0 && !is_unsigned_cond(cond)) {
-        int off16;
+        int off16 = 0;
 
         if (l->has_value) {
             off16 = INSN_OFF16(tcg_pcrel_diff(s, l->u.value_ptr));
         } else {
-            /* Make sure to preserve destinations during retranslation.  */
-            off16 = *s->code_ptr & INSN_OFF16(-1);
             tcg_out_reloc(s, s->code_ptr, R_SPARC_WDISP16, l, 0);
         }
         tcg_out32(s, INSN_OP(0) | INSN_OP2(3) | BPR_PT | INSN_RS1(arg1)