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
C++: Don't generate Loads for constant expressions
#14115
C++: Don't generate Loads for constant expressions
#14115
Conversation
| @@ -19,13 +19,11 @@ void m(int i, bool cond, int x, int y) { | |||
| mod(j); // $ mod=0,3,4 | |||
|
|
|||
| if (x % c1 == 3 && y % c1 == 7) { | |||
| // Need implies_v2 | |||
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.
Turns out this didn't actually need implies_v2 😂. Just proper IR!
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.
|
DCA query results looks good; solved 18 FN's and 2 FP's. I think this also reduced IR inconsistencies on One experiment failed, but is seems to be an extraction failure. @MathiasVP Is the changes for unnecessaryPhiInstructions ir concistency check on openzfs something to be concerned about? |
|
Indeed the DCA results look great 🎉. I don't think the new inconsistencies is something to worry about. I'll see what they are just to be sure, though 👀 |
Nothing to blame on this PR. We're simply just generating different IR for a function that's duplicated based on what looks like an ODR violation. For those interested: The difference in IR is because we know realize that this branch is always true (because |
No description provided.