Add a comment to getNewAlignmentDiff.
authorAndrew Trick <atrick@apple.com>
Sun, 7 Sep 2014 23:16:24 +0000 (23:16 +0000)
committerAndrew Trick <atrick@apple.com>
Sun, 7 Sep 2014 23:16:24 +0000 (23:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217350 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/AlignmentFromAssumptions.cpp

index 8b1b0ab063303c506e8c7a8281921a9107e08b1f..a662accf69fbe7d54a8148f14fc03149359b99cb 100644 (file)
@@ -96,8 +96,10 @@ FunctionPass *llvm::createAlignmentFromAssumptionsPass() {
 
 // Given an expression for the (constant) alignment, AlignSCEV, and an
 // expression for the displacement between a pointer and the aligned address,
-// DiffSCEV, compute the alignment of the displaced pointer if it can be
-// reduced to a constant.
+// DiffSCEV, compute the alignment of the displaced pointer if it can be reduced
+// to a constant. Using SCEV to compute alignment handles the case where
+// DiffSCEV is a recurrence with constant start such that the aligned offset
+// is constant. e.g. {16,+,32} % 32 -> 16.
 static unsigned getNewAlignmentDiff(const SCEV *DiffSCEV,
                                     const SCEV *AlignSCEV,
                                     ScalarEvolution *SE) {