Commit 2bdb7f56 by Richard Biener Committed by Richard Biener

re PR tree-optimization/66413 (ICE at -Os and above with -g enabled on x86_64-linux-gnu)

2015-06-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/66413
	* tree-inline.c (insert_init_debug_bind): Unshare value.

	* gcc.dg/torture/pr66413.c: New testcase.

From-SVN: r224267
parent d819fedb
2015-06-09 Richard Biener <rguenther@suse.de>
PR middle-end/66413
* tree-inline.c (insert_init_debug_bind): Unshare value.
2015-06-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/66396
* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
Rename virtual operands.
......
2015-06-09 Richard Biener <rguenther@suse.de>
PR middle-end/66413
* gcc.dg/torture/pr66413.c: New testcase.
2015-06-09 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
......
/* { dg-do compile } */
/* { dg-additional-options "-g" } */
int a, b, c, d, i, j, q, *e, *h, *k, *r, **p = &e;
const int *f, **n = &f;
static int g;
void
fn1 (int p1)
{
c = p1;
}
static int *
fn2 (int *p1, const int *p2)
{
if (g)
n = &p2;
*n = p2;
int o[245];
fn1 (o != p2);
return p1;
}
static int *
fn3 ()
{
int s[54], *t = &s[0], u = 0, v = 1;
h = &v;
q = 1;
for (; q; q++)
{
int *w[] = { &u };
for (; v;)
return *p;
}
*r = *t + b >= 0;
return *p;
}
static int
fn4 (int *p1)
{
int *l[2], **m[7];
for (; i < 1; i++)
for (; j < 1; j++)
m[i * 70] = &l[0];
k = fn3 ();
fn2 (0, p1);
if ((m[0] == 0) & a)
for (;;)
;
return 0;
}
int
main ()
{
fn4 (&d);
return 0;
}
......@@ -3021,7 +3021,7 @@ insert_init_debug_bind (copy_body_data *id,
base_stmt = gsi_stmt (gsi);
}
note = gimple_build_debug_bind (tracked_var, value, base_stmt);
note = gimple_build_debug_bind (tracked_var, unshare_expr (value), base_stmt);
if (bb)
{
......
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