re PR tree-optimization/89594 (ICE: Segmentation fault (in gsi_for_stmt(gimple*)))

2019-03-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/89594
	* tree-if-conv.c (pass_if_conversion::execute): Handle
	case where .LOOP_VECTORIZED_FUNCTION was removed.

	* gcc.dg/pr89594.c: New testcase.

From-SVN: r269389
This commit is contained in:
Richard Biener 2019-03-05 14:57:12 +00:00 committed by Richard Biener
parent 186ae93c7b
commit deeec83de4
4 changed files with 37 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2019-03-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/89594
* tree-if-conv.c (pass_if_conversion::execute): Handle
case where .LOOP_VECTORIZED_FUNCTION was removed.
2019-03-05 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/89560

View file

@ -1,3 +1,8 @@
2019-03-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/89594
* gcc.dg/pr89594.c: New testcase.
2019-03-05 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/89487

View file

@ -0,0 +1,24 @@
/* { dg-do compile } */
/* { dg-options "-O -ftree-loop-if-convert -ftree-loop-vectorize -fno-tree-ch" } */
int h3;
void
in (void)
{
long int zr;
int ee = 0;
for (zr = 0; zr < 1; zr = h3)
{
ee = !!h3 ? zr : 0;
h3 = 0;
while (h3 < 0)
h3 = 0;
}
h3 = 0;
while (h3 < 1)
h3 = !!ee ? (!!h3 + 1) : 0;
}

View file

@ -3176,6 +3176,8 @@ pass_if_conversion::execute (function *fun)
for (unsigned i = 0; i < preds.length (); ++i)
{
gimple *g = preds[i];
if (!gimple_bb (g))
continue;
unsigned ifcvt_loop = tree_to_uhwi (gimple_call_arg (g, 0));
if (!get_loop (fun, ifcvt_loop))
{