aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-data-ref.h
diff options
context:
space:
mode:
authorBin Cheng <bin.cheng@linux.alibaba.com>2019-04-08 11:52:18 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-04-08 11:52:18 +0000
commitd6366157deac0b526ce7ecfd2821745eecce06c8 (patch)
tree3042ff24ef928ab4c8b2ad26e74939b33f07787b /gcc/tree-data-ref.h
parent145f764aae16c101baf41c815abe99353fcf797d (diff)
downloadgcc-d6366157deac0b526ce7ecfd2821745eecce06c8.zip
gcc-d6366157deac0b526ce7ecfd2821745eecce06c8.tar.gz
gcc-d6366157deac0b526ce7ecfd2821745eecce06c8.tar.bz2
re PR middle-end/89725 (ICE in get_fnname_from_decl, at varasm.c:1723)
2019-04-01 Bin Cheng <bin.cheng@linux.alibaba.com> PR tree-optimization/89725 * tree-chrec.c (chrec_contains_symbols): New parameter. Handle outer loop's chrec as invariant symbol. * tree-chrec.h (chrec_contains_symbols): New parameter. * tree-data-ref.c (analyze_miv_subscript): Pass new argument. (build_classic_dist_vector_1, add_other_self_distances): Bypass access function of loops not in DDR's loop_nest. * tree-data-ref.h (index_in_loop_nest): Add unreachable check. * gcc.dg/tree-ssa/pr89725.c: New test. From-SVN: r270203
Diffstat (limited to 'gcc/tree-data-ref.h')
-rw-r--r--gcc/tree-data-ref.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/tree-data-ref.h b/gcc/tree-data-ref.h
index 11aa806..2a5082d 100644
--- a/gcc/tree-data-ref.h
+++ b/gcc/tree-data-ref.h
@@ -580,12 +580,11 @@ index_in_loop_nest (int var, vec<loop_p> loop_nest)
struct loop *loopi;
int var_index;
- for (var_index = 0; loop_nest.iterate (var_index, &loopi);
- var_index++)
+ for (var_index = 0; loop_nest.iterate (var_index, &loopi); var_index++)
if (loopi->num == var)
- break;
+ return var_index;
- return var_index;
+ gcc_unreachable ();
}
/* Returns true when the data reference DR the form "A[i] = ..."