Hi,
While looking for -Winline messages I noticed that sched-int.h has self recursive
function declared inline. The recursion is tail recursion but we fail to recognize
it as such. The problem ist hat there is a local variable link whose address
is passed to function &DEPS_LIST_FIRST (list) and we are thus unsure if the
memory location is dead.
I tried to bring that function inline, too, but it does not help, since alias
analysis won't figure out that passing the address to a function won't capture
it because we do not have nocapture discovery in early passes (it may be
valuable addition).
Anyway, it is easy to turn recursion into iteration here and probably makes
sense.
Bootstrapped/regtested x86_64-linux, OK?
Honza
* sched-int.h (sd_iterator_cond): Manually tail recurse.