+2003-06-30 Jeff Law <law@redhat.com>
+
+ * stmt.c (any_pending_cleanups): Lose argument THIS_CONTOUR, it
+ was always passed in the value '1'. Simplify body appropriately.
+ * tree.h (any_pending_cleanups): Corresponding changes.
+ * calls.c: (expand_call): Corresponding changes.
+
2003-06-30 Kazu Hirata <kazu@cs.umass.edu>
* combine.c (distribute_notes): Don't bother REG_WAS_0.
if (currently_expanding_call++ != 0
|| !flag_optimize_sibling_calls
|| !rtx_equal_function_value_matters
- || any_pending_cleanups (1)
+ || any_pending_cleanups ()
|| args_size.var)
try_tail_call = try_tail_recursion = 0;
addr = fix_unsafe_tree (addr);
/* Expanding one of those dangerous arguments could have added
cleanups, but otherwise give it a whirl. */
- if (any_pending_cleanups (1))
+ if (any_pending_cleanups ())
try_tail_call = try_tail_recursion = 0;
}
expand_start_target_temps ();
if (optimize_tail_recursion (actparms, get_last_insn ()))
{
- if (any_pending_cleanups (1))
+ if (any_pending_cleanups ())
try_tail_call = try_tail_recursion = 0;
else
tail_recursion_insns = get_insns ();
/* If there are cleanups to be called, don't use a hard reg as target.
We need to double check this and see if it matters anymore. */
- if (any_pending_cleanups (1))
+ if (any_pending_cleanups ())
{
if (target && REG_P (target)
&& REGNO (target) < FIRST_PSEUDO_REGISTER)
}
/* Return 1 if there are any pending cleanups at this point.
- If THIS_CONTOUR is nonzero, check the current contour as well.
- Otherwise, look only at the contours that enclose this one. */
+ Check the current contour as well as contours that enclose
+ the current contour. */
int
-any_pending_cleanups (this_contour)
- int this_contour;
+any_pending_cleanups ()
{
struct nesting *block;
if (cfun == NULL || cfun->stmt == NULL || block_stack == 0)
return 0;
- if (this_contour && block_stack->data.block.cleanups != NULL)
+ if (block_stack->data.block.cleanups != NULL)
return 1;
if (block_stack->data.block.cleanups == 0
&& block_stack->data.block.outer_cleanups == 0)
extern void expand_asm_operands PARAMS ((tree, tree, tree, tree, int,
const char *, int));
extern tree resolve_asm_operand_names (tree, tree, tree);
-extern int any_pending_cleanups PARAMS ((int));
+extern int any_pending_cleanups PARAMS ((void));
extern void init_stmt_for_function PARAMS ((void));
extern void expand_start_target_temps PARAMS ((void));
extern void expand_end_target_temps PARAMS ((void));