Per Oleg's comment in the PR, the second block is dead and should be
removed...

Committing to the trunk.   While I'm confident this won't change
anything, my tester will bootstrap sh4 & sh4eb overnight for additional
verification.

Jeff
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9179987e98c..c9e3f0b956d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-07-15  Jeff Law  <l...@redhat.com>
+
+       PR target/85993
+       * config/sh/sh.c (output_mi_thunk): Remove dead conditional
+       block.
+
 2018-07-14  Jim Wilson  <j...@sifive.com>
 
        * config/riscv/linux.h (TARGET_ASM_FILE_END): New.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index a1cad42eb70..e58533c3bab 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -10890,12 +10890,6 @@ sh_output_mi_thunk (FILE *file, tree thunk_fndecl 
ATTRIBUTE_UNUSED,
          emit_insn (gen_add2_insn (scratch0, GEN_INT (vcall_offset)));
          offset_addr = scratch0;
        }
-      else if (scratch0 != scratch1)
-       {
-         emit_move_insn (scratch1, GEN_INT (vcall_offset));
-         emit_insn (gen_add2_insn (scratch0, scratch1));
-         offset_addr = scratch0;
-       }
       else
        gcc_unreachable (); /* FIXME */
       emit_load_ptr (scratch0, offset_addr);

Reply via email to