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
This fold is subtly incorrect, because DL-unaware constant folding
does not know the correct index type to use, and just performs the
addition in the type that happens to already be there. This is
incorrect, since sext(X)+sext(Y) is generally not the same as
sext(X+Y). See the `@constexpr_gep_of_gep_with_narrow_type()` for
a miscompile with the current implementation.
One could try to restrict the fold to cases where no overflow
occurs, but I'm not bothering with that here, because the
DL-aware constant folding will take care of this anyway. I've
only kept the straightforward zero-index case, where we just
concatenate two GEPs.
0 commit comments