[PATCH] D108048: [DependenceAnalysis] Conservatively exit on type mismatch

Artem Radzikhovskyy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 31 13:55:12 PDT 2021


artemrad marked 10 inline comments as done.
artemrad added inline comments.


================
Comment at: llvm/lib/Analysis/DependenceAnalysis.cpp:3494-3498
+    /// depends - Tests for a dependence between the Src and Dst instructions.
+    /// Returns NULL if no dependence; otherwise, returns a Dependence (or a
+    /// FullDependence) with as much information as can be gleaned.
+    /// If PossiblyLoopIndependant is true will also test for intra-iteration 
+    /// dependencies.
----------------
Meinersbur wrote:
> Did you intend to replace the non-doxygen comment for `depends`?
Nope.


================
Comment at: llvm/lib/Analysis/DependenceAnalysis.cpp:3583
+    // Don't know the alignment, be conservative
+    if (Alignment == 0)
+      Alignment = DL->getABITypeAlign(IType).value();
----------------
efriedma wrote:
> Load/store instructions were fixed so alignment can't be zero.
> 
> You can use "LI->getAlign()" to get an llvm::Align instead of an unsigned.
Didn't know this. Neat. Fixed. 


================
Comment at: llvm/lib/Analysis/DependenceAnalysis.cpp:3598
+  TypeSize SrcWriteSize = DL.getTypeStoreSize(GetMemOperandType(Src));
+  TypeSize DstWriteSize = DL.getTypeStoreSize(GetMemOperandType(Dst));
+
----------------
nikic wrote:
> Why does this check the type store size of the pointer type, rather than the accessed type?
Good catch. I missed this. Fixed


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108048/new/

https://reviews.llvm.org/D108048



More information about the llvm-commits mailing list