[PATCH] D56837: [IRCE] Support narrow latch condition for wide range checks

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 21 17:59:57 PST 2019


reames requested changes to this revision.
reames added inline comments.
This revision now requires changes to proceed.


================
Comment at: lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp:1071
     return None;
 
   LoopConstrainer::SubRanges Result;
----------------
I can't convince myself this is correct when the IV would overflow.  Can you explain why we don't need some form of overflow check here?  Note that in LoopPredication in isSafeToTruncate, we *do* have an overflow check.


================
Comment at: lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp:1398
   IntegerType *IVTy =
-      cast<IntegerType>(MainLoopStructure.IndVarBase->getType());
 
----------------
I can't justify this change to myself.  Can you explain why this is correct?


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

https://reviews.llvm.org/D56837





More information about the llvm-commits mailing list