InstSimplify has a folding
(x == y ? a : b) => b
that is valid if the equality can lead to the conclusion.
However, if x and y are pointers, the condition must be more restrictive because x == y being true does not imply that they are truly equivalent values.
This patch fixes InstSimplify to conditionally perform the transformation if they are pointers, using canReplacePointersIfEqual.