[llvm-dev] multi-entry function (debug info)

Roger Ferrer Ibáñez via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 23 09:07:32 PDT 2018


> Regarding multi-entry functions, I'm aware of two cases where this occurs
> in a source language.  One is when you have optional parameters in C++,
> which effectively creates one or more overloads for the function; the other
> is PL/I which allows defining an entry label within the body of the
> function.  For the C++ case, I'd expect the front-end to create stubs that
> fill in the defaulted parameters and then tail-call the main function; in
> this case, each stub would have its own debug-info entry and be treated as
> its own independent function for debug-info purposes.  For PL/I, I would
> probably do the same, although I admit it has been a long time since I did
> any PL/I programming and I never worked on a PL/I compiler.
>
>
Another example of source language with functions that can have more than
entry point is Fortran via the ENTRY statement. I think most compilers use
an extra integer parameter to discriminate between the different entry
points at the call sites.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181023/1410aa60/attachment.html>


More information about the llvm-dev mailing list