[Chapel Merge] Enable automatic local access for slice and rank-c

Branch: refs/heads/master
Revision: 1686099
Author: e-kayrakli
Log Message:

Merge pull request #17009 from e-kayrakli/ala-improvements

Enable automatic local access for slice and rank-change array views

I limited the automatic local access optimization to non-views, mostly because
of abundance of caution. This PR enables the optimization for slices and
rank-changes by adding

override proc dsiSupportsAutoLocalAccess() param { return true; }

in relevant places, and dropping a check from the module support that was
against optimizing array views.

Reindex views have an interesting behavior that I am still looking into, but for
now, they don’t support automatic local access. This behavior is recorded
here: https://github.com/Cray/chapel-private/issues/1620

[Reviewed by @bradcray]

Test:

  • [x] standard
  • [x] gasnet

Modified Files:
A test/arrays/rankChange/rankChangeEqualDMaps.chpl
A test/arrays/rankChange/rankChangeEqualDMaps.good
A test/arrays/rankChange/rankChangeEqualDMaps.numlocales
A test/optimizations/autoLocalAccess/views.chpl
A test/optimizations/autoLocalAccess/views.good
A test/optimizations/autoLocalAccess/zipper/views.chpl
A test/optimizations/autoLocalAccess/zipper/views.good
M modules/internal/ArrayViewRankChange.chpl
M modules/internal/ChapelAutoLocalAccess.chpl
M test/optimizations/autoLocalAccess/regularDeclaration.chpl

Compare: Comparing 111d1c528ffa...1686099ad2d7 · chapel-lang/chapel · GitHub