calls.c (expand_call): Don't try using tail or recursive calls after the function body has been expanded.
* calls.c (expand_call): Don't try using tail or recursive calls after the function body has been expanded. From-SVN: r74415
This commit is contained in:
parent
c45b6ae007
commit
a6a5a42dd5
@ -1,3 +1,8 @@
|
||||
2003-12-08 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* calls.c (expand_call): Don't try using tail or recursive calls
|
||||
after the function body has been expanded.
|
||||
|
||||
2003-12-08 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
|
||||
|
@ -2485,11 +2485,15 @@ expand_call (tree exp, rtx target, int ignore)
|
||||
finished with regular parsing. Which means that some of the
|
||||
machinery we use to generate tail-calls is no longer in place.
|
||||
This is most often true of sjlj-exceptions, which we couldn't
|
||||
tail-call to anyway. */
|
||||
tail-call to anyway.
|
||||
|
||||
If current_nesting_level () == 0, we're being called after
|
||||
the function body has been expanded. This can happen when
|
||||
setting up trampolines in expand_function_end. */
|
||||
if (currently_expanding_call++ != 0
|
||||
|| !flag_optimize_sibling_calls
|
||||
|| !rtx_equal_function_value_matters
|
||||
|| current_nesting_level () == 0
|
||||
|| any_pending_cleanups ()
|
||||
|| args_size.var)
|
||||
try_tail_call = try_tail_recursion = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user