You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reason is that SimplifyWithOpReplaced calls SimplifyCmpInst which folds (gep inbounds a, -1) >u a to false even if AllowRefinement is false.
A solution that I came up with is to add 'AllowRefinement' field to SimplifyQuery as well and let SimplifyICmpInst() stop this folding if the flag is set, but I found that SimplifyQuery is used in many places other than InstructionSimplify.
Would it be still a reasonable solution though?
The text was updated successfully, but these errors were encountered:
Extended Description
This is incorrect: if a = b = null, %res before opt is false whereas the output after opt is poison.
https://alive2.llvm.org/ce/z/SDy_PX
The reason is that SimplifyWithOpReplaced calls SimplifyCmpInst which folds
(gep inbounds a, -1) >u a
tofalse
even if AllowRefinement is false.A solution that I came up with is to add 'AllowRefinement' field to SimplifyQuery as well and let SimplifyICmpInst() stop this folding if the flag is set, but I found that SimplifyQuery is used in many places other than InstructionSimplify.
Would it be still a reasonable solution though?
The text was updated successfully, but these errors were encountered: