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
Stop generating deprecated unsigned opcodes of equality compare and const #4347
Conversation
ae421d9
to
c9560db
Compare
Are any changes required in downstream projects before the ASSERT_FATAL is added? We don't want to break consumers of OMR needlessly. |
c9560db
to
90cd064
Compare
90cd064
to
e36afd5
Compare
Any creation with |
e36afd5
to
02cf2d8
Compare
@wbh123456 since the fatal assert is in another WIP PR can you remove it from here for now then we can at least merge this change to stop generating some of these deprecated opcodes.... |
The fatal asserts for this PR is only asserting the generations of the deprecated |
02cf2d8
to
177f177
Compare
Passed internal testings with OpenJ9 master branch. Should be good for a review. @andrewcraik |
@genie-omr build all |
Appveyor build looks to be infra - dependency download failure. |
The OMR check failures are likely infra errors. @andrewcraik |
@genie-omr build all |
Doing a quick search in OpenJ9 as a major consumer of OMR they have at least one place lest that generates a |
This |
compiler/il/OMRNode.hpp
Outdated
static bool isNotDeprecatedUnsigned(TR::ILOpCodes opvalue) | ||
{ | ||
|
||
TR::ILOpCodes DeprecatedUnsignedList [] = |
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.
per other PRs in your series please convert to a switch statement on the opcode.
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.
Changed the structure of this function in 1a4a32c. Keep the structure consistent with the same function in #4367.
FYI, there are 2 other WIP PRs also introducing the same function using the old structure. I will unWIP those PRs and resolve the conflicts there to update this function once this PR or #4367 has been merged.
1a4a32c
to
7d9723e
Compare
This PR is good for a review. @Leonardo2718 @andrewcraik @vijaysun-omr |
@genie-omr build all |
@@ -13245,7 +13245,7 @@ TR::Node *ificmpneSimplifier(TR::Node * node, TR::Block * block, TR::Simplifier | |||
} | |||
|
|||
if (node->getOpCodeValue() == TR::ificmpne) | |||
intCompareNarrower(node, s, TR::ifsucmpne, TR::ifscmpne, TR::ifbcmpne); | |||
intCompareNarrower(node, s, TR::ifscmpne, TR::ifscmpne, TR::ifbcmpne); //ushortOp is the same as shortOp in this case |
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.
not sure why this needs a comment - the others don't
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.
Not sure why this comment is there. I don't think I wrote that comment. Do you think it is a good idea to just remove it as it does not give much useful information.
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.
looks like you added it, but regardless it is redundant and should be removed IMO.
Modulo the comment issue above - I'm good with this. |
7d9723e
to
9100936
Compare
@genie-omr build all |
9100936
to
83b926a
Compare
@genie-omr build all |
@genie-omr build aix |
Passed all the checks + Passed all the extended internal testings. Should be good for a review. @Leonardo2718 @vijaysun-omr |
This PR maps the creations of any of the following ILOpcodes into appropriate signed version. Note that there isn't any coordinate delivery to this PR. Checks that have been done to ensure correctness and performance:
FYI @andrewcraik |
@genie-omr build all |
@andrewcraik Given #4604, I'm wondering if we can expedite merging this PR? |
@wbh123456 I see a merge commit on Nov 11 I don't think we want that in the history can you just rebase the changes up? @Leonardo2718 I'm fine with the change (as indicated by the approved review) once the merge commit is cleaned up. As long as people have checked we aren't breaking OpenJ9 this should be good to go. If there is a change needed to prevent OpenJ9 breaking then we should make sure that is merged first. |
2782668
to
fbf26e2
Compare
I have properly rebased the changes in fbf26e2. Sorry for the inconvenience I brought. FYI @andrewcraik @Leonardo2718 |
@genie-omr build all |
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
Specifically, remove creation of opcodes in Equality compare and equality compare and branch Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
…equality Add TR_ASSERT_FATAL to ensure there is no more creatation or recreation of node with deprecated opcode in the equality compare and equality compare branch category Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
Signed-off-by: Bohao(Aaron) Wang <aaronwang0407@gmail.com>
fbf26e2
to
14de6f2
Compare
@genie-omr build all |
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.
LGTM 👍
Delete any creations or recreations of node with unsigned deprecated IL opcodes in
Equality compare
/Equality Compare and Branch
/Constant
category.Using
TR_ASSERT_FATAL
to ensure no downstream projects will attempt to use aforementioned opcodes.Issue: #2657
Signed-off-by: Bohao(Aaron) Wang aaronwang0407@gmail.com