I might be wrong, but I think the main issue here is that we
earlied out of foldOffsetIntoAddress if Offset is 0. But if we
just found a symbolic displacement and AM.Disp became non-zero
earlier, we still need to validate that AM.Disp with the symbolic
displacement.
This passes fold-add-pcrel.ll.
everying -> everything
int64_t Val = AM.Disp + Offset; can be placed immediately below the comment.