-
Notifications
You must be signed in to change notification settings - Fork 10.5k
SILOptimizer: Peephole to eliminate closures which just apply a witness_method #30689
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
SILOptimizer: Peephole to eliminate closures which just apply a witness_method #30689
Conversation
@swift-ci Please benchmark |
Performance: -O
Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -Onone
Code size: -swiftlibsHow 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
|
7ad7568
to
fefa32c
Compare
@swift-ci Please smoke test |
@swift-ci Please test source compatibility |
fefa32c
to
3fde52a
Compare
@swift-ci Please smoke test |
@swift-ci Please test source compatibility |
3fde52a
to
e8b7a3b
Compare
…ss_method A partial_apply of a function_ref whose body consists of just an apply of a witness_method can be simplified down to a simple partial_apply of the witness_method: sil @foo: %fn = witness_method ... %result = apply %fn(...) return %result sil @bar: %fn = function_ref @foo %closure = partial_apply %fn(...) ===> sil @bar: %fn = witness_method ... %closure = partial_apply %fn(...)
e8b7a3b
to
dcd6c6d
Compare
@swift-ci Please test source compatibility |
@swift-ci Please smoke test |
@swift-ci Please benchmark |
Performance: -O
Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -Onone
Code size: -swiftlibsHow 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
|
Attempting to fix a performance regression from #28698.