-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
delete IR for non-inlineable functions after codegen to save memory #16907
Conversation
This seems to be barely a couple percent savings? That seems rather disappointing. Is the large slowdown (esp the 50% on linalg/dense) real or just the usual travis noise? |
b229dfa
to
923cdd2
Compare
Ah, I needed to fix the inlining logic a bit, and now the numbers look better. |
923cdd2
to
e24fec2
Compare
@vtjnash - I think this is ready for final review. |
lgtm |
This will need to be reverted if you can't propose a fix for #16921. |
Ok, ok, give me some time. |
Also, if necessary, you can change |
if (JL_DELETE_NON_INLINEABLE && | ||
li->def && li->inferred && !li->inlineable && !jl_options.outputji) { | ||
li->code = jl_nothing; | ||
li->slottypes = jl_nothing; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we keep slottypes? The debugger uses them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. You can just go ahead and take this line out.
This saves an appreciable amount of memory.
Before:
with this change: