[LLVMdev] library functions
John Criswell
criswell at illinois.edu
Mon May 23 11:24:19 PDT 2011
On 5/23/11 1:05 PM, George Baah wrote:
> Hi,
> I am writing a pass which is supposed to ignore library functions. Is
> there a way to
> distinguish functions declared and defined by a developer from
> non-local functions (library functions)?
> Thanks.
There is no reliable way to do this, but there are several heuristics
that will probably work well in practice.
When analyzing a program, any function that is defined (i.e., has a
function body) most likely came from the program's source code. The
exception will be functions declared in system header files or C/C++
library header files.
Any function that is declared but not defined (i.e., has no function
body) is either a function that is defined in another translation unit
(i.e., another source file) or defined in a system or language library
(e.g., libc). It is, in general, not possible to distinguish between
the two situations, although if you've linked your entire program into a
single bitcode file, the only external functions are coming from library
functions.
-- John T.
>
> George
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110523/60f12b69/attachment.html>
More information about the llvm-dev
mailing list