re PR tree-optimization/51091 (FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg)

PR tree-optimization/51091
	* tree-stdarg.c (execute_optimize_stdarg): Ignore TREE_CLOBBER_P
	rhs also in the va_list_simple_ptr case.

From-SVN: r181299
This commit is contained in:
Jakub Jelinek 2011-11-11 20:57:23 +01:00 committed by Jakub Jelinek
parent dd34c087ff
commit bad2545327
2 changed files with 11 additions and 2 deletions

View File

@ -1,5 +1,9 @@
2011-11-11 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/51091
* tree-stdarg.c (execute_optimize_stdarg): Ignore TREE_CLOBBER_P
rhs also in the va_list_simple_ptr case.
PR tree-optimization/51058
* tree-vect-slp.c (vect_remove_slp_scalar_calls): New function.
(vect_schedule_slp): Call it.

View File

@ -1,5 +1,5 @@
/* Pass computing data for optimizing stdarg functions.
Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>
@ -847,8 +847,12 @@ execute_optimize_stdarg (void)
if (get_gimple_rhs_class (gimple_assign_rhs_code (stmt))
== GIMPLE_SINGLE_RHS)
{
/* Check for ap ={v} {}. */
if (TREE_CLOBBER_P (rhs))
continue;
/* Check for tem = ap. */
if (va_list_ptr_read (&si, rhs, lhs))
else if (va_list_ptr_read (&si, rhs, lhs))
continue;
/* Check for the last insn in:
@ -875,6 +879,7 @@ execute_optimize_stdarg (void)
/* Check for ap ={v} {}. */
if (TREE_CLOBBER_P (rhs))
continue;
/* Check for ap[0].field = temp. */
else if (va_list_counter_struct_op (&si, lhs, rhs, true))
continue;