[Chapel Merge] Get streamPrototype GPU test to operate on vector

Branch: refs/heads/main
Revision: 4e5aa0c
Author: stonea
Log Message:

Merge pull request #18222 from stonea/gpu_streamBlockSizeAndIdxComputation

Get streamPrototype GPU test to operate on vector

Get streamPrototype GPU test to operate on vector. Specifically by: (1) having the kernel launch use a block size equal to the difference between the upper and lower bounds of the loop that we have designated to be extracted into a GPU kernel, and (2) adding IR to compute the index to operate on in the extracted kernel.

For (1) see generateBlockSizeComputation().
For (2) see generateIndexComputation().

[Reviewed by @e-kayrakli]

Modified Files:
M compiler/optimizations/deadCodeElimination.cpp

M test/gpu/native/streamPrototype/gpuOutline.chpl
M test/gpu/native/streamPrototype/gpuOutline.good

Compare: https://github.com/chapel-lang/chapel/compare/84fdb359cda7...4e5aa0cb39d0