Commit 30862efc by Jakub Jelinek Committed by Jakub Jelinek

re PR middle-end/56461 (GCC is leaking lots of memory)

	PR middle-end/56461
	* tree-vect-stmts.c (vectorizable_conversion): Don't call
	vec_oprnds0.create (1) for modifier == NONE.

From-SVN: r196426
parent 8930f723
2013-03-04 Jakub Jelinek <jakub@redhat.com> 2013-03-04 Jakub Jelinek <jakub@redhat.com>
PR middle-end/56461 PR middle-end/56461
* tree-vect-stmts.c (vectorizable_conversion): Don't call
vec_oprnds0.create (1) for modifier == NONE.
PR middle-end/56461
* tree-vect-stmts.c (vectorizable_shift): Don't call create methods * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
on vec_oprnds0 or vec_oprnds1 before loop, only call it on on vec_oprnds0 or vec_oprnds1 before loop, only call it on
vec_oprnds1 right before pushing anything to it for vec_oprnds1 right before pushing anything to it for
......
...@@ -2616,15 +2616,13 @@ vectorizable_conversion (gimple stmt, gimple_stmt_iterator *gsi, ...@@ -2616,15 +2616,13 @@ vectorizable_conversion (gimple stmt, gimple_stmt_iterator *gsi,
if (!slp_node) if (!slp_node)
{ {
if (modifier == NONE) if (modifier == WIDEN)
vec_oprnds0.create (1);
else if (modifier == WIDEN)
{ {
vec_oprnds0.create (multi_step_cvt ? vect_pow2(multi_step_cvt) : 1); vec_oprnds0.create (multi_step_cvt ? vect_pow2(multi_step_cvt) : 1);
if (op_type == binary_op) if (op_type == binary_op)
vec_oprnds1.create (1); vec_oprnds1.create (1);
} }
else else if (modifier == NARROW)
vec_oprnds0.create ( vec_oprnds0.create (
2 * (multi_step_cvt ? vect_pow2 (multi_step_cvt) : 1)); 2 * (multi_step_cvt ? vect_pow2 (multi_step_cvt) : 1));
} }
......
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