[Issue 23857] backend inliner takes too long on recursive function call

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Jul 23 01:25:38 UTC 2023


https://issues.dlang.org/show_bug.cgi?id=23857

--- Comment #5 from Walter Bright <bugzilla at digitalmars.com> ---
The inliner itself prevents recursive inlining by setting the Finlinenest flag.
But that flag is turned off when scanForInlines() returns. And then the
optimizer calls scanForInlines() again, it inlines again, opening up more
opportunities for other optimizations, and then the optimizer calls it again.

The easy way to fix this is to only call scanForInlines() once per function.

--


More information about the Digitalmars-d-bugs mailing list