Skip to content
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

[rust] Mark inlined calls to functions in same SCC as callee as noinline #133

Closed
wants to merge 1 commit into from

Conversation

nikic
Copy link

@nikic nikic commented Mar 5, 2022

This fixes the catastrophic inlining issues observed with the new LLVM pass manager. Patch by Arthur Eubanks from https://reviews.llvm.org/D120584.

I had really hoped that we could get this fixed upstream first, but I don't think we can justify waiting any longer here. Upstream maintainers have been blocking patches for this issue for a year now, because they prioritize possible performance impact over a working compiler.

As far as rustc is concerned, this patch is performance-neutral: https://perf.rust-lang.org/compare.html?start=f0c4da49983aa699f715caf681e3154b445fb60b&end=2ee65d3199ddf4ad731e05c7a17a6ccf5becc565

This fixes the catastrophic inlining issues observerd with the new
LLVM pass manager.

Patch by Arthur Eubanks from https://reviews.llvm.org/D120584.
@nagisa
Copy link
Member

nagisa commented Mar 7, 2022

r=me. We can undo it later if needed. This fixes critical issues and the only concern upstream seems to be related to runtime performance hit in nobody knows what test cases really.

@nikic
Copy link
Author

nikic commented Mar 7, 2022

I'll hold off on this for a bit longer, as it looks like we might get an upstream consensus after all.

@nikic
Copy link
Author

nikic commented Mar 9, 2022

Okay, we ended up going with https://reviews.llvm.org/D121084 upstream. I've merged the release branch and put up rust-lang/rust#94764.

@nikic nikic closed this Mar 9, 2022
vext01 pushed a commit to vext01/llvm-project that referenced this pull request Apr 19, 2024
Serialise the new "statically typed" AOT IR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants