-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[GVN] Use after free during load PRE #69301
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
[GVN] Use after free during load PRE #69301
Comments
I believe the problem is that replaceValuesPerBlockEntry() doesn't handle select values. |
replaceValuesPerBlockEntry() only handled simple and coerced load values, however the load may also be referenced by a select value. Additionally, I suspect that the previous code might have been incorrect if a load had an offset, as it always constructed the AvailableValue from scratch. Fixes llvm#69301.
/cherry-pick 7f1733a |
/branch llvm/llvm-project-release-prs/issue69301 |
…314) replaceValuesPerBlockEntry() only handled simple and coerced load values, however the load may also be referenced by a select value. Additionally, I suspect that the previous code might have been incorrect if a load had an offset, as it always constructed the AvailableValue from scratch. Fixes llvm/llvm-project#69301. (cherry picked from commit 7f1733a252cbbad74445bd54dc95aeec52bb3199)
/pull-request llvm/llvm-project-release-prs#742 |
@owenca Please, can you fix whatever is causing your account to spuriously close issues? |
Sorry about that! I really don't understand why your issue got closed when I pushed to another repo. I'll stop pushing to it until I can figure it out. |
…m#69314) replaceValuesPerBlockEntry() only handled simple and coerced load values, however the load may also be referenced by a select value. Additionally, I suspect that the previous code might have been incorrect if a load had an offset, as it always constructed the AvailableValue from scratch. Fixes llvm#69301. (cherry picked from commit 7f1733a)
/branch nikic/llvm-project/gvn-backport |
/pull-request llvm/llvm-project-release-prs#758 |
…314) replaceValuesPerBlockEntry() only handled simple and coerced load values, however the load may also be referenced by a select value. Additionally, I suspect that the previous code might have been incorrect if a load had an offset, as it always constructed the AvailableValue from scratch. Fixes llvm/llvm-project#69301. (cherry picked from commit 7f1733a252cbbad74445bd54dc95aeec52bb3199)
Produces a use after free.
The text was updated successfully, but these errors were encountered: