-
Notifications
You must be signed in to change notification settings - Fork 11.8k
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
[InstCombine] Miscompilation which simplifies a use of a multi-use freeze #91178
Labels
Comments
dtcxzyw
changed the title
[InstCombine] Miscompilation
[InstCombine] Miscompilation which simplifies a use of a multi-use freeze
May 6, 2024
dtcxzyw
added a commit
that referenced
this issue
May 8, 2024
…1215) See the LangRef: > All uses of a value returned by the same ‘freeze’ instruction are guaranteed to always observe the same value, while different ‘freeze’ instructions may yield different values. It is incorrect to replace freezes with the simplified value. Proof: https://alive2.llvm.org/ce/z/3Dn9Cd https://alive2.llvm.org/ce/z/Qyh5h6 Fixes #91178
AreaZR
pushed a commit
to AreaZR/llvm-project
that referenced
this issue
May 8, 2024
…vm#91215) See the LangRef: > All uses of a value returned by the same ‘freeze’ instruction are guaranteed to always observe the same value, while different ‘freeze’ instructions may yield different values. It is incorrect to replace freezes with the simplified value. Proof: https://alive2.llvm.org/ce/z/3Dn9Cd https://alive2.llvm.org/ce/z/Qyh5h6 Fixes llvm#91178 (cherry picked from commit d085b42) Revert "[InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (llvm#91215)" This reverts commit 1c2eb18d52976fef89972e89c52d2ec5ed7e4868. [InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (llvm#91215) See the LangRef: > All uses of a value returned by the same ‘freeze’ instruction are guaranteed to always observe the same value, while different ‘freeze’ instructions may yield different values. It is incorrect to replace freezes with the simplified value. Proof: https://alive2.llvm.org/ce/z/3Dn9Cd https://alive2.llvm.org/ce/z/Qyh5h6 Fixes llvm#91178 (cherry picked from commit d085b42)
AreaZR
pushed a commit
to AreaZR/llvm-project
that referenced
this issue
May 9, 2024
…vm#91215) See the LangRef: > All uses of a value returned by the same ‘freeze’ instruction are guaranteed to always observe the same value, while different ‘freeze’ instructions may yield different values. It is incorrect to replace freezes with the simplified value. Proof: https://alive2.llvm.org/ce/z/3Dn9Cd https://alive2.llvm.org/ce/z/Qyh5h6 Fixes llvm#91178 (cherry picked from commit d085b42) Revert "[InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (llvm#91215)" This reverts commit 1c2eb18d52976fef89972e89c52d2ec5ed7e4868. [InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (llvm#91215) See the LangRef: > All uses of a value returned by the same ‘freeze’ instruction are guaranteed to always observe the same value, while different ‘freeze’ instructions may yield different values. It is incorrect to replace freezes with the simplified value. Proof: https://alive2.llvm.org/ce/z/3Dn9Cd https://alive2.llvm.org/ce/z/Qyh5h6 Fixes llvm#91178 (cherry picked from commit d085b42)
tstellar
pushed a commit
to AreaZR/llvm-project
that referenced
this issue
May 14, 2024
…vm#91215) See the LangRef: > All uses of a value returned by the same ‘freeze’ instruction are guaranteed to always observe the same value, while different ‘freeze’ instructions may yield different values. It is incorrect to replace freezes with the simplified value. Proof: https://alive2.llvm.org/ce/z/3Dn9Cd https://alive2.llvm.org/ce/z/Qyh5h6 Fixes llvm#91178 (cherry picked from commit d085b42) Revert "[InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (llvm#91215)" This reverts commit 1c2eb18d52976fef89972e89c52d2ec5ed7e4868. [InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (llvm#91215) See the LangRef: > All uses of a value returned by the same ‘freeze’ instruction are guaranteed to always observe the same value, while different ‘freeze’ instructions may yield different values. It is incorrect to replace freezes with the simplified value. Proof: https://alive2.llvm.org/ce/z/3Dn9Cd https://alive2.llvm.org/ce/z/Qyh5h6 Fixes llvm#91178 (cherry picked from commit d085b42)
tstellar
pushed a commit
to AreaZR/llvm-project
that referenced
this issue
May 14, 2024
…vm#91215) See the LangRef: > All uses of a value returned by the same ‘freeze’ instruction are guaranteed to always observe the same value, while different ‘freeze’ instructions may yield different values. It is incorrect to replace freezes with the simplified value. Proof: https://alive2.llvm.org/ce/z/3Dn9Cd https://alive2.llvm.org/ce/z/Qyh5h6 Fixes llvm#91178 (cherry picked from commit d085b42) Revert "[InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (llvm#91215)" This reverts commit 1c2eb18d52976fef89972e89c52d2ec5ed7e4868. [InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (llvm#91215) See the LangRef: > All uses of a value returned by the same ‘freeze’ instruction are guaranteed to always observe the same value, while different ‘freeze’ instructions may yield different values. It is incorrect to replace freezes with the simplified value. Proof: https://alive2.llvm.org/ce/z/3Dn9Cd https://alive2.llvm.org/ce/z/Qyh5h6 Fixes llvm#91178 (cherry picked from commit d085b42)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Reduced test case: https://alive2.llvm.org/ce/z/_JyUGw
The text was updated successfully, but these errors were encountered: