-
Notifications
You must be signed in to change notification settings - Fork 10.8k
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
[optimization] gcc generate better code than clang base on value range propagation #54735
Comments
the issue still exist, https://alive2.llvm.org/ce/z/ZTU2ct |
vfdff
added a commit
to vfdff/llvm-project
that referenced
this issue
Dec 30, 2023
x-y+1 is positive when x > y, so abs (x-y+1) --> x-y+1 Fixes llvm#54735
vfdff
added a commit
to vfdff/llvm-project
that referenced
this issue
Dec 30, 2023
x -nsw y < C is false when x > y and C <= 0 Alive2 proof for sgt, sge, ugt, uge : https://alive2.llvm.org/ce/z/tupvfi Fixes llvm#54735
vfdff
added a commit
to vfdff/llvm-project
that referenced
this issue
Jun 1, 2024
x-y+1 is positive when x > y, so abs (x-y+1) --> x-y+1 Fixes llvm#54735
vfdff
added a commit
to vfdff/llvm-project
that referenced
this issue
Jun 1, 2024
x -nsw y < -C is false when x > y and C >= 0 Alive2 proof for sgt, sge, ugt, uge : https://alive2.llvm.org/ce/z/tupvfi Fixes llvm#54735
vfdff
added a commit
to vfdff/llvm-project
that referenced
this issue
Jun 5, 2024
x-y+1 is positive when x > y, so abs (x-y+1) --> x-y+1 Fixes llvm#54735
vfdff
added a commit
to vfdff/llvm-project
that referenced
this issue
Jun 5, 2024
x -nsw y < -C is false when x > y and C >= 0 Alive2 proof for sgt, sge : https://alive2.llvm.org/ce/z/tupvfi Note: It only really makes sense in the context of signed comparison for "X - Y must be positive if X >= Y and no overflow". Fixes llvm#54735
vfdff
added a commit
to vfdff/llvm-project
that referenced
this issue
Jun 6, 2024
x-y+1 is positive when x > y, so abs (x-y+1) --> x-y+1 Fixes llvm#54735
vfdff
added a commit
to vfdff/llvm-project
that referenced
this issue
Jun 6, 2024
x -nsw y < -C is false when x > y and C >= 0 Alive2 proof for sgt, sge : https://alive2.llvm.org/ce/z/tupvfi Note: It only really makes sense in the context of signed comparison for "X - Y must be positive if X >= Y and no overflow". Fixes llvm#54735
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
after fix the case #54132, the clang still need be improved for some more complex case (see detail on https://godbolt.org/z/xb9Mo85WM ), such as:
The text was updated successfully, but these errors were encountered: