f18-llvm-project
f18-llvm-project copied to clipboard
Unnecessary Argument Copies in intrinsic calls
We are making unnecessary copies of arguments to intrinsic calls when the arguments are arrays. This was first exposed with calls to dot product, but there are probably others.
program s integer, parameter :: LONGreal = 8 real (kind = LONGreal), dimension(-1:11) :: x real (kind = LONGreal), dimension(0:12) :: g real (kind = LONGreal) :: gs gs = dot_product(g(0:12:1),x(11:(-1):(-1))) end program