@@ -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;