Page MenuHomePhabricator

[Inliner] Attempt to inline calls to alwaysinline functions first

Authored by aeubanks on Sep 27 2021, 6:52 PM.



For PR46945 we added an extra alwaysinline inliner pass that runs before
the normal inliner pass. This was to fix the issue where we have two
mutually recursive functions, one marked alwaysinline, but due to inline
ordering, the other function may have been inlined into the alwaysinline
function first, causing the alwaysinline function to not be inlined into
the other function.

Adding a whole new pass is quite a bit of work. Rather, we can just
choose to handle alwaysinline calls first before inlining normal calls.

Diff Detail

Event Timeline

aeubanks created this revision.Sep 27 2021, 6:52 PM
aeubanks requested review of this revision.Sep 27 2021, 6:52 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptSep 27 2021, 6:52 PM

I'll update the tests if this lg

aeubanks planned changes to this revision.Sep 28 2021, 11:10 AM
aeubanks abandoned this revision.Nov 2 2021, 4:49 PM