Commit c1781047 by Jakub Jelinek Committed by Jakub Jelinek

re PR tree-optimization/56539 (ICE: verify_ssa failed: caused by -foptimize-sibling-calls)

	PR tree-optimization/56539
	* tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
	instead of GSI_CONTINUE_LINKING as last argument to
	force_gimple_operand_gsi.

	* gcc.c-torture/compile/pr56539.c: New test.

From-SVN: r196511
parent 04414cc6
2013-03-06 Jakub Jelinek <jakub@redhat.com> 2013-03-06 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/56539
* tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
instead of GSI_CONTINUE_LINKING as last argument to
force_gimple_operand_gsi. Adjust function comment.
* config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
aarch64-cores.def. aarch64-cores.def.
......
2013-03-06 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/56539
* gcc.c-torture/compile/pr56539.c: New test.
2013-03-06 Kai Tietz <ktietz@redhat.com> 2013-03-06 Kai Tietz <ktietz@redhat.com>
* gcc.dg/lto/20090914-2_0.c: Skip for mingw and cygwin * gcc.dg/lto/20090914-2_0.c: Skip for mingw and cygwin
......
/* PR tree-optimization/56539 */
short
foo (const char *x, unsigned y)
{
return y > 1 ? (x[y - 1] - '0') + 10 * foo (x, y - 1) : (*x - '0');
}
...@@ -599,8 +599,8 @@ add_successor_phi_arg (edge e, tree var, tree phi_arg) ...@@ -599,8 +599,8 @@ add_successor_phi_arg (edge e, tree var, tree phi_arg)
} }
/* Creates a GIMPLE statement which computes the operation specified by /* Creates a GIMPLE statement which computes the operation specified by
CODE, OP0 and OP1 to a new variable with name LABEL and inserts the CODE, ACC and OP1 to a new variable with name LABEL and inserts the
statement in the position specified by GSI and UPDATE. Returns the statement in the position specified by GSI. Returns the
tree node of the statement's result. */ tree node of the statement's result. */
static tree static tree
...@@ -622,7 +622,7 @@ adjust_return_value_with_ops (enum tree_code code, const char *label, ...@@ -622,7 +622,7 @@ adjust_return_value_with_ops (enum tree_code code, const char *label,
fold_convert (TREE_TYPE (op1), acc), fold_convert (TREE_TYPE (op1), acc),
op1)); op1));
rhs = force_gimple_operand_gsi (&gsi, rhs, rhs = force_gimple_operand_gsi (&gsi, rhs,
false, NULL, true, GSI_CONTINUE_LINKING); false, NULL, true, GSI_SAME_STMT);
stmt = gimple_build_assign (result, rhs); stmt = gimple_build_assign (result, rhs);
} }
......
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