[llvm] [DA] do not handle array accesses of different offsets (PR #123436)
Ryotaro Kasuga via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 28 01:21:57 PDT 2025
kasuga-fj wrote:
> I guess it would be easier to untangle this and create separate (stacked) patches for this, so that it's easier to review and maintain (in case we would need to partially revert/recommit some of this later). E.g., it looks like the assumptions addition can be tested in isolation as I see support for it being added to dump functions, i.e. we don't need the offset fix for that.
Does this make sense?
I agree with this. I think this PR started out trying to handle different stride/load/store sizes as much as possible without runtime assumptions, but the approach and implementation has changed and now contains several features that should be split into several patches. IMHO, I prefer the previous approach, i.e., rejecting cases where we need one or more runtime checks. The current implementation looks better than the previous one, so as the first step, it seems reasonable to me to give up cases where we need one or more runtime assumptions (i.e., `UnderRuntimeAssumptions` should be `false` by default). If we do this, we don't need to fix each client of DA.
Note that, if you want `UnderRuntimeAssumptions` to be `true` by default, the fixes for the users of DA (interchange, fuse, etc.) cannot be separated into different patches, this would break correctness.
https://github.com/llvm/llvm-project/pull/123436
More information about the llvm-commits
mailing list