-
Notifications
You must be signed in to change notification settings - Fork 10.5k
LLVMMergeFunctions: allow more parameters if the function is bigger #33331
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
Conversation
We had a fixed limit of 4 added parameters for merged functions. But if a function is big, it makes sense to allow more parameters to be added. Now, derived the maximum number of parameters from the function size. This increases the chances that big functions (which likely require more parameters) are merged.
@swift-ci test |
@swift-ci benchmark |
@swift-ci Please test compiler performance |
Performance: -O
Code size: -OPerformance: -Osize
Code size: -OsizePerformance: -OnoneCode size: -swiftlibs
How to read the dataThe tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.If you see any unexpected regressions, you should consider fixing the Noise: Sometimes the performance results (not code size!) contain false Hardware Overview
|
We had a fixed limit of 4 added parameters for merged functions. But if a function is big, it makes sense to allow more parameters to be added.
Now, the maximum number of parameters is derived from the function size.
This increases the chances that big functions (which likely require more parameters) are merged.