The previous versioning speculates the stride to be one. This is
not true for Fortran IR generated by current LLVM Flang. One
example is as follows:
%addr = getelementptr i8, ptr %array, i64 %offset %val = load float, ptr %addr
In this case, the stride unit is 4 bytes, so the stride should be
speculated to be 4. This patch enables stride versioning to support
Fortran IR by compare the access type and Gep result type.
With this patch, Fortran code with pointer array and assumed-shape
array can be stride versioned in LV.