aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/sched-rgn.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 51476b1..e341047 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-12-07 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
+ PR target/29794
+ * sched-rgn.c (add_block1): Use correct initializer.
+
2006-12-07 Richard Guenther <rguenther@suse.de>
* tree-vect-transform.c (vectorizable_call): Fix leftover of
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index 8b9cf9931..7f7f586 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -3124,9 +3124,15 @@ add_block1 (basic_block bb, basic_block after)
is _always_ valid for access. */
i = BLOCK_TO_BB (after->index) + 1;
- for (pos = ebb_head[i]; rgn_bb_table[pos] != after->index; pos--);
+ pos = ebb_head[i] - 1;
+ /* Now POS is the index of the last block in the region. */
+
+ /* Find index of basic block AFTER. */
+ for (; rgn_bb_table[pos] != after->index; pos--);
+
pos++;
gcc_assert (pos > ebb_head[i - 1]);
+
/* i - ebb right after "AFTER". */
/* ebb_head[i] - VALID. */