[cfe-dev] how to replace function call with actual code of function body?

Robinson, Paul via cfe-dev cfe-dev at lists.llvm.org
Fri Jun 23 12:51:42 PDT 2017


You are describing "function inlining" which is an optimization done by LLVM.  This optimization is performed on the intermediate representation (IR), not at the source level, if that's what you need to know.
--paulr

From: cfe-dev [mailto:cfe-dev-bounces at lists.llvm.org] On Behalf Of Yonggang Chen via cfe-dev
Sent: Thursday, June 22, 2017 9:03 PM
To: cfe-dev at lists.llvm.org
Subject: [cfe-dev] how to replace function call with actual code of function body?
Importance: High

Hello all,

int main()
{
    auto n = 9;
    auto x = cacul(n);
return 0;
}

int cacul(int x)
{
         return x * x + 3;
}

Suppose I have function main(), in which cacul(int x) is called.
Now I want Clang help me do this:

int main()
{
    auto n = 9;
    auto x = n * n + 3;
return 0;
}

int cacul(int x)
{
         return x * x + 3;
}

That's to say, remove reference to cacul. Can Clang help me do that? If so, how to do it?

Best regards
Yonggang Chen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170623/28b17831/attachment.html>


More information about the cfe-dev mailing list