re PR tree-optimization/64728 (internal compiler error: SSA corruption)
2015-01-22 Richard Biener <rguenther@suse.de> PR middle-end/64728 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform abnormal coalescing on undefined SSA names. * gcc.dg/torture/pr64728.c: New testcase. From-SVN: r220003
This commit is contained in:
parent
9832176855
commit
f4b05e7468
@ -1,3 +1,9 @@
|
||||
2015-01-22 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/64728
|
||||
* tree-ssa-coalesce.c (coalesce_partitions): Do not perform
|
||||
abnormal coalescing on undefined SSA names.
|
||||
|
||||
2015-22-01 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/64688
|
||||
|
@ -1,3 +1,8 @@
|
||||
2015-01-22 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/64728
|
||||
* gcc.dg/torture/pr64728.c: New testcase.
|
||||
|
||||
2015-22-01 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/64688
|
||||
|
27
gcc/testsuite/gcc.dg/torture/pr64728.c
Normal file
27
gcc/testsuite/gcc.dg/torture/pr64728.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* { dg-do compile } */
|
||||
|
||||
#include <setjmp.h>
|
||||
|
||||
jmp_buf a;
|
||||
int b, d;
|
||||
void baz (long);
|
||||
|
||||
static void
|
||||
bar (long *x)
|
||||
{
|
||||
if (d)
|
||||
*x = b;
|
||||
}
|
||||
|
||||
void
|
||||
foo ()
|
||||
{
|
||||
baz (0);
|
||||
if (setjmp (a))
|
||||
{
|
||||
long c;
|
||||
bar (&c);
|
||||
baz (c);
|
||||
}
|
||||
baz (0);
|
||||
}
|
@ -1213,8 +1213,13 @@ coalesce_partitions (var_map map, ssa_conflicts_p graph, coalesce_list_p cl,
|
||||
gsi_next (&gsi))
|
||||
{
|
||||
gphi *phi = gsi.phi ();
|
||||
tree arg = PHI_ARG_DEF (phi, e->dest_idx);
|
||||
if (SSA_NAME_IS_DEFAULT_DEF (arg)
|
||||
&& (!SSA_NAME_VAR (arg)
|
||||
|| TREE_CODE (SSA_NAME_VAR (arg)) != PARM_DECL))
|
||||
continue;
|
||||
|
||||
tree res = PHI_RESULT (phi);
|
||||
tree arg = PHI_ARG_DEF (phi, e->dest_idx);
|
||||
int v1 = SSA_NAME_VERSION (res);
|
||||
int v2 = SSA_NAME_VERSION (arg);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user