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