[llvm] [LegalizeVectorTypes] Preserve original MemoryOperand and MemVT when widening fixed vector load to vp_load. (PR #109473)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 20 14:55:49 PDT 2024


topperc wrote:

The incorrect size caused us to hit this code in BasicAA.

```
  // If the size of one access is larger than the entire object on the other     
  // side, then we know such behavior is undefined and can assume no alias.      
  bool NullIsValidLocation = NullPointerIsDefined(&F);                           
  if ((isObjectSmallerThan(                                                      
          O2, getMinimalExtentFrom(*V1, V1Size, DL, NullIsValidLocation), DL,    
          TLI, NullIsValidLocation)) ||                                          
      (isObjectSmallerThan(                                                      
          O1, getMinimalExtentFrom(*V2, V2Size, DL, NullIsValidLocation), DL,    
          TLI, NullIsValidLocation)))                                            
    return AliasResult::NoAlias;
```

https://github.com/llvm/llvm-project/pull/109473


More information about the llvm-commits mailing list