[llvm-commits] patch: add 'halting' function attribute

Duncan Sands baldrick at free.fr
Tue Jul 6 02:29:51 PDT 2010


Hi Gabor,

>>> The attached patch adds a function attribute, "halting", which models
>>> the assertion that a function does not have the side-effect of looping
>>> indefinitely. This is for llvm.org/PR965
>
> Hi Nick, Duncan,
>
> I assume by "looping" you also mean (mutually) recursive
> tail-calling without ever returning?

from my reading of the transform, such a function will not be assigned the
halting attribute (just like a function that contains an infinite loop).

> What about recursive non-tail calling without return? This
> will exhaust the stack and probably terminate then. Does
> "halting" cover this situation?

Likewise.

Ciao,

Duncan.



More information about the llvm-commits mailing list