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.
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
[ir] [opt] Unify ifloordiv implementation over backends in demote_operations #1771
[ir] [opt] Unify ifloordiv implementation over backends in demote_operations #1771
Changes from 9 commits
3f1c4fb
a5422d9
8e06eb4
bbf9ed3
ae7f4b6
5a6d2de
b63f666
ec5de77
83d1ddb
0f7c8d2
b16abe5
6305b0f
762209d
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Let's move this to just before
Simplified IV
as it can impede other optimizations.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.
So, we only demote_operations in
compile_to_executable
, notcompile_to_offloads
?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.
Yes. We may perform some optimizations after
compile_to_offloads
in async mode.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.
I would suggest not involving
b * r != a
since I don't think we can optimize it out easily.What we need is:
So
((a < 0) == (b < 0) ? a : (a - b + 1)) / b
should be fine.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.
It doesn't work for
a = 2, b = -3
:This is non-trivial, ff2 change it iapr on your own.
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.
Oh, it should be
......
BTW when do we encounter
floordiv
at the frontend? Only whenti.floordiv(a, b)
?Oh,
2 // -3
in Python is -1...