[Chapel Merge] Make --report-auto-local-access output more readab

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

Merge pull request #16493 from e-kayrakli/auto-local-access-log

Make --report-auto-local-access output more readable

This PR improves the logging support for the automatic localAccess optimization.

The generated output looks like the following:


Start analyzing forall (dynamicCheckInGenericFunction.chpl:16)
> Found loop domain (dynamicCheckInGenericFunction.chpl:13)
> Will attempt static and dynamic optimizations (dynamicCheckInGenericFunction.chpl:16)
>
>  Start analyzing call (dynamicCheckInGenericFunction.chpl:17)
>   Can optimize: Access base is the iterator's base (dynamicCheckInGenericFunction.chpl:17)
>  This call is a static optimization candidate (dynamicCheckInGenericFunction.chpl:17)
>
>  Start analyzing call (dynamicCheckInGenericFunction.chpl:17)
>   Can't determine the domain of access base (dynamicCheckInGenericFunction.chpl:13)
>  This call is a dynamic optimization candidate (dynamicCheckInGenericFunction.chpl:17)
>
End analyzing forall (dynamicCheckInGenericFunction.chpl:16)

Static check successful. Using localAccess (dynamicCheckInGenericFunction.chpl:17)

where the first phase of the optimization concerns foralls and those are all grouped within |s. And the second phase concerns individual accesses and they are standalone one-liners.

[Reviewed by @ronawho]

Test:

  • [x] standard
  • [x] gasnet

Modified Files:
M compiler/optimizations/preNormalizeOptimizations.cpp
M test/optimizations/autoLocalAccess/allDynamicsFailStatic.good
M test/optimizations/autoLocalAccess/commaDecl.good
M test/optimizations/autoLocalAccess/copyInitDeclaration.good
M test/optimizations/autoLocalAccess/differentButAlignedDoms.good
M test/optimizations/autoLocalAccess/dotDomDeclaration.good
M test/optimizations/autoLocalAccess/dynamicCheckInGenericFunction.good
M test/optimizations/autoLocalAccess/dynamicChecks.good
M test/optimizations/autoLocalAccess/elemAsIndex.good
M test/optimizations/autoLocalAccess/functionArgs.good
M test/optimizations/autoLocalAccess/interveningForallOrOn.good
M test/optimizations/autoLocalAccess/multipleAccessDynamic.good
M test/optimizations/autoLocalAccess/multipleAccessStatic.good
M test/optimizations/autoLocalAccess/nonDomainIter.good
M test/optimizations/autoLocalAccess/oneStaticFailOtherDynamicSuccess.good
M test/optimizations/autoLocalAccess/preventMultiCall.good
M test/optimizations/autoLocalAccess/preventMultiCallIter.good
M test/optimizations/autoLocalAccess/regularCommaDeclaration.good
M test/optimizations/autoLocalAccess/regularDeclaration.good
M test/optimizations/autoLocalAccess/regularDeclaration2D.good
M test/optimizations/autoLocalAccess/staticSuccessDynamicFail.good
M test/optimizations/autoLocalAccess/unalignedSameDist.good
M test/optimizations/autoLocalAccess/withInitializerCall.good
M test/optimizations/autoLocalAccess/zipper/allDynamicsFailStatic.good
M test/optimizations/autoLocalAccess/zipper/commaDecl.good
M test/optimizations/autoLocalAccess/zipper/copyInitDeclaration.good
M test/optimizations/autoLocalAccess/zipper/differentButAlignedDoms.good
M test/optimizations/autoLocalAccess/zipper/dotDomDeclaration.good
M test/optimizations/autoLocalAccess/zipper/dynamicCheckInGenericFunction.good
M test/optimizations/autoLocalAccess/zipper/dynamicChecks.good
M test/optimizations/autoLocalAccess/zipper/elemAsIndex.good
M test/optimizations/autoLocalAccess/zipper/functionArgs.good
M test/optimizations/autoLocalAccess/zipper/interveningForallOrOn.good
M test/optimizations/autoLocalAccess/zipper/multipleAccessDynamic.good
M test/optimizations/autoLocalAccess/zipper/multipleAccessStatic.good
M test/optimizations/autoLocalAccess/zipper/nonDomainIter.good
M test/optimizations/autoLocalAccess/zipper/oneStaticFailOtherDynamicSuccess.good
M test/optimizations/autoLocalAccess/zipper/preventMultiCall.good
M test/optimizations/autoLocalAccess/zipper/preventMultiCallIter.good
M test/optimizations/autoLocalAccess/zipper/regularCommaDeclaration.good
M test/optimizations/autoLocalAccess/zipper/regularDeclaration.good
M test/optimizations/autoLocalAccess/zipper/regularDeclaration2D.good
M test/optimizations/autoLocalAccess/zipper/staticSuccessDynamicFail.good
M test/optimizations/autoLocalAccess/zipper/withInitializerCall.good

Compare: https://github.com/chapel-lang/chapel/compare/5d40724b2171...657c77df428e