From 9c0e838fa0e2cdbe96f40b4d209ed83540040148 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 27 Jun 1996 15:05:07 +0000 Subject: [PATCH] Don't call ADJUST_INSN_LENGTH on an insn inside a sequence From-SVN: r12336 --- gcc/config/sh/sh.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index d3f1e0f..7e0d8cc 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -556,10 +556,16 @@ output_branch (logic, insn, operands) int adjusted_length; /* Undo the effects of ADJUST_INSN_LENGTH, so that we get the real - length. */ - adjusted_length = length; - ADJUST_INSN_LENGTH (insn, adjusted_length); - length -= (adjusted_length - length); + length. If NEXT_INSN (PREV_INSN (insn)) != insn, then the insn + is inside a sequence, and ADJUST_INSN_LENGTH was not called on + it. */ + if (PREV_INSN (insn) == NULL + || NEXT_INSN (PREV_INSN (insn)) == insn) + { + adjusted_length = length; + ADJUST_INSN_LENGTH (insn, adjusted_length); + length -= (adjusted_length - length); + } switch (length) { -- 2.7.4