aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.com>2001-08-23 19:25:03 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2001-08-23 19:25:03 +0000
commit3e7c78058f36d1400c985a8c318bff624693de28 (patch)
tree3b8698598427f90d930ce5cb2b2758276724eddc /gcc
parentab75d1f125b1f3c49531f1be44f9298d3024c452 (diff)
downloadgcc-3e7c78058f36d1400c985a8c318bff624693de28.zip
gcc-3e7c78058f36d1400c985a8c318bff624693de28.tar.gz
gcc-3e7c78058f36d1400c985a8c318bff624693de28.tar.bz2
Fix abort where write_count got to 3
From-SVN: r45137
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/ia64.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9899b3f..a38da71 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-08-23 Bernd Schmidt <bernds@redhat.com>
+
+ * config/ia64/ia64.c (rws_update): If !pred, set write_count
+ instead of incrementing it.
+
Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
* function.c (thread_prologue_and_epilogue_insns): Avoid
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 8b56dad..fa73e55 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -4026,7 +4026,10 @@ rws_update (rws, regno, flags, pred)
struct reg_flags flags;
int pred;
{
- rws[regno].write_count += pred ? 1 : 2;
+ if (pred)
+ rws[regno].write_count++;
+ else
+ rws[regno].write_count = 2;
rws[regno].written_by_fp |= flags.is_fp;
/* ??? Not tracking and/or across differing predicates. */
rws[regno].written_by_and = flags.is_and;