-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[Attributor] Do not derive norecurse without looking at all call sites #53884
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
Comments
/cherry-pick 6ed1ef0 |
Failed to cherry-pick: 6ed1ef0 https://github.com/llvm/llvm-project/actions/runs/1855580229 Please manually backport the fix and push it to your github fork. Once this is done, please add a comment like this:
|
/cherry-pick 6ed1ef0 |
Failed to cherry-pick: 6ed1ef0 https://github.com/llvm/llvm-project/actions/runs/1855716837 Please manually backport the fix and push it to your github fork. Once this is done, please add a comment like this:
|
/branch jdoerfert/llvm-projects/issue53884 |
/pull-request llvmbot#80 |
@jdoerfert Can you rebase the issue53884 branch? The patches no longer apply. |
`UsedAssumedInformation` is a return argument utilized to determine what information is known. Most APIs used it already but `genericValueTraversal` did not. This adds it to `genericValueTraversal` and replaces `AllCallSitesKnown` of `checkForAllCallSites` with the commonly used `UsedAssumedInformation`. This was supposed to be a NFC commit, then the test change appeared. Turns out, we had one user of `AllCallSitesKnown` (AANoReturn) and the way we set `AllCallSitesKnown` was wrong as we ignored the fact some call sites were optimistically assumed dead. Included a dedicated test for this as well now. Fixes llvm#53884
`UsedAssumedInformation` is a return argument utilized to determine what information is known. Most APIs used it already but `genericValueTraversal` did not. This adds it to `genericValueTraversal` and replaces `AllCallSitesKnown` of `checkForAllCallSites` with the commonly used `UsedAssumedInformation`. This was supposed to be a NFC commit, then the test change appeared. Turns out, we had one user of `AllCallSitesKnown` (AANoReturn) and the way we set `AllCallSitesKnown` was wrong as we ignored the fact some call sites were optimistically assumed dead. Included a dedicated test for this as well now. Fixes llvm#53884
Merged: f58ab32 |
`UsedAssumedInformation` is a return argument utilized to determine what information is known. Most APIs used it already but `genericValueTraversal` did not. This adds it to `genericValueTraversal` and replaces `AllCallSitesKnown` of `checkForAllCallSites` with the commonly used `UsedAssumedInformation`. This was supposed to be a NFC commit, then the test change appeared. Turns out, we had one user of `AllCallSitesKnown` (AANoReturn) and the way we set `AllCallSitesKnown` was wrong as we ignored the fact some call sites were optimistically assumed dead. Included a dedicated test for this as well now. Fixes llvm#53884
`UsedAssumedInformation` is a return argument utilized to determine what information is known. Most APIs used it already but `genericValueTraversal` did not. This adds it to `genericValueTraversal` and replaces `AllCallSitesKnown` of `checkForAllCallSites` with the commonly used `UsedAssumedInformation`. This was supposed to be a NFC commit, then the test change appeared. Turns out, we had one user of `AllCallSitesKnown` (AANoReturn) and the way we set `AllCallSitesKnown` was wrong as we ignored the fact some call sites were optimistically assumed dead. Included a dedicated test for this as well now. Fixes llvm/llvm-project#53884
Since we did not track the fact that we might have skipped call sites assumed dead in
checkForAllCallSites
we accidentally derivenorecurse
in certain situations.An example (https://godbolt.org/z/oxvcjsaGf):
The text was updated successfully, but these errors were encountered: