CSU-CS-Melange / alpha-language

Forked from Inria gitlab
MIT License
0 stars 0 forks source link

Fixes to simplification #74

Closed lnarmour closed 5 months ago

lnarmour commented 5 months ago

Removes the RaiseDependence step from OptimalSimplifyingReductions. It is not needed since the ShareSpaceAnalysis provides the same information needed to construct the reuse space. This also removes many of the duplicates reported by OSR.

Changes the SimplifyingReduction.generateCandidateReuseVectors so that it allows cases when the reuse and accumulation space have a non-trivial intersection. This should be allowed per GR06 > Algorithm 2 > Step 6. Before this fix, DP step 6a was not performed (when it should be) if 6b was performed.

lnarmour commented 5 months ago

Actually, note before merging. In generateCandidateReuseVectors, it should probably subtract the accumulation space from the candidate reuse space per GR06 > section 5.3, i.e., $r{E} \in S{E} \setminus ker(f_{p})$.