re PR middle-end/67563 (verify_flow_info failed)
2015-09-15 Richard Biener <rguenther@suse.de> PR middle-end/67563 * gimple-fold.c (gimplify_and_update_call_from_tree): Do not transfer EH info from old to new stmt. (replace_call_with_value): Likewise. (replace_call_with_call_and_fold): Likewise. (gimple_fold_builtin_memory_op): Likewise. (gimple_fold_builtin_memset): Likewise. (gimple_fold_builtin_stpcpy): Likewise. (gimple_fold_call): Likewise. * gcc.dg/pr67563.c: New testcase. From-SVN: r227788
This commit is contained in:
parent
6ec0e5b9c3
commit
f6b4dc28f9
|
@ -1,3 +1,15 @@
|
|||
2015-09-15 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/67563
|
||||
* gimple-fold.c (gimplify_and_update_call_from_tree): Do not
|
||||
transfer EH info from old to new stmt.
|
||||
(replace_call_with_value): Likewise.
|
||||
(replace_call_with_call_and_fold): Likewise.
|
||||
(gimple_fold_builtin_memory_op): Likewise.
|
||||
(gimple_fold_builtin_memset): Likewise.
|
||||
(gimple_fold_builtin_stpcpy): Likewise.
|
||||
(gimple_fold_call): Likewise.
|
||||
|
||||
2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
|
||||
|
|
|
@ -548,7 +548,7 @@ gimplify_and_update_call_from_tree (gimple_stmt_iterator *si_p, tree expr)
|
|||
unlink_stmt_vdef (stmt);
|
||||
release_defs (stmt);
|
||||
}
|
||||
gsi_replace (si_p, gimple_build_nop (), true);
|
||||
gsi_replace (si_p, gimple_build_nop (), false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -589,7 +589,7 @@ replace_call_with_value (gimple_stmt_iterator *gsi, tree val)
|
|||
unlink_stmt_vdef (stmt);
|
||||
release_ssa_name (vdef);
|
||||
}
|
||||
gsi_replace (gsi, repl, true);
|
||||
gsi_replace (gsi, repl, false);
|
||||
}
|
||||
|
||||
/* Replace the call at *GSI with the new call REPL and fold that
|
||||
|
@ -608,7 +608,7 @@ replace_call_with_call_and_fold (gimple_stmt_iterator *gsi, gimple repl)
|
|||
gimple_set_vuse (repl, gimple_vuse (stmt));
|
||||
SSA_NAME_DEF_STMT (gimple_vdef (repl)) = repl;
|
||||
}
|
||||
gsi_replace (gsi, repl, true);
|
||||
gsi_replace (gsi, repl, false);
|
||||
fold_stmt (gsi);
|
||||
}
|
||||
|
||||
|
@ -655,7 +655,7 @@ gimple_fold_builtin_memory_op (gimple_stmt_iterator *gsi,
|
|||
unlink_stmt_vdef (stmt);
|
||||
release_ssa_name (vdef);
|
||||
}
|
||||
gsi_replace (gsi, repl, true);
|
||||
gsi_replace (gsi, repl, false);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -668,7 +668,7 @@ gimple_fold_builtin_memory_op (gimple_stmt_iterator *gsi,
|
|||
release_ssa_name (gimple_vdef (stmt));
|
||||
if (!lhs)
|
||||
{
|
||||
gsi_replace (gsi, gimple_build_nop (), true);
|
||||
gsi_replace (gsi, gimple_build_nop (), false);
|
||||
return true;
|
||||
}
|
||||
goto done;
|
||||
|
@ -750,7 +750,7 @@ gimple_fold_builtin_memory_op (gimple_stmt_iterator *gsi,
|
|||
SSA_NAME_DEF_STMT (gimple_vdef (new_stmt)) = new_stmt;
|
||||
if (!lhs)
|
||||
{
|
||||
gsi_replace (gsi, new_stmt, true);
|
||||
gsi_replace (gsi, new_stmt, false);
|
||||
return true;
|
||||
}
|
||||
gsi_insert_before (gsi, new_stmt, GSI_SAME_STMT);
|
||||
|
@ -1030,7 +1030,7 @@ gimple_fold_builtin_memory_op (gimple_stmt_iterator *gsi,
|
|||
SSA_NAME_DEF_STMT (gimple_vdef (new_stmt)) = new_stmt;
|
||||
if (!lhs)
|
||||
{
|
||||
gsi_replace (gsi, new_stmt, true);
|
||||
gsi_replace (gsi, new_stmt, false);
|
||||
return true;
|
||||
}
|
||||
gsi_insert_before (gsi, new_stmt, GSI_SAME_STMT);
|
||||
|
@ -1048,7 +1048,7 @@ done:
|
|||
dest = force_gimple_operand_gsi (gsi, dest, false, NULL_TREE, true,
|
||||
GSI_SAME_STMT);
|
||||
gimple repl = gimple_build_assign (lhs, dest);
|
||||
gsi_replace (gsi, repl, true);
|
||||
gsi_replace (gsi, repl, false);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1130,7 +1130,7 @@ gimple_fold_builtin_memset (gimple_stmt_iterator *gsi, tree c, tree len)
|
|||
if (gimple_call_lhs (stmt))
|
||||
{
|
||||
gimple asgn = gimple_build_assign (gimple_call_lhs (stmt), dest);
|
||||
gsi_replace (gsi, asgn, true);
|
||||
gsi_replace (gsi, asgn, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1980,7 +1980,7 @@ gimple_fold_builtin_stpcpy (gimple_stmt_iterator *gsi)
|
|||
gsi_insert_seq_before (gsi, stmts, GSI_SAME_STMT);
|
||||
gassign *ret = gimple_build_assign (gimple_call_lhs (stmt),
|
||||
POINTER_PLUS_EXPR, dest, tem);
|
||||
gsi_replace (gsi, ret, true);
|
||||
gsi_replace (gsi, ret, false);
|
||||
/* Finally fold the memcpy call. */
|
||||
gimple_stmt_iterator gsi2 = *gsi;
|
||||
gsi_prev (&gsi2);
|
||||
|
@ -3062,7 +3062,7 @@ gimple_fold_call (gimple_stmt_iterator *gsi, bool inplace)
|
|||
&& tree_int_cst_le (gimple_call_arg (stmt, 1),
|
||||
gimple_call_arg (stmt, 2))))
|
||||
{
|
||||
gsi_replace (gsi, gimple_build_nop (), true);
|
||||
gsi_replace (gsi, gimple_build_nop (), false);
|
||||
unlink_stmt_vdef (stmt);
|
||||
release_defs (stmt);
|
||||
return true;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-09-15 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/67563
|
||||
* gcc.dg/pr67563.c: New testcase.
|
||||
|
||||
2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
PR fortran/67460
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -fexceptions" } */
|
||||
|
||||
static void
|
||||
emit_package (int p1)
|
||||
{
|
||||
int a;
|
||||
int b[0];
|
||||
a = __fprintf_chk (0, 0, "");
|
||||
}
|
||||
void emit_lua () { emit_package (0); }
|
Loading…
Reference in New Issue