-
Notifications
You must be signed in to change notification settings - Fork 396
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
x86: Fix redundant compare elimination #7019
Conversation
jenkins build all |
@0xdaryl Can you review? |
Can you explain why you restrict the search to only instructions generated from the current node? Minor nits:
|
|
Redundant compare elimination is a code generation optimization that attempts to drop redundant compare instructions before a jump. This can happen when the the previous instruction sets condition code flags and is compared with 0. However, some instructions such as DIV and IDIV can modify these flags in undefined ways. This commit lets the code the code generator know that these instructions may modify condition code flags. In addition, the code generator should check if the instruction that modifies these flags belongs to the expected node. Fixes: eclipse-openj9/openj9#17496 Signed-off-by: Bradley Wood <bradley.wood@ibm.com>
Changed commit message |
Jenkins build xlinux,osx,win |
Redundant compare elimination is a code
generation optimization that attempts to drop
redundant compare instructions before a jump.
This can happen when the the previous
instruction sets condition code flags and is
compared with 0. However, some instructions
such as DIV and IDIV can modify these flags
in undefined ways. This commit lets the code
the code generator know that these instructions
may modify condition code flags. In addition,
the code generator should check if the
instruction that modifies these flags belongs
to the expected node.
Fixes: eclipse-openj9/openj9#17496