Commit 3c8e341b by Prathamesh Kulkarni Committed by Prathamesh Kulkarni

re PR tree-optimization/92085 (ICE: tree check: expected class 'type', have…

re PR tree-optimization/92085 (ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at gimple-expr.c:86)

2019-10-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	PR tree-optimization/92085
	* tree-if-conv.c (ifcvt_local_dce): Call gsi_next in else clause,
	instead of calling it unconditionally after
	delete_dead_or_redundant_assignment and fix indentation.

testsuite/
	* gcc.dg/tree-ssa/pr92085-1.c: New test.
	* gcc.dg/tree-ssa/pr92085-2.c: Likewise.

From-SVN: r276984
parent 51992f15
2019-10-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR tree-optimization/92085
* tree-if-conv.c (ifcvt_local_dce): Call gsi_next in else clause,
instead of calling it unconditionally after
delete_dead_or_redundant_assignment and fix indentation.
2019-10-15 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> 2019-10-15 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org>
* config/arm/vfp.md (fma<SDF:mode>4): Enable DF only when * config/arm/vfp.md (fma<SDF:mode>4): Enable DF only when
......
2019-10-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR tree-optimization/92085
* gcc.dg/tree-ssa/pr92085-1.c: New test.
* gcc.dg/tree-ssa/pr92085-2.c: Likewise.
2019-10-14 Steven G. Kargl <kargl@gcc.gnu.org> 2019-10-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/89943 PR fortran/89943
......
/* { dg-do compile } */
/* { dg-options "-O1 -fexceptions -fnon-call-exceptions -ftree-loop-vectorize -fno-tree-sink --param dse-max-alias-queries-per-store=2 -w" } */
void
di (int y9, int qw)
{
if ((int) &y9 != 0)
{
int py;
int **fq = &py;
while (qw < 1)
{
if ((0 < (**fq ? **fq : (**fq = 1))) / (**fq = y9))
;
++qw;
}
}
}
/* { dg-do compile } */
/* { dg-options "-O1 -ftree-loop-vectorize -fno-tree-dce -fno-tree-sink -w" } */
int a8;
void
c1 (int oz, int dk, int ub)
{
int *hd = 0;
long int *th = &dk;
while (ub < 1)
{
oz || dk;
++ub;
}
while (oz < 2)
{
long int *lq = &oz;
(*hd < (*lq = *th)) < oz;
if (oz == 0)
*th = a8 = oz;
*lq = 0;
}
}
...@@ -2973,10 +2973,11 @@ ifcvt_local_dce (class loop *loop) ...@@ -2973,10 +2973,11 @@ ifcvt_local_dce (class loop *loop)
ao_ref write; ao_ref write;
ao_ref_init (&write, lhs); ao_ref_init (&write, lhs);
if (dse_classify_store (&write, stmt, false, NULL, NULL, latch_vdef) if (dse_classify_store (&write, stmt, false, NULL, NULL, latch_vdef)
== DSE_STORE_DEAD) == DSE_STORE_DEAD)
delete_dead_or_redundant_assignment (&gsi, "dead"); delete_dead_or_redundant_assignment (&gsi, "dead");
gsi_next (&gsi); else
gsi_next (&gsi);
continue; continue;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment