summaryrefslogtreecommitdiff
path: root/gcc/loop-iv.c
diff options
context:
space:
mode:
authorZdenek Dvorak <ook@ucw.cz>2007-08-31 17:34:45 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2007-08-31 15:34:45 +0000
commit75b226408d2c03ebf1e2e15fa9fb93fcd7a2393d (patch)
tree8df14618b7117149a6bea167a45d74c3db740b67 /gcc/loop-iv.c
parentbeb32b5981c96e592c73126f3f1b89b848547fbe (diff)
downloadgcc-75b226408d2c03ebf1e2e15fa9fb93fcd7a2393d.tar.gz
re PR rtl-optimization/33224 (failing rtl iv analysis (maybe due to df))
PR rtl-optimization/33224 * loop-iv.c (latch_dominating_def): Check that the definition belongs to the analysed region. From-SVN: r127996
Diffstat (limited to 'gcc/loop-iv.c')
-rw-r--r--gcc/loop-iv.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 81e9a5625ec..3e1b5db5af7 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. */