aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/loop-iv.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9156b9d..35696ce 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-08-31 Zdenek Dvorak <ook@ucw.cz>
+
+ PR rtl-optimization/33224
+ * loop-iv.c (latch_dominating_def): Check that the definition belongs
+ to the analysed region.
+
2007-08-31 Richard Guenther <rguenther@suse.de>
* function.c (allocate_struct_function): Do not set
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 81e9a56..3e1b5db 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -301,7 +301,8 @@ latch_dominating_def (rtx reg, struct df_ref **def)
for (adef = DF_REG_DEF_CHAIN (regno); adef; adef = adef->next_reg)
{
- if (!bitmap_bit_p (bb_info->out, DF_REF_ID (adef)))
+ if (!bitmap_bit_p (df->blocks_to_analyze, DF_REF_BB (adef)->index)
+ || !bitmap_bit_p (bb_info->out, DF_REF_ID (adef)))
continue;
/* More than one reaching definition. */