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

David Blaikie via cfe-dev cfe-dev at lists.llvm.org
Sat Jun 24 09:35:31 PDT 2017


On Fri, Jun 23, 2017, 12:52 PM Robinson, Paul via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> 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.
>

I think Yonggang might be looking for a refactoring/source modification,
rather than an optimization, but I'm not sure.

--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
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170624/3d006120/attachment.html>


More information about the cfe-dev mailing list