[mypyc] Generate faster code for bool comparisons and arithmetic#14489
Merged
[mypyc] Generate faster code for bool comparisons and arithmetic#14489
Conversation
Some are still poorly supported, since we'd probably need some heavier weight infrastructure to optimize them. In particular, mixed operations with bool left operands involve unnecessary conversions to/from int. A potential way to fix them would be to remove redundant conversions in an optimization pass, but right now that would be messy to implement.
jhance
approved these changes
Jan 26, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Generate specialized, efficient IR for various operations on bools. These are covered:
Mixed operations where the left operand is a
booland the right operand is a native int still have some unnecessary conversions between native int andint. This would be a bit trickier to fix and is seems rare, so it doesn't seem urgent to fix this.Fixes mypyc/mypyc#968.