re PR middle-end/89677 (internal compiler error: in wide_int_to_tree_1, at tree.c:1549)
2019-03-13 Richard Biener <rguenther@suse.de> PR middle-end/89677 * tree-scalar-evolution.c (simplify_peeled_chrec): Do not throw FP expressions at tree-affine. * gcc.dg/torture/pr89677.c: New testcase. From-SVN: r269646
This commit is contained in:
parent
c045ea5763
commit
cd5091f1ea
|
@ -1,3 +1,9 @@
|
|||
2019-03-13 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/89677
|
||||
* tree-scalar-evolution.c (simplify_peeled_chrec): Do not
|
||||
throw FP expressions at tree-affine.
|
||||
|
||||
2019-03-14 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-pretty-print.c (dump_generic_node): For -gimple properly
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2019-03-13 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/89677
|
||||
* gcc.dg/torture/pr89677.c: New testcase.
|
||||
|
||||
2019-03-13 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/85558
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target int32plus } */
|
||||
|
||||
int a, b, d;
|
||||
unsigned c;
|
||||
float e, f, g;
|
||||
void h() {
|
||||
float *i = &g;
|
||||
for (; c < 10; c += 3)
|
||||
for (; d; d += 3) {
|
||||
a = *i;
|
||||
g = f + 0;
|
||||
f = b + *i + (b - e + 305219) + -b + 3;
|
||||
}
|
||||
}
|
|
@ -1456,6 +1456,11 @@ simplify_peeled_chrec (struct loop *loop, tree arg, tree init_cond)
|
|||
return build_polynomial_chrec (loop->num, init_cond, right);
|
||||
}
|
||||
|
||||
/* The affine code only deals with pointer and integer types. */
|
||||
if (!POINTER_TYPE_P (type)
|
||||
&& !INTEGRAL_TYPE_P (type))
|
||||
return chrec_dont_know;
|
||||
|
||||
/* Try harder to check if they are equal. */
|
||||
tree_to_aff_combination_expand (left, type, &aff1, &peeled_chrec_map);
|
||||
tree_to_aff_combination_expand (step_val, type, &aff2, &peeled_chrec_map);
|
||||
|
|
Loading…
Reference in New Issue