Commit 41bc37ba by Richard Biener Committed by Richard Biener

re PR tree-optimization/88855 (ICE: verify_ssa failed (error:…

re PR tree-optimization/88855 (ICE: verify_ssa failed (error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set))

2019-01-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/88855
	* tree-if-conv.c (combine_blocks): Collect
	SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.

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

From-SVN: r267939
parent 10ddff67
2019-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/88855
* tree-if-conv.c (combine_blocks): Collect
SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.
2019-01-15 Tom de Vries <tdevries@suse.de>
PR target/80547
......
2019-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/88855
* gcc.dg/pr88855.c: New testcase.
2019-01-15 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/diagnostic/typedef-initialized.C: New.
......
/* { dg-do compile } */
/* { dg-options "-O -ftree-loop-if-convert -ftree-vrp -fno-tree-copy-prop -fno-tree-dce -fno-tree-dominator-opts" } */
typedef int jmp_buf[1];
extern void exit(int) __attribute__((__noreturn__));
extern int setjmpx(jmp_buf) __attribute__((__returns_twice__));
jmp_buf jbAnagram;
int a[6];
int d;
int b () { exit (1); }
int c () { b (); }
int e ()
{
int f = 0;
for (; f < 6; f++)
a[f] = d;
c ();
setjmpx (jbAnagram);
}
......@@ -2633,6 +2633,8 @@ combine_blocks (struct loop *loop)
FOR_EACH_IMM_USE_ON_STMT (use_p, iter)
SET_USE (use_p, last_vdef);
}
if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (gimple_phi_result (vphi)))
SSA_NAME_OCCURS_IN_ABNORMAL_PHI (last_vdef) = 1;
gsi = gsi_for_stmt (vphi);
remove_phi_node (&gsi, true);
}
......@@ -2691,6 +2693,8 @@ combine_blocks (struct loop *loop)
FOR_EACH_IMM_USE_ON_STMT (use_p, iter)
SET_USE (use_p, last_vdef);
}
if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (gimple_phi_result (vphi)))
SSA_NAME_OCCURS_IN_ABNORMAL_PHI (last_vdef) = 1;
gimple_stmt_iterator gsi = gsi_for_stmt (vphi);
remove_phi_node (&gsi, true);
}
......
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