aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDenis Chertykov <denisc@overta.ru>2000-01-05 07:01:00 +0000
committerJeff Law <law@gcc.gnu.org>2000-01-05 00:01:00 -0700
commita30caf5c2cf7ed862038035bac428569c4339134 (patch)
tree3808c07fac746d06695c717362ecbee1319dc5a9 /gcc
parentdd1bd863187095f63709320f6a30d97fe0ee40ab (diff)
downloadgcc-a30caf5c2cf7ed862038035bac428569c4339134.zip
gcc-a30caf5c2cf7ed862038035bac428569c4339134.tar.gz
gcc-a30caf5c2cf7ed862038035bac428569c4339134.tar.bz2
final.c (shorten_branches): Correctly compute length of asms without operands.
* final.c (shorten_branches): Correctly compute length of asms without operands. From-SVN: r31230
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/final.c7
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6bde0bd..7ab5d70 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jan 4 23:59:26 2000 Denis Chertykov <denisc@overta.ru>
+
+ * final.c (shorten_branches): Correctly compute length of
+ asms without operands.
+
Tue Jan 4 22:55:41 2000 Steve Chamberlain <sac@pobox.com>
* configure.in: Add pj target.
diff --git a/gcc/final.c b/gcc/final.c
index 8f49e09..1c648da 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1,5 +1,5 @@
/* Convert RTL to assembler code and output it, for GNU compiler.
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 88, 89, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1282,7 +1282,7 @@ shorten_branches (first)
* GET_MODE_SIZE (GET_MODE (body)));
/* Alignment is handled by ADDR_VEC_ALIGN. */
}
- else if (asm_noperands (body) >= 0)
+ else if (GET_CODE (body) == ASM_INPUT || asm_noperands (body) >= 0)
insn_lengths[uid] = asm_insn_count (body) * insn_default_length (insn);
else if (GET_CODE (body) == SEQUENCE)
{
@@ -1302,7 +1302,8 @@ shorten_branches (first)
int inner_uid = INSN_UID (inner_insn);
int inner_length;
- if (asm_noperands (PATTERN (XVECEXP (body, 0, i))) >= 0)
+ if (GET_CODE (body) == ASM_INPUT
+ || asm_noperands (PATTERN (XVECEXP (body, 0, i))) >= 0)
inner_length = (asm_insn_count (PATTERN (inner_insn))
* insn_default_length (inner_insn));
else