Page MenuHomePhabricator

ThinLTO : Import always_inline functions irrespective of the threshold

Authored by Bharathi on Nov 8 2019, 9:37 AM.



A user can force a function to be inlined by specifying the always_inline attribute. Currently, thinlto implementation is not aware of always_inline functions and does not guarantee import of such functions, which in turn can prevent inlining of such functions.

Diff Detail

Event Timeline

Bharathi created this revision.Nov 8 2019, 9:37 AM

I just started to look at this (added a minor comment below) - but could you please re-upload this with full context so that it is easier to review?



hiraditya added inline comments.Nov 8 2019, 9:56 AM

the definition of \#1 and \#0 seems to be missing?

tejohnson added inline comments.Nov 8 2019, 10:39 AM

Probably can just remove the attribute numbers here since they aren't needed.

Bharathi updated this revision to Diff 228498.Nov 8 2019, 11:05 AM

Uploaded with full context and addressed review comments received so far.

Thanks for working on this! One suggestion for test cleanup below.


I don't think you need all these calls to @bar (or any, or the def of @bar). I believe this was from another test that was testing the import-instr-limit. Since you have 0 you don't need anything here.

Bharathi updated this revision to Diff 228501.Nov 8 2019, 11:42 AM
Bharathi marked 4 inline comments as done.

Clean up test case.

tejohnson accepted this revision.Nov 8 2019, 11:53 AM

LGTM thanks!

This revision is now accepted and ready to land.Nov 8 2019, 11:53 AM
This revision was automatically updated to reflect the committed changes.