martong accepted this revision. martong added a comment. > ... This draws a pattern that we should recursively descend down to the top > most base region. I.e. the different check*RegionAlign methods should call > into each other until we reach the top level base region.
> The observation here is that the alignment of a region can be correct only if > we can prove that its base region is aligned properly (and other > requirements, e.g. the offset is divisible). But the base region may have > another base region and we have to prove the alignment correctness to that as > well. This could be an issue not just with alignment but maybe with the size as well, I am not sure if we handle the offset properly in compound cases like this: `Xi.b[0].a[1][6]`. Even though the above issue is still not investigated/handled, I think this patch is now acceptable because seems like most of the practical cases are handled. We could further investigate the concern and improve in a follow-up patch. I'd like to see this landed and thanks for your work! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76996/new/ https://reviews.llvm.org/D76996 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits